步骤 1:设置权限 - Amazon QuickSight

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

步骤 1:设置权限

 适用于:企业版 
   目标受众:Amazon QuickSight 开发者 

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

每个访问视觉对象的用户都扮演一个角色,授予他们 Amazon QuickSight 访问该视觉对象的权限和权限。要使之成为可能,请在中创建一个IAM角色 AWS 账户。将IAM策略与角色关联以向担任该角色的任何用户提供权限。

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

要限制开发者可以使用此参数的域名,请在您的IAM政策中添加一个AllowedEmbeddingDomains条件。有关AllowedDomains参数的更多信息,请参阅 Amazon QuickSight API 参考GenerateEmbedUrlForAnonymousUser中的。

以下示例策略提供了可用于 GenerateEmbedUrlForAnonymousUser 的这些权限。要让这种方法发挥作用,您的 AWS 账户还需要会话包或会话容量定价。否则,当用户尝试访问视觉对象时,会返回 UnsupportedPricingPlanException 错误。

{ "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身份必须具有与之关联的信任策略,才能允许访问您刚刚创建的角色。这意味着,在用户访问您的应用程序时,您的应用程序可以代表用户代入该角色打开视觉对象。下面演示了一个示例信任策略。

{ "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中的临时安全证书