选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

管理对使用外部元存储的数据集的权限

聚焦模式
管理对使用外部元存储的数据集的权限 - AWS Lake Formation

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

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

借助 AWS Glue Data Catalog 元数据联合身份验证(数据目录联合身份验证),您可以将数据目录连接到存储您 Amazon S3 数据的元数据的外部元存储,并使用 AWS Lake Formation 安全地管理数据访问权限。您不必将元数据从外部元存储迁移到数据目录中。

数据目录提供了一个集中式元数据存储库,使管理和发现不同系统中的数据变得更加容易。当您的组织管理数据目录中的数据时,您可以使用 AWS Lake Formation 控制对 Amazon S3 中数据集的访问。

注意

目前,我们仅支持 Apache Hive(版本 3 及更高版本)元存储联合身份验证。

为了设置数据目录联合身份验证,我们在 AWS Serverless Application Repository 中提供了一个名为 GlueDataCatalogFederation-HiveMetastore 的 AWS Serverless Application Model (AWS SAM) 应用程序。

参考实施在 GitHub 上作为 AWS Glue Data Catalog 联合身份验证 - Hive 元存储中的开源项目提供。

AWS SAM 应用程序创建并部署将数据目录连接到 Hive 元存储所需的以下资源:

  • AWS Lambda 函数 – 托管在数据目录和 Hive 元存储之间进行通信的联合身份验证服务的实施。AWS Glue 调用此 Lambda 函数从 Hive 元存储中检索元数据对象。

  • Amazon API Gateway – Hive 元存储的连接端点,该存储充当将所有调用路由到 Lambda 函数的代理。

  • IAM 角色 – 具有在数据目录和 Hive 元存储之间创建连接所需权限的角色。

  • AWS Glue 连接 – Amazon API Gateway 类型的 AWS Glue 连接,负责存储 Amazon API Gateway 端点和调用该端点的 IAM 角色。

当您查询表时,AWS Glue 服务会对 Hive 元存储进行运行时调用并获取元数据。Lambda 函数充当 Hive 元存储和数据目录之间的转换器。

建立连接后,为了将 Hive 元存储中的元数据与数据目录同步,您需要使用 Hive 元存储连接详细信息在数据目录中创建联合数据库,并将该数据库映射到 Hive 数据库。当数据库指向数据目录外的实体时,该数据库被称为“联合数据库”。

您可以使用基于标签的访问控制和命名资源方法对联合数据库应用 Lake Formation 权限,并在多个 AWS 账户、AWS Organizations 和组织单位(OU)之间共享该权限。您也可以直接与其他账户的 IAM 主体共享联合数据库。

您可以使用 Lake Formation 数据筛选条件在外部 Hive 表上定义列级、行级和单元格级的细粒度权限。您可以使用 Amazon Athena、Amazon Redshift 或 Amazon EMR 来查询 Lake Formation 托管的外部 Hive 表。

有关跨账户数据共享和数据筛选的更多信息,请参阅:

数据目录元数据联合身份验证主要步骤
  1. 您可以创建具有部署 AWS SAM 应用程序和创建联合数据库所需的相应权限的 IAM 用户和角色。

  2. 通过为使用外部 Hive 元存储的数据集的选择 Enable Data Catalog federation 选项,您可以在 Lake Formation 中注册 Amazon S3 数据位置。

  3. 您可以配置 AWS SAM 应用程序设置(AWS Glue 连接名称、Hive 元存储 URL 和 Lambda 函数参数)并部署 AWS SAM 应用程序。

  4. AWS SAM 应用程序部署将外部 Hive 元存储与数据目录连接所需的资源:

  5. 要对 Hive 数据库和表应用 Lake Formation 权限,您需要使用 Hive 元存储连接详细信息在数据目录中创建数据库,并将该数据库映射到 Hive 数据库。

  6. 向您的账户或其他账户中的主体授予对联合数据库的权限。

注意

无需应用 Lake Formation 权限,即可将数据目录连接到外部 Hive 元存储、创建联合数据库以及在 Hive 数据库和表上运行查询和 ETL 脚本。对于未向 Lake Formation 注册的 Amazon S3 中的源数据,访问权限由适用于 Amazon S3 和 AWS Glue 操作的 IAM 权限策略决定。

有关限制,请参阅Hive 元数据存储数据共享注意事项和限制

工作流

以下图表显示了将 AWS Glue Data Catalog 连接到外部 Hive 元存储的工作流。

Workflow diagram showing Hive metastore connection to AWS Glue Data Catalog with numbered steps.
  1. 主体使用 Athena 或 Redshift Spectrum 等集成服务提交查询。

  2. 集成服务会调用数据目录以获取元数据,然后数据目录会调用在 Amazon API Gateway 后面提供的 Hive 元存储端点并接收对元数据请求的响应。

  3. 集成服务向 Lake Formation 发送请求,以验证表信息和用于访问表的凭证。

  4. Lake Formation 对请求进行授权,并将临时凭证售卖给集成应用程序以允许其访问数据。

  5. 该集成服务使用从 Lake Formation 收到的临时凭证从 Amazon S3 读取数据并将结果共享给主体。

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。