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

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

步骤 1:设置权限

注意

嵌入式 QuickSight Q 搜索栏提供经典的 QuickSight 问答体验。 QuickSight 与 Amazon Q Business 集成,推出全新的生成式问答体验。建议开发者使用全新的生成式问答体验。有关嵌入式生成式问答体验的更多信息,请参阅将 Amazon Q 嵌入 QuickSight 生成式问答体验中

在以下部分中,您可以了解如何设置后端应用程序或 Web 服务器的权限来嵌入 Q 搜索栏。此任务需要对 Amazon Identity and Access Management (IAM) 的管理权限。

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

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

您可以在 IAM policy 中创建一个条件,限制开发人员可以在 GenerateEmbedUrlForRegisteredUser API 操作的 AllowedDomains 参数中列出的域。AllowedDomains 参数是可选参数。它允许开发者选择覆盖在 QuickSight “管理” 菜单中配置的静态域,而是列出最多三个可以访问生成的 URL 的域名或子域名。然后,此 URL 会嵌入开发人员的网站。只有参数中列出的域才能访问嵌入式 Q 搜索栏。如果没有此条件,开发人员可以在 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 用户指南》的以下章节: