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

重要:我们已经重新设计了 Amazon QuickSight 分析工作空间。您可能会遇到无法反映 QuickSight 控制台新外观的屏幕截图或程序化文本。我们正在更新屏幕截图和过程文本。

要查找特征或项目,请使用快速搜索栏

有关新外观 QuickSight的更多信息,请参阅在 Amazon 上引入全新的分析体验 QuickSight

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

授权连接到 Amazon Athena

如果您需要将亚马逊 QuickSight 与 Amazon Athena 联合查询一起使用, Amazon Athena 则首先需要授权连接到 Athena 以及亚马逊简单存储服务 (Amazon S3) Simple Storage Service 中的关联存储桶。Amazon Athena 是一种交互式查询服务,方便使用标准 SQL 分析 Amazon S3 的数据。通过使用 Athena 联合查询,可以访问更多类型的数据。 Amazon Lambda使用与 Athena 的 QuickSight 连接,您可以编写 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 创建授权 API 操作 Amazon CLI 来执行此操作。

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

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

  • 对于亚马逊 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 策略的更多信息 QuickSight,请参阅通过 IAM 设置对 Amazon 服务的精细访问权限。有关 lambda: InvokeFunction 权限的更多信息,请参阅 IAM 用户指南 Amazon Lambda中的操作、资源和条件键

授权连接 QuickSight 到 Athena 或 Athena 联合数据源
  1. (可选)如果您使用的是 Athena Amazon Lake Formation ,则还需要启用 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