授权连接到 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 联合查询。
在设置从 QuickSight 对 Athena 进行的访问时,请查看以下注意事项:
-
Athena 将来自 QuickSight 的查询结果存储在存储桶中。默认情况下,此存储桶的名称类似于
aws-athena-query-results-AWSREGION-AWSACCOUNTID,例如aws-athena-query-results-us-east-2-111111111111。因此,请务必确保 QuickSight 有权访问 Athena 当前正在使用的存储桶。 如果数据文件是使用 Amazon KMS 密钥加密的,请为 Amazon QuickSight IAM 角色授予解密密钥的权限。执行该操作的最简单方法是使用 Amazon CLI。
您可以在 Amazon CLI 中运行 KMS create-grant API 操作来执行此操作。
aws kms create-grant --key-id <KMS_KEY_ARN> / --grantee-principal<QS_ROLE_ARN>--operations DecryptAmazon 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 联合查询。有关在 QuickSight 中为您的用户分配 IAM 策略的更多信息,请参阅 通过 IAM 设置对 Amazon 服务的精细访问权限。有关 lambda:InvokeFunction 权限的更多信息,请参阅《IAM 用户指南》中的 Amazon Lambda 的操作、资源和条件键。
授权 QuickSight 以连接到 Athena 或 Athena 联合数据来源
-
(可选)如果您将 Amazon Lake Formation 与 Athena 一同使用,则还需要启用 Lake Formation。有关更多信息,请参阅 通过 Amazon Lake Formation 授权连接。
-
打开右上角的配置文件菜单,然后选择管理 QuickSight。您必须是 QuickSight 管理员才能执行此操作。如果您在配置文件菜单上看不到管理 QuickSight,则说明您没有足够的权限。
-
选择安全和权限、添加或删除。
-
选择 Amazon Athena 附近的方框,单击下一步。
如果它已经启用,则可能需要双击它。即使 Amazon Athena 已启用,也要执行此操作,这样您就可以查看设置了。在此过程结束且选择更新之前,不会保存任何更改。
-
启用您要访问的 S3 存储桶。
-
(可选)要启用 Athena 联合查询,请选择要使用的 Lambda 函数。
注意
您只能在 QuickSight 的同一区域中查看 Athena 目录的 Lambda 函数。
-
确认您所做的更改,选择完成。
要取消,请选择取消。
-
要保存对安全和权限的更改,选择更新。
测试连接授权设置
-
在 QuickSight 起始页上,选择数据集、新数据集。
-
选择 Athena 卡。
-
按照屏幕上的提示,使用您需要连接的资源创建新的 Athena 数据来源。选择验证连接以测试连接。
-
如果连接有效,则表示您已成功配置了 Athena 或 Athena 联合查询连接。
如果您没有足够的权限连接到 Athena 数据集或运行 Athena 查询,则会显示一条错误消息,引导您联系 QuickSight 管理员。此错误意味着需要重新检查您的连接授权设置以发现差异。
-
成功连接后,您或您的 QuickSight 作者可以创建数据来源连接并与其他 QuickSight 作者共享。然后,作者可以通过连接创建多个数据集,以在 QuickSight 控制面板中使用。
有关 Athena 问题排查的更多信息,请参阅 在 Amazon QuickSight 中使用 Amazon Athena 时出现的连接问题。