AmazonAmazon Athena 的托管策略 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

AmazonAmazon Athena 的托管策略

要向用户、组和角色添加权限,与您自己编写策略相比,使用 Amazon 托管策略更简单。创建仅为团队提供所需权限的 IAM 客户托管策略需要时间和专业知识。要快速入门,您可以使用我们的 Amazon 托管策略。这些策略涵盖常见使用案例,可在 Amazon Web Services 账户 。有关 Amazon 托管策略的更多信息,请参阅 IAM 用户指南中的 Amazon 托管策略

Amazon 服务负责维护和更新 Amazon 托管策略。您无法更改 Amazon 托管策略中定义的权限。服务偶尔会向 Amazon 托管策略添加额外权限以支持新功能。此类更新会影响附加策略的所有身份(用户、组和角色)。当启动新功能或新操作可用时,服务最有可能会更新 Amazon 托管策略。服务不会从 Amazon 托管策略中移除权限,因此策略更新不会破坏您的现有权限。

此外,Amazon 还支持跨多种服务的工作职能的托管策略。例如,ReadOnlyAccess 的 Amazon 托管策略提供针对所有 Amazon 服务和资源的只读访问权限。当服务启动新功能时,Amazon 会为新操作和资源添加只读权限。有关工作职能策略的列表和说明,请参阅 IAM 用户指南中的适用于工作职能的 Amazon 托管策略

将托管策略用于 Athena 时的注意事项

托管策略易于使用,并且随着服务的发展而自动使用必需的操作进行更新。将托管策略与 Athena 结合使用时,请记住以下几点:

  • 要为您自己或其他用户允许或拒绝 Amazon Athena 服务操作,请使用Amazon Identity and Access Management(IAM),您可以将基于身份的策略附加到委托人,例如用户或组。

  • 每个基于身份的策略均包含用于定义允许或拒绝的操作的语句。有关将策略附加到用户的更多信息和分步说明,请参阅附加托管策略中的IAM 用户指南。有关操作列表,请参阅 Amazon Athena API 参考

  • 客户托管内联基于身份的策略允许您在策略中指定更详细的 Athena 操作来精调访问权限。我们建议您使用 AmazonAthenaFullAccess 策略作为起始点,然后允许或拒绝 Amazon Athena API 参考中所列的特定操作。有关内联策略的更多信息,请参阅托管策略与内联策略中的IAM 用户指南

  • 如果您还具有使用 JDBC 连接的委托人,则必须为您的应用程序提供 JDBC 驱动程序凭证。有关更多信息,请参阅用于 JDBC 连接的服务操作

  • 如果您已加密Amazon Glue数据目录,您必须在 Athena 基于身份的 IAM 策略中为指定其他操作。有关更多信息,请参阅针对 Amazon Glue 数据目录中加密元数据的访问权限

  • 如果您创建和使用工作组,请确保您的策略包括对工作组操作的相关访问权限。有关详细信息,请参阅 用于访问工作组的 IAM 策略工作组策略示例

Amazon托管策略:AmazonAthenaFullAccess

这些区域有:AmazonAthenaFullAccess托管策略授予对 Athena 的完全访问权限。将此策略附加到需要对 Athena 具有完全访问权限的 IAM 用户和其他委托人。您可以挂载AmazonAthenaFullAccess策略添加到您的 IAM 身份。

权限分组

这些区域有:AmazonAthenaFullAccess策略被分组为以下权限集。

  • athena— 允许委托人访问 Athena 资源。

  • glue— 允许委托人访问Amazon Glue数据库、表和分区。这是必需的,以便委托人可以使用Amazon Glue Data Catalog和 Athena。

  • s3— 允许委托人从 Amazon S3 编写和读取查询结果,读取驻留在 Amazon S3 中的公开可用的 Athena 数据示例,并列出存储桶。这是必需的,以便委托人可以使用 Athena 与 Amazon S3 合作。

  • sns— 允许委托人列出 Amazon SNS 主题并获取主题属性。这使委托人能够将 Amazon SNS 主题与 Athena 结合使用,以进行监控和警报。

  • cloudwatch— 允许委托人创建、读取和删除 CloudWatch 警报。有关更多信息,请参阅 使用 CloudWatch 指标与事件控制成本和监控查询

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::athena-examples*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms" ], "Resource": [ "*" ] } ] }

Amazon托管策略:难以置信的目光

AWSQuicksightAthenaAccess授予对 Amazon QuickSight 与 Athena 集成所需的操作的访问权限。您可以挂载AWSQuicksightAthenaAccess策略添加到您的 IAM 身份。仅将此策略附加到将 Amazon QuickSight 与 Athena 结合使用的委托人。此策略包括的一些 Athena 操作,这些操作已弃用且未包含在当前公有 API 中或仅与 JDBC 和 ODBC 驱动程序一起使用。

权限分组

这些区域有:AWSQuicksightAthenaAccess策略被分组为以下权限集。

  • athena— 允许委托人对 Athena 资源运行查询。

  • glue— 允许委托人访问Amazon Glue数据库、表和分区。这是必需的,以便委托人可以使用Amazon Glue Data Catalog和 Athena。

  • s3— 允许委托人从 Amazon S3 中写入和读取查询结果。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:CancelQueryExecution", "athena:GetCatalogs", "athena:GetExecutionEngine", "athena:GetExecutionEngines", "athena:GetNamespace", "athena:GetNamespaces", "athena:GetQueryExecution", "athena:GetQueryExecutions", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:GetTable", "athena:GetTables", "athena:ListQueryExecutions", "athena:RunQuery", "athena:StartQueryExecution", "athena:StopQueryExecution" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] } ] }

Athena 更新到Amazon托管策略

查看有关更新的详细信息Amazon托管策略 Athena 为此服务开始跟踪这些更改。

更改 描述 日期

AmazonAthenaFullAccess难以置信的目光— 更新现有策略

Athena 补充s3:PutBucketPublicAccessBlock以允许阻止对 Athena 创建的存储桶的公共访问。

2021 年 7 月 7 日

Athena 开始跟踪变更

Athena 开始跟踪变更Amazon托管策略。

2021 年 7 月 7 日