步骤 1:设置权限 - Amazon QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 1:设置权限

在下一节中,您可以找到如何为后端应用程序或 Web 服务器设置权限以嵌入生成式问答体验。此任务需要对 Amazon Identity and Access Management (IAM) 的管理权限。

每位访问生成式问答体验的用户都扮演一个角色,为他们授予 Amazon QuickSight 访问权限和权限。要实现这一点,请在您的中创建一个 IAM 角色 Amazon Web Services 账户。将一个 IAM policy 与该角色相关联,以便为担任该角色的任何用户提供权限。IAM 角色需要提供权限才能检索特定用户群体的嵌入 URL。

借助通配符 *,您可以授予为特定命名空间中的所有用户生成 URL 的权限。您也可以授予为特定命名空间中的一部分用户生成 URL 的权限。为此,请添加 quicksight:GenerateEmbedUrlForRegisteredUser

您可以在 IAM policy 中创建一个条件,限制开发人员可以在 GenerateEmbedUrlForRegisteredUser API 操作的 AllowedDomains 参数中列出的域。AllowedDomains 参数是可选参数。它允许开发者选择覆盖在 QuickSight “管理” 菜单中配置的静态域,而是列出最多三个可以访问生成的 URL 的域名或子域名。然后,此 URL 会嵌入开发人员的网站。只有参数中列出的域才能访问嵌入式生成问答体验。如果没有此条件,开发人员可以在 AllowedDomains 参数中列出互联网上的任何域。

要限制开发人员可用于此参数的域,请在 IAM policy 中添加一个 AllowedEmbeddingDomains 条件。有关AllowedDomains参数的更多信息,请参阅 Amazon QuickSight API 参考GenerateEmbedUrlForRegisteredUser中的。

以下示例策略提供了这些权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForRegisteredUser" ], "Resource": "arn:partition:quicksight:region:accountId:user/namespace/userName", "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } } ] }

另外,如果您要创建将成为Amazon QuickSight 读者的首次用户,请务必在策略中添加quicksight:RegisterUser权限。

以下示例策略为即将成为 QuickSight 读者的首次用户提供了检索嵌入网址的权限。

{ "Version": "2012-10-17", "Statement": [ { "Action": "quicksight:RegisterUser", "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForRegisteredUser" ], "Resource": [ "arn:partition:quicksight:region:accountId:user/namespace/userName" ], "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } } ] }

最后,您应用程序的 IAM 身份必须具有关联的信任策略,才允许访问您刚创建的角色。这意味着,当用户访问您的应用程序时,您的应用程序可以代表该用户担任该角色并在中 QuickSight配置用户。

下面演示了一个示例信任策略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLambdaFunctionsToAssumeThisRole", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "AllowEC2InstancesToAssumeThisRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

有关 OpenID Connect 或安全断言标记语言(SAML)身份验证的信任策略的更多信息,请参阅《IAM 用户指南》的以下章节: