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

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

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

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

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

下图阐明了上述流程。

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

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

  2. Athena 分析查询并检查Lake Formation权限,以查看是否已向委托人授予对表和表列的访问权限。

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

  4. Lake Formation 向 发布凭证Athena以在从 读取数据时使用Amazon S3,以及允许列的列表。

  5. Athena 使用Lake Formation临时凭证从 查询数据Amazon S3。在查询完成后,Athena 将丢弃凭证。