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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

管理 Lake Formation 和 Athena 用户权限

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

以下各节总结了使用 Athena 查询在 Lake Formation 中注册的数据所需的权限。有关详细信息,请参阅 安全性 AWS Lake FormationAWS Lake Formation Developer Guide.

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

使用 Athena 查询向 Lake Formation 注册的数据的任何人都必须有一个 IAM 权限策略,此权限允许执行 lakeformation:GetDataAccess 操作。AmazonAthenaFullAccess 托管策略 允许此操作。如果您使用内联策略,请务必更新权限策略以允许此操作。

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

Lake Formation 用户可以使用 Athena,通过数据湖管理员授予他们的 Lake Formation 权限,查询数据库、表、表列和基础 Amazon S3 数据存储。用户不能创建数据库或表,也不能向 Lake Formation 注册新的 Amazon S3 位置。有关详细信息,请参阅 创建DataLake用户AWS Lake Formation 开发人员指南.

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

有关详细信息,请参阅 授予 Lake Formation 权限AWS Lake Formation Developer Guide.

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

The query results locations in Amazon S3 for Athena cannot be registered with Lake Formation. Lake Formation permissions do not limit access to these locations. Unless you limit access, Athena users can access query result files and metadata when they do not have Lake Formation permissions for the data. To avoid this, we recommend that you use workgroups to specify the location for query results and align workgroup membership with Lake Formation permissions. You can then use IAM permissions policies to limit access to query results locations. For more information about query results, see 使用查询结果、输出文件和查询历史记录.

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

Athena query history exposes a list of saved queries and complete query strings. Unless you use workgroups to separate access to query histories, Athena users who are not authorized to query data in Lake Formation are able to view query strings run on that data, including column names, selection criteria, and so on. We recommend that you use workgroups to separate query histories, and align Athena workgroup membership with Lake Formation permissions to limit access. For more information, see 使用工作组控制查询访问和成本.

针对数据的 Lake Formation 权限

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

写入 Amazon S3 位置的 IAM 权限

针对 Amazon S3 的 Lake Formation 权限不包括写入 Amazon S3 的权限。Create Table As Statements (CTAS) require write access to the Amazon S3 location of tables. To run CTAS queries on data registered with Lake Formation, Athena users must have IAM permissions to write to the table Amazon S3 locations in addition to the appropriate Lake Formation permissions to read the data locations. For more information, see 从查询结果创建表 (CTAS).

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

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

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

  • 加密元数据 – 支持对 Data Catalog 中的元数据进行加密。对于使用 Athena 的委托人,基于身份的策略必须允许对用于加密元数据的密钥执行 "kms:GenerateDataKey""kms:Decrypt""kms:Encrypt" 操作。有关详细信息,请参阅 加密您的 Data CatalogAWS Glue 开发人员指南在 AWS Glue 数据目录.

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

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

有关访问A的信息 Data Catalog 在另一个帐户中,参阅 跨客户 Data Catalog 访问.