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

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

步骤 1:设置权限

在下节中,您可以了解如何设置后端应用程序或 Web 服务器的权限。该任务需要具有 IAM 的管理访问权限。

每个访问的用户都扮演一个 QuickSight 角色,该角色授予他们 Amazon QuickSight 访问权限和控制台会话权限。要实现该目的,请在您的亚马逊云科技账户中创建一个 IAM 角色。将一个 IAM policy 与该角色相关联,以便为担任该角色的任何用户提供权限。添加quicksight:RegisterUser权限以确保读者能够以只读方式进行访问 QuickSight ,而无权访问任何其他数据或创建功能。IAM 角色还需要提供检索控制台会话 URL 的权限。为此,请添加 quicksight:GenerateEmbedUrlForRegisteredUser

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

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

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

以下示例策略提供了检索控制台会话 URL 的权限。如果您在用户访问嵌入式会话之前创建用户,则可以使用不具有 quicksight:RegisterUser 的策略。

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

最后,您应用程序的 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 用户指南 的以下部分: