授权连接到 Amazon Athena - Amazon QuickSight

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

授权连接到 Amazon Athena

如果您需要将亚马逊 QuickSight 与 Amazon Athena 联合查询一起使用, Amazon Athena 则首先需要授权连接到 Athena 以及亚马逊简单存储服务 (Amazon S3) Simple Storage Service 中的关联存储桶。Amazon Athena 是一项交互式查询服务,可以轻松地使用标准直接在 Amazon S3 中分析数据。SQLAthena Federated Query 可通过使用访问更多类型的数据。 AWS Lambda使用与 Athena 的连接,您可以SQL编写查询来查询存储在关系、非关系、对象和自定义数据源 QuickSight 中的数据。有关更多信息,请参阅《Amazon Athena 用户指南》中的使用 Athena 联合查询

设置从 Athena 访问权限时,请查看以下注意事项: QuickSight

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

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

    您可以在中运行KMS创建-授予API操作 AWS 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 附近。

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

授权连接 QuickSight 到 Athena 或 Athena 联合数据源
  1. (可选)如果您使用的是 Athena AWS Lake Formation ,则还需要启用 Lake Formation。有关更多信息,请参阅 通过以下方式授权连接 AWS 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