步骤 1:设置权限
重要
Amazon QuickSight 推出了用于嵌入分析的新 API:GenerateEmbedUrlForAnonymousUser
和 GenerateEmbedUrlForRegisteredUser
。
您仍然可以使用 GetDashboardEmbedUrl
和 GetSessionEmbedUrl
API 来嵌入控制面板和 QuickSight 控制台,但其不包含最新的嵌入功能。有关最新的嵌入体验,请参阅 将 QuickSight 分析嵌入到您的应用程序中。
在下节中,您可以了解如何设置后端应用程序或 Web 服务器的权限。该任务需要具有 IAM 的管理访问权限。
访问控制面板的每个用户代入一个角色,以便为其授予 Amazon QuickSight 访问权限和控制面板权限。要实现该目的,请在您的 AWS 账户中创建一个 IAM 角色。将一个 IAM policy 与该角色相关联,以便为担任该角色的任何用户提供权限。IAM 角色需要提供检索控制面板 URL 的权限。为此,请添加 quicksight:GetDashboardEmbedUrl
。
以下示例策略提供了可用于 IdentityType=IAM
的这些权限。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:GetDashboardEmbedUrl" ], "Resource": "*" } ] }
以下示例策略提供了检索控制面板 URL 的权限。如果您要创建将成为 QuickSight 读者的新手用户,请将此策略与 quicksight:RegisterUser
结合使用。
{ "Version": "2012-10-17", "Statement": [ { "Action": "quicksight:RegisterUser", "Resource": "*", "Effect": "Allow" }, { "Action": "quicksight:GetDashboardEmbedUrl", "Resource": "*", "Effect": "Allow" } ] }
如果您使用 QUICKSIGHT
作为您的 identityType
,并提供用户的 Amazon 资源名称(ARN),则还需要在策略中允许 quicksight:GetAuthCode
操作。以下示例策略提供了此权限。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:GetDashboardEmbedUrl", "quicksight:GetAuthCode" ], "Resource": "*" } ] }
您应用程序的 IAM 身份必须具有关联的信任策略,才允许访问您刚创建的角色。这意味着,在用户访问您的应用程序时,您的应用程序可以代表用户代入该角色,并在 QuickSight 中预置用户。以下示例显示了一个名为 embedding_quicksight_dashboard_role
的角色,该角色将前面的示例策略作为其资源。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::11112222333:role/
embedding_quicksight_dashboard_role
" } }
有关 OpenId Connect 或 SAML 身份验证的信任策略的更多信息,请参阅 IAM 用户指南 的以下部分: