本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
无法连接到 Amazon Athena
目标受众:Amazon QuickSight 管理员 |
要帮助排查与 Athena 连接的问题,请参阅本节内容。
如果无法连接到 Amazon Athena,您可能会在运行查询时遇到权限不足错误,显示权限未配置。要验证您是否可以将亚马逊连接 QuickSight 到 Athena,请检查以下设置:
AWS Amazon 内部的资源权限 QuickSight
AWS Identity and Access Management (IAM) 政策
Amazon S3 位置
查询结果位置
AWS KMS 密钥策略(仅适用于加密数据集)
有关详细信息,请参阅以下内容。有关排查 Athena 中其他问题的信息,请参阅 在亚马逊上使用亚马逊 Athena 时出现连接问题 QuickSight。
请确保您已授权亚马逊 QuickSight 使用 Athena
目标受众:Amazon QuickSight 管理员 |
使用以下步骤确保您成功授权亚马逊使用 A QuickSight thena。 AWS 资源权限适用于所有 Amazon QuickSight 用户。
要执行此操作,您必须是 Amazon QuickSight 管理员。要检查您是否有访问权限,请确认您在右上角的个人资料中打开菜单时看到了 “管理” QuickSight 选项。
授权亚马逊 QuickSight 访问 Athena
-
选择自己的个人资料名称(右上角)。选择 “管理” QuickSight,然后选择 “安全和权限”。
-
在 “QuickSight 访问权限” 下 AWS 服务,选择 “添加” 或 “删除”。
-
在列表中找到 Athena。清除 Athena 旁边的方框,然后再次选中以启用 Athena。
然后选择 Connect both (连接两者)。
-
选择您要从 Amazon QuickSight 访问的存储桶。
您在此处访问的 S3 存储桶的设置与您通过从列表中选择 Amazon S3 访问的 AWS 服务设置相同。请注意,避免无意中禁用其他人使用的存储桶。
-
选择完成确认自己的选择。您也可以选择取消,不保存就退出。
-
选择 “更新” 以保存您的新设置以供亚马逊 QuickSight 访问 AWS 服务。您也可以选择取消,不进行任何更改就退出。
-
完成后,请确保您使用的是正确 AWS 区域 的。
如果您必须在此过程的第一步中进行更改,请将其更改回之前 AWS 区域 使用的版本。 AWS 区域
确保您的IAM策略授予了正确的权限
目标受众:系统管理员 |
您的 AWS Identity and Access Management (IAM) 策略必须授予对特定操作的权限。您的IAM用户或角色必须能够读取和写入 Athena 用于查询的 S3 存储桶的输入和输出。
如果数据集已加密,则IAM用户必须是指定密钥策略中的 AWS KMS 密钥用户。
验证您的IAM策略是否有权使用 S3 存储桶进行查询
-
从 IAM 打开 https://console.aws.amazon.com/iam/
控制台。 -
找到您正在使用的IAM用户或角色。选择用户或角色名称以查看关联的策略。
-
验证策略是否具有正确的权限。选择您想要验证的策略,然后选择编辑策略。使用可视化编辑器,该编辑器在默认情况下打开。如果改为打开JSON编辑器,请选择 “可视化编辑器” 选项卡。
-
在列表中选择 S3 条目以查看其内容。该策略需要授予列出、读取和写入权限。如果 S3 未在列表中,也没有正确的权限,您可以在此处它们。
有关适用于 Amazon 的IAM政策示例 QuickSight,请参阅IAMAmazon 的政策示例 QuickSight。
确保IAM用户对您的 S3 位置具有读/写访问权限
目标受众:Amazon QuickSight 管理员 |
要从 QuickSight亚马逊访问 Athena 数据,请先确保 Athena 及其 S3 位置已在 “管理” 屏幕中获得授权。 QuickSight有关更多信息,请参阅 请确保您已授权亚马逊 QuickSight 使用 Athena。
接下来,验证相关IAM权限。您的 Athena 连接的IAM用户需要对结果在 S3 中的存储位置具有读/写权限。首先验证IAM用户是否有允许访问 Athena 的附加策略,例如。AmazonAthenaFullAccess
让 Athena 使用所需的名称创建存储桶,然后将此存储桶添加到可以访问的存储桶列表中。QuickSight 如果您更改结果存储桶的默认位置 (aws-athena-query-results-*
),请确保IAM用户有权读取和写入新位置。
确认您未在 S3 中包含该 AWS 区域 代码URL。例如,使用 s3://awsexamplebucket/path
而不是 s3://us-east-1.amazonaws.com/awsexamplebucket/path
。使用错误的 S3 URL 会导致Access Denied
错误。
还要验证存储桶策略和对象访问控制列表 (ACLs) 是否允许IAM用户访问存储桶中的对象。如果IAM用户处于其他位置 AWS 账户,请参阅 A mazon Athena 用户指南中的跨账户访问权限。
如果数据集已加密,请验证该IAM用户是否为指定密钥策略中的 AWS KMS 密钥用户。你可以在 AWS KMS 控制台中执行此操作,网址为 https://console.aws.amazon.com/kms
设置 Athena 查询结果位置的权限
-
从 https://console.aws.amazon.com/athena/
打开 Athena 控制台。 -
确认您已选择想要使用的工作组:
检查顶部的工作组选项。它的格式为工作组:
group-name
。 如果群组名称是您要使用的名称,请跳至下一步。要选择不同的工作组,请选择顶部的工作组。选择想要使用的工作组,然后选择切换工作组。
-
选择右上角的设置。
(不常见)如果出现未找到工作组的错误,请按照以下步骤进行修复:
-
暂时忽略错误消息,改为找到 Workgroup:
group-name
在 “设置” 页面上。工作组的名称是一个超链接。打开该链接。 -
在工作组中:
<groupname>
页面上,选择左侧的 “编辑工作组”。现在请关闭错误消息。 -
在查询结果位置附近,通过选择带有文件夹图标的选择按钮打开 S3 位置选择器。
-
选择 Athena 的 S3 位置名称末尾的小箭头。名称必须以
aws-athena-query-results
开头。 -
(可选)通过选中加密存储在 S3 中的结果复选框来加密查询结果。
-
选择保存以确认您的选择。
-
如果错误没有再次出现,请返回设置。
有时,错误可能会再次出现。如果出现,请按以下步骤操作:
-
选择工作组,然后选择查看详细信息。
-
(可选)要保留您的设置,请记下工作组配置或对其截屏。
选择 Create workgroup (创建工作组)。
-
将该工作组替换为新工作组。配置正确的 S3 位置和加密选项。记下 S3 位置以供稍后使用。
-
选择保存以继续。
-
如果不再需要原始工作组,请将其禁用。务必仔细阅读出现的警告,因为警告会告知您禁用原始工作组会丢失的内容。
-
-
-
如果您在上一步中未通过问题排查获得此值,请选择右上角的设置,并获取显示为查询结果位置的 S3 位置值。
-
如果启用了 “加密查询结果”,请检查它是否使用 SSE-KMS 或 CSE-KMS。记下密钥。
-
在打开 S3 控制台 https://console.aws.amazon.com/s3/
,打开正确的存储桶,然后选择权限选项卡。 -
通过查看存储桶策略来检查您的IAM用户是否具有访问权限。
如果您使用管理访问权限ACLs,请确保通过查看访问控制列表来设置访问控制列表 (ACLs)。
-
如果您的数据集已加密(在工作组设置中选择 “加密查询结果”),请确保在该密钥的策略中将该IAM用户或角色添加为 AWS KMS 密钥用户。你可以通过 https://console.aws.amazon.com/kms
访问 AWS KMS 设置。
授予对 Athena 使用的 S3 存储桶的访问权限
打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/
。 -
在查询结果位置中选择 Athena 使用的 S3 存储桶。
-
在 Permissions (权限) 选项卡中,验证权限。
有关更多信息,请参阅 Supp AWS ort 文章当我运行 Athena 查询时,我收到 “访问被拒绝