在 Athena 中使用可信身份传播 - Amazon QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Athena 中使用可信身份传播

可信身份传播允许 Amazon 服务根据用户的身份上下文访问 Amazon 资源,并安全地与其他 Amazon 服务共享该用户的身份。这些功能让用户可以更轻松地定义、授予和记录访问权限。

当管理员配置 Athena QuickSight、Amazon S3 访问权限授予 Amazon Lake Formation 和 IAM Identity Center 时,他们现在可以在这些服务之间启用可信身份传播,并允许跨服务传播用户的身份。当 IAM 身份中心用户访问数据时,Athena 或 Lake Formation 可以使用组织的身份提供商为其用户或群组成员资格定义的权限来做出授权决定。 QuickSight

仅当通过 Lake Formation 管理权限时,Athena 的可信身份传播才有效。用户对数据的权限位于 Lake Formation 中。

先决条件

在开始之前,请确保已完成以下必需的先决条件。

重要

在完成以下先决条件时,请注意,您的 IAM 身份中心实例、Athena 工作组、Lake Formation 和 Amazon S3 访问授权必须全部部署在同一区域。 Amazon

  • 使用 IAM 身份中心配置您的 QuickSight 账户。只有与 IAM Identity Center 集成的 QuickSight 账户才支持可信身份传播。有关更多信息,请参阅 使用 IAM 身份中心配置您的亚马逊 QuickSight 账户

    注意

    要创建 Athena 数据源,您必须是使用 IAM 身份中心的账户中的 IAM 身份中心用户(作者)。 QuickSight

  • 启用了 IAM 身份中心的 Athena 工作组。您使用的 Athena 工作组必须使用与账户相同的 IAM 身份中心实例。 QuickSight 有关配置 Athena 工作组的更多信息,请参阅创建启用 IAM 身份中心的 Athena 工作组。 在《亚马逊 Athena 用户指南》中。

  • Athena 查询结果存储桶的访问权限由 Amazon S3 访问权限授予进行管理。有关更多详细信息,请参阅 Amazon S3 用户指南中的使用 Amazon S3 访问授权管理访问权限。如果您的查询结果使用 Amazon KMS 密钥加密,则 Amazon S3 访问权限授予 IAM 角色和 Athena 工作组角色都需要权限。 Amazon KMS

  • 必须使用 Lake Formation 管理数据权限,并且必须使用与 Athena 工作组相同的 IAM 身份中心实例配置 Lake Formation。 QuickSight 有关配置信息,请参阅《Amazon Lake Formation 开发人员指南》中的 Integrating IAM Identity Center

  • 数据湖管理员需要向 Lake Formation 中的 IAM 身份中心用户和群组授予权限。有关更多详细信息,请参阅Amazon Lake Formation 开发人员指南中的向用户和群组授予权限

  • QuickSight 管理员需要授权与 Athena 的连接。有关更多信息,请参阅 授权连接到 Amazon Athena。请注意,通过可信身份传播,您无需向 QuickSight 角色授予 Amazon S3 存储桶权限或 Amazon KMS 权限。您需要将有权访问 Athena 中的工作组的用户和群组与存储查询结果的 Amazon S3 存储桶保持同步,该存储桶具有 Amazon S3 访问授予权限,以便用户可以使用可信身份传播在 Amazon S3 存储桶中成功运行查询和检索查询结果。

为 IAM 角色配置所需权限

要在 Athena 中使用可信身份传播, QuickSight 您的账户必须具有访问资源所需的权限。要提供这些权限,您必须将您的 QuickSight 账户配置为使用具有这些权限的 IAM 角色。

如果您的 QuickSight 账户已经在使用自定义 IAM 角色,则可以修改该角色。如果您没有现有 IAM 角色,请按照 IAM 用户指南中为 IAM 用户创建角色中的说明创建一个

您创建或修改的 IAM 角色必须包含以下信任策略和权限。

必需的信任政策

有关更新 IAM 角色的信任策略的信息,请参阅更新角色信任策略

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "QuickSightandAthenaTrust", "Effect": "Allow", "Principal": { "Service": "quicksight.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }

所需的 Athena 权限

有关更新 IAM 角色的信任策略的信息,请参阅更新角色的权限

注意

Resource使用*通配符。我们建议您对其进行更新,使其仅包含您想要使用的 Athena 资源。 QuickSight

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:CancelQueryExecution", "athena:GetCatalogs", "athena:GetExecutionEngine", "athena:GetExecutionEngines", "athena:GetNamespace", "athena:GetNamespaces", "athena:GetQueryExecution", "athena:GetQueryExecutions", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:GetTable", "athena:GetTables", "athena:ListQueryExecutions", "athena:RunQuery", "athena:StartQueryExecution", "athena:StopQueryExecution", "athena:ListWorkGroups", "athena:ListEngineVersions", "athena:GetWorkGroup", "athena:GetDataCatalog", "athena:GetDatabase", "athena:GetTableMetadata", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:ListTableMetadata" ], "Resource": "*" } ] }

将您的 QuickSight 账户配置为使用 IAM 角色

在上一步中配置 IAM 角色后,您必须配置您的 QuickSight 账户才能使用该角色。有关如何执行此操作的信息,请参阅使用亚马逊中的现有 IAM 角色 QuickSight

使用更新身份传播配置 Amazon CLI

QuickSight 要授权将最终用户身份传播到 Athena 工作组,请从中 Amazon CLI运行以update-identity-propagation-config下 API,替换以下值:

  • us-west-2替换为您的 IAM 身份中心实例所在的 Amazon 区域。

  • 111122223333替换为您的 Amazon 账户 ID。

aws quicksight update-identity-propagation-config \ --service ATHENA \ --region us-west-2 \ --aws-account-id 111122223333

在中创建 Athena 数据集 QuickSight

现在,创建一个 Athena 数据集,配置为要 QuickSight 连接的启用 IAM 身份中心的 Athena 工作组。有关如何创建 Athena 数据集的信息,请参阅。使用 Amazon Athena 数据创建数据集

关键标注、注意事项和限制

以下列表包含与 QuickSight 和 Athena 一起使用可信身份传播时的一些重要注意事项。

  • QuickSight 使用可信身份传播的 Athena 数据源已根据 IAM 身份中心最终用户和该用户可能属于的 IAM 身份中心群组进行评估 Lake Formation 权限。

  • 使用使用可信身份传播的 Athena 数据源时,我们建议在 Lake Formation 中进行任何微调的访问控制。但是,如果您选择使用 QuickSight范围缩小策略功能,则将根据最终用户对缩小范围的策略进行评估。

  • 使用可信身份传播的数据源和数据集禁用以下功能:SPICE 数据集、数据源上的自定义 SQL、阈值警报、电子邮件报告、Q 主题、故事、场景、CSV、Excel 和 PDF 导出、异常检测。

  • 如果您遇到高延迟或超时,可能是由于 IAM 身份中心群组、Athena 数据库、表和 Lake Formation 规则数量众多。我们建议尝试仅使用必要数量的资源。