步骤 1:设置权限 - Amazon QuickSight

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

步骤 1:设置权限

注意

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

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

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

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

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

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

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

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

您应用程序的 IAM 身份必须具有关联的信任策略,才允许访问您刚创建的角色。这意味着,在用户访问您的应用程序时,您的应用程序可以代表用户代入该角色,以打开 Q 搜索栏。下面演示了一个示例信任策略。

{ "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" } ] }

有关信任策略的更多信息,请参阅《IAM 用户指南》中的 IAM 临时安全凭证