管理 Lake Formation 和 Athena 用户权限 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

管理 Lake Formation 和 Athena 用户权限

Lake Formation 发送凭证来查询向注册的 Amazon S3 数据存储。如果您以前使用过 IAM 策略来允许或拒绝读取 Amazon S3 中的数据位置的权限,则可以改用 Lake Formation 权限。但是,其他 IAM 权限仍然是必需的。

每当您使用 IAM 策略时,请确保遵循 IAM 最佳实践。有关更多信息,请参阅 。IAM 中的安全最佳实践中的IAM 用户指南

以下各节总结了使用 Athena 查询在 Lake Formation 成中注册的数据所需的权限。有关更多信息,请参阅 。中的安全性Amazon Lake Formation中的Amazon Lake Formation开发人员指南

基于身份的 Lake Formation 和 Athena 的权限

使用 Athena 查询向注册的 Lake City 的数据的任何人都必须具有 IAM 权限策略,该权限允许lakeformation:GetDataAccessaction. Amazon托管策略:AmazonAthenaFullAccess 允许此操作。如果您使用内联策略,请务必更新权限策略以允许此操作。

在 Lake Formation 中,数据湖管理员具有权创建元数据对象(如数据库和表)、向其他用户授予 Lake Formation ement 权限以及注册新的 Amazon S3 位置。要注册新位置,需要具有 Lake Formation 成的服务相关角色的权限。有关更多信息,请参阅 。创建数据湖管理员Lake Formation 的服务相关角色权限中的Amazon Lake Formation开发人员指南

Lake Formation ation 用户可以使用 Athena 查询数据库、表、表列和基础 Amazon S3 数据存储,这些数据存储由数据湖管理员授予他们。用户不能创建数据库或表,也不能向 Lake Formation 成注册新的 Amazon S3 位置。有关更多信息,请参阅 。创建数据湖用户中的Amazon Lake Formation开发人员指南

在 Athena 中,基于身份的权限策略(包括 Athena 工作组的权限策略)仍然控制 Amazon Web Services 账户用户对 Athena 操作的访问。此外,可以通过 Athena 驱动程序提供的基于 SAML 的身份验证来提供联合访问。有关更多信息,请参阅 使用工作组控制查询访问和成本 用于访问工作组的 IAM 策略支持对 Athena API 的联合身份访问

有关更多信息,请参阅 。授予 Lake Formation 权限中的Amazon Lake Formation开发人员指南

Amazon S3 对 Athena 查询结果位置的权限

Amazon S3 中针对 Athena 的查询结果位置无法注册到 Lake Formation。Lake Formation 成权限不限制对这些位置的访问权限。除非您限制访问权限,否则 Athena 用户可以访问查询结果文件和元数据,如果他们没有数据的 Lake Formation 状权限。为避免这种情况,我们建议您使用工作组指定查询结果的位置,并将工作组成员身份与 Lake Formation 权限对齐。然后,您可以使用 IAM 权限策略限制对查询结果位置的访问。有关查询结果的更多信息,请参阅使用查询结果、输出文件和查询历史记录

Athena 工作组成员身份查询历史记录

Athena 查询历史记录显示已保存查询和完整查询字符串的列表。除非您使用工作组来分离查询历史记录的访问权限,否则 Athena 用户没有授权查询 Lake Formation 中的数据,可以查看对该数据运行的查询字符串,包括列名称、选择条件等。我们建议您使用工作组来分隔查询历史记录,并将 Athena 工作组成员资格与 Lake Formation 权限对齐以限制访问。有关更多信息,请参阅使用工作组控制查询访问和成本

Lake Formation 数据的权限

除了使用 Lake Formation 成的基准权限之外,Athena 用户还必须具有 Lake Formation 成权限才能访问他们查询的资源。这些权限由 Lake Formation 管理员授予和管理。有关更多信息,请参阅 。对元数据和数据的安全性和访问控制中的Amazon Lake Formation开发人员指南

写入 Amazon S3 位置的 IAM 权限

Amazon S3 的 Lake Formation 权限不包括写入 Amazon S3 的权限。创建表为语句 (CTAS) 需要对表的 Amazon S3 位置进行写入访问。要对注册到 Lake Formation 成的数据运行 CTAS 查询,Athena 用户除了具有相应的 Lake Formation 权限以读取数据位置以外,还必须具有写入表 Amazon S3 位置的 IAM 权限。有关更多信息,请参阅从查询结果创建表 (CTAS)

对加密数据、元数据和 Athena Athena 查询结果的权限

可以对向注册的 Amazon S3 中的基础源数据和数据目录中的 Lake Formation 数据进行加密。Athena 在使用 Athena 查询向注册的 Lake Formation Carement 的数据时,处理查询结果加密的方式没有变化。有关更多信息,请参阅 。加密 Amazon S3 中存储的查询结果

  • 加密源数据— 支持对 Amazon S3 数据位置源数据进行 SSE-S3 和 CSE-KMS 加密。不支持 SSE-KMS 加密。Athena 用户查询向注册的 Amazon S3 位置,需要具有加密和解密数据的权限。有关要求的更多信息,请参阅Amazon S3 中加密数据的权限

  • 加密元数据— 支持对数据目录中的元数据进行加密。对于使用 Athena 的委托人,基于身份的策略必须允许"kms:GenerateDataKey""kms:Decrypt", 和"kms:Encrypt"操作,用于加密元数据的密钥。有关更多信息,请参阅 。加密数据目录中的Amazon Glue开发人员指南针对 中加密元数据的访问权限Amazon Glue数据目录

外部账户中针对 Amazon S3 存储桶的基于资源的权限(可选)

要查询其他账户中的 Amazon S3 数据位置,基于资源的 IAM 策略(存储桶策略)必须允许访问该位置。有关更多信息,请参阅Athena 中对 Amazon S3 存储桶的跨账户访问

有关访问其他帐户中的数据目录的信息,请参阅跨账户数据目录访问