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