使用混合访问模式共享 Lake Formation 资源 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用混合访问模式共享 Lake Formation 资源

允许外部账户中的新数据目录用户使用基于 IAM 的策略访问数据目录数据库和表,而无需中断现有的 Lake Formation 跨账户共享权限。

场景描述 - 制作者账户拥有在账户级别或 IAM 主体级别与外部(使用者)账户共享的 Lake Formation 托管数据库和表。数据库的数据位置在 Lake Formation 中注册。IAMAllowedPrincipals 组没有对数据库及其表的 Super 权限。

在不中断现有 Lake Formation 权限的情况下,通过基于 IAM 的策略向新的数据目录用户授予跨账户访问权限
  1. 制作者账户设置
    1. 以拥有以下权限的角色登录 Lake Formation 控制台:lakeformation:PutDataLakeSettings

    2. 前往数据目录设置,然后在跨账户版本设置中选择Version 4

      如果您当前使用的是版本 1 或 2,请参阅有关更新至版本 3 的更新跨账户数据共享版本设置说明。

      从版本 3 升级到 4 无需更改权限策略。

    3. 列出您已授予主体的对数据库和表的权限。有关更多信息,请参阅 在 Lake Formation 中查看数据库和表权限

    4. 通过选择主体和资源来重新授予现有的 Lake Formation 跨账户权限。

      注意

      在将数据位置注册更新为混合访问模式以授予跨账户权限之前,您需要为每个账户重新授予至少一个跨账户数据共享。要更新附加到 Amazon RAM 资源共享的 Amazon RAM 托管权限,必须执行此步骤。

      2023 年 7 月,Lake Formation 更新了用于共享数据库和表格的 Amazon RAM 托管权限:

      • arn:aws:ram::aws:permission/AWSRAMLFEnabledGlueAllTablesReadWriteForDatabase(数据库级别共享策略)

      • arn:aws:ram::aws:permission/AWSRAMLFEnabledGlueTableReadWrite(表级别共享策略)

      2023 年 7 月之前授予的跨账户权限没有这些更新的 Amazon RAM 权限。

      如果您已直接向主体授予跨账户权限,则需要单独向主体重新授予这些权限。如果跳过此步骤,访问共享资源的主体可能会遇到非法组合错误。

    5. 前往 https://console.aws.amazon.com/ram

    6. Amazon RAM 控制台中的 “由我共享” 选项卡显示您与外部账户或委托人共享的数据库和表名。

      确保附加到共享资源的权限具有正确的 ARN。

    7. 验证 Amazon RAM 共享中的资源是否处于Associated状态。如果状态显示为 Associating,请等待,直到它们进入 Associated 状态。如果状态变为 Failed,请停下来联系 Lake Formation 服务团队。

    8. 在左侧导航栏中的权限下选择混合访问模式,然后选择添加

    9. 添加主体和资源页面显示数据库和/或表以及有权访问的主体。您可以通过添加或删除主体和资源来进行所需的更新。

    10. 选择对要更改为混合访问模式的数据库和表拥有 Lake Formation 权限的主体。选择数据库和表。

    11. 选择添加以选择要在混合访问模式下强制实施 Lake Formation 权限的主体。

    12. 向虚拟组 IAMAllowedPrincipals 授予对您的数据库和所选表的 Super 权限。

    13. 将 Amazon S3 位置的 Lake Formation 注册编辑为混合访问模式。

    14. 使用 IAM 权限策略为外部(消费者)账户中的 Amazon Glue 用户授予对 Amazon S3 Amazon Glue 操作的权限。

  2. 使用者账户设置
    1. 通过 https://console.aws.amazon.com/lakeformation/ 以数据湖管理员身份登录 Lake Formation 控制台。

    2. 前往 https://console.aws.amazon.com/ram 并接受资源共享邀请。 Amazon RAM 页面中的 “与我共享的资源” 选项卡显示与您的账户共享的数据库和表名。

      对于 Amazon RAM 共享,请确保附加的权限具有共享 Amazon RAM 邀请的正确 ARN。检查 Amazon RAM 共享中的资源是否处于Associated状态。如果状态显示为 Associating,请等待,直到它们进入 Associated 状态。如果状态变为 Failed,请停下来联系 Lake Formation 服务团队。

    3. 在 Lake Formation 中创建指向共享数据库和/或表的资源链接。

    4. 向您(使用者)账户中的 IAM 主体授予对资源链接的 Describe 权限和对原共享资源的 Grant on target 权限。

    5. 接下来,为您账户中的主体设置对共享数据库或表的 Lake Formation 权限。

      在左侧导航栏中的权限下选择混合访问模式

    6. 混合访问模式页面的下半部分选择添加,从制作者账户中选择主体以及与您共享的数据库或表。

    7. 使用 IAM 权限策略向账户中的 Amazon Glue 用户授予对 Amazon S3 Amazon Glue 操作的权限。

    8. 使用 Athena 在表格上运行单独的示例查询,测试用户的 Lake Formation Amazon Glue 权限和权限

      (可选)为处于混合访问模式的主体清除 Amazon S3 的 IAM 权限策略。