Athena 如何访问向 Lake Formation 注册的数据 - Amazon Athena
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Athena 如何访问向 Lake Formation 注册的数据

本节中描述的访问工作流仅当对已向 Lake Formation 注册的 Amazon S3 位置和元数据对象运行 Athena 查询时才适用。有关详细信息,请参阅 注册DataLakeAWS Lake Formation Developer Guide. 除了注册数据之外,Lake Formation 管理员还应用以下 Lake Formation 权限:这些权限授予或撤消对 Data Catalog 中的元数据和 Amazon S3 中的数据位置的访问权限。有关详细信息,请参阅 元数据和数据的安全性和访问控制AWS Lake Formation Developer Guide.

当 Athena 委托人(用户、组或角色)每次对使用 Lake Formation 注册的数据运行查询时,Lake Formation 都会验证委托人是否对数据库、表和 Amazon S3 位置具有适合的 Lake Formation 权限来进行相应的查询。如果委托人具有访问权限,Lake Formation 会将临时凭据发送给 Athena,然后查询运行。

下图阐明了上述流程。

下图显示凭证发送过程如何在 Athena 中在逐个查询的基础上,对具有在 Lake Formation 中注册的 Amazon S3 位置的表进行假设的 SELECT 查询:

  1. 委托人在 Athena 中运行 SELECT 查询 。

  2. Athena 分析查询并检查 Lake Formation 权限,以查看该委托人是否已被授予对该表、表分区(如果适用)和表列的访问权限。

  3. 如果委托人具有访问权限,Athena 从 Lake Formation 请求凭证。如果委托人没有访问权限,则 Athena 发出拒绝访问错误。

  4. Lake Formation 向 Athena 发布从 Amazon S3 中读取数据和从 Data Catalog 中访问元数据时要使用的凭据。

  5. Lake Formation 将查询结果返回给 Athena。在查询完成后,Athena 将丢弃凭证。