授权连接到 Amazon Athena - Amazon QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

授权连接到 Amazon Athena

如果您需要将 Amazon QuickSight 与 Amazon Athena 或 Amazon Athena 联合查询一起使用,则首先需要授权连接到 Athena 和 Amazon Simple Storage Service(Amazon S3)中的相关存储桶。Amazon Athena 是一种交互式查询服务,方便使用标准 SQL 分析 Amazon S3 的数据。Athena 联合查询通过使用提供对更多类型数据的访问权限。 Amazon Lambda使用从连接 QuickSight 到 Athena,您可以编写 SQL 查询,以便查询存储在关系数据来源、非关系数据来源、对象数据来源和自定义数据来源中的数据。有关更多信息,请参阅《Amazon Athena 用户指南》中的使用 Athena 联合查询

在设置对 Athena 进行访问时,请查看以下注意事项: QuickSight

  • Athena 将 QuickSight 来自存储桶存储在存储桶中。默认情况下,此存储桶的名称类似于 aws-athena-query-results-AWSREGION-AWSACCOUNTID,例如 aws-athena-query-results-us-east-2-111111111111。因此,请务必确保 QuickSight 有权访问 Athena 当前正在使用的存储桶。

  • 如果数据文件是使用 Amazon KMS 密钥加密的,请为 QuickSight Amazon IAM 角色授予解密密密钥的权限。执行该操作的最简单方法是使用 Amazon CLI。

    您可以在中运行 KMS create-grant API 操作 Amazon CLI 来执行此操作。

    aws kms create-grant --key-id <KMS_KEY_ARN> / --grantee-principal <QS_ROLE_ARN> --operations Decrypt

    Amazon QuickSight 角色的 Amazon 资源名称(ARN)具有以下格式arn:aws:iam::<account id>:role/service-role/aws-quicksight-s3-consumers-role-v<version number>,可以从 IAM 控制台访问。要查找您的 KMS 密钥 ARN,请使用 S3 控制台。转到包含数据文件的存储桶,然后选择概述选项卡。密钥位于 KMS 密钥 ID 旁边。

  • 对于 Amazon Athena、Amazon S3 和 Athena Query Federation 连接 QuickSight ,默认使用以下 IAM 角色:

    arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-s3-consumers-role-v0

    如果aws-quicksight-s3-consumers-role-v0不存在,则 QuickSight 使用:

    arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-service-role-v0
  • 如果您为用户分配了范围缩小策略,请验证这些策略是否包含 lambda:InvokeFunction 权限。如果没有此权限,您的用户将无法访问 Athena 联合查询。有关在中为您的用户分配 IAM policy 的更多信息 QuickSight,请参阅通过 IAM 设置对 Amazon 服务的精细访问权限。有关 lambda: InvokeFunction 权限的更多信息,请参阅 IAM 用户指南 Amazon Lambda中的操作、资源和条件键

授权连接 A QuickSight thena 或 Athena 联合数据来源
  1. (可选)如果您将 Amazon Lake Formation 与 Athena 一同使用,则还需要启用 Lake Formation。有关更多信息,请参阅 通过授权连接 Amazon Lake Formation

  2. 打开右上角的配置文件菜单,然后选择管理 QuickSight。您必须是 QuickSight 管理员才能执行此操作。如果您在配置文件菜单 QuickSight上看不到管理,则说明您没有足够的权限。

  3. 选择安全和权限添加或删除

  4. 选择 Amazon Athena 附近的方框,单击下一步

    如果它已经启用,则可能需要双击它。即使 Amazon Athena 已启用,也要执行此操作,这样您就可以查看设置了。在此过程结束且选择更新之前,不会保存任何更改。

  5. 启用您要访问的 S3 存储桶。

  6. (可选)要启用 Athena 联合查询,请选择要使用的 Lambda 函数。

    注意

    您只能在的同一区域中查看 Athena 目录的 Lambda 函数。 QuickSight

  7. 确认您所做的更改,选择完成

    要取消,请选择取消

  8. 要保存对安全和权限的更改,选择更新

测试连接授权设置
  1. 在起 QuickSight 始页面上,选择数据集新建数据集

  2. 选择 Athena 卡。

  3. 按照屏幕上的提示,使用您需要连接的资源创建新的 Athena 数据来源。选择验证连接以测试连接。

  4. 如果连接有效,则表示您已成功配置了 Athena 或 Athena 联合查询连接。

    如果您没有足够的权限连接到 Athena 数据集或运行 Athena 查询,则会显示一条错误消息,引导您联系管理员。 QuickSight 此错误意味着需要重新检查您的连接授权设置以发现差异。

  5. 成功连接后,您或您的 QuickSight 作者可以创建数据来源连接并与其他 QuickSight 作者共享。然后,作者可以通过连接创建多个数据集,以在 QuickSight 控制面板中使用。

    有关 Athena 问题排查的更多信息,请参阅 在亚马逊上使用亚马逊 Athena 时出现连接问题 QuickSight