亚马逊与 AWS Lake Formation 混合模式 DataZone 集成 - 亚马逊 DataZone

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

亚马逊与 AWS Lake Formation 混合模式 DataZone 集成

亚马逊 DataZone 已与 La AWS ke Formation 混合模式集成。这种集成使您能够轻松地通过亚马逊发布和共享您的 AWS Glue 表, DataZone而无需先在 AWS Lake Formation 中注册它们。混合模式允许您通过 AWS Lake For AWS mation 开始管理 Glue 表的权限,同时继续保持对这些表的任何现有IAM权限。

首先,您可以在 Amazon DataZone 管理控制台中启用DefaultDataLake蓝图下的数据位置注册设置。

启用与 AWS Lake Formation 混合模式的集成
  1. 前往位于 https://console.aws.amazon.com/datazone 的亚马逊 DataZone 控制台,然后使用您的账户凭证登录。

  2. 选择 “查看域”,然后选择要在其中启用与 AWS Lake Formation 混合模式集成的域。

  3. 在域名详细信息页面上,导航至蓝图选项卡。

  4. 蓝图列表中选择DefaultDataLake蓝图。

  5. 确保 DefaultDataLake 蓝图已启用。如果未启用,请按照中的步骤在您的 AWS 账户中在中启用内置蓝图 AWS 拥有 Amazon DataZone 域名的账户将其启用。

  6. 在 DefaultDataLake 详细信息页面上,打开配置选项卡,然后选择页面右上角的编辑按钮。

  7. 在 “数据位置注册” 下,选中复选框以启用数据位置注册。

  8. 对于数据位置管理角色,您可以创建新IAM角色或选择现有IAM角色。亚马逊 DataZone 使用此角色通过 Lake Formation 混合访问模式管理对为数据湖选择的 Amazon S3 存储桶的读/写权限。 AWS 有关更多信息,请参阅 AmazonDataZone<region>S3Manage--< > domainId

  9. 或者,如果您不希望亚马逊在混合模式下自动注册某些 Amazon S3 地点 DataZone ,则可以选择将其排除在外。为此,请完成以下步骤:

    • 选择切换按钮以排除指定的 Amazon S3 地点。

    • 提供您要排除URI的 Amazon S3 存储桶的。

    • 要添加其他存储桶,请选择添加 S3 位置

      注意

      Amazon DataZone 仅允许排除 S3 根位置。S3 根位置路径内的任何 S3 位置都将自动排除在注册范围之外。

    • 选择 Save changes(保存更改)

在 AWS 账户中启用数据位置注册设置后,当数据使用者订阅通过IAM权限管理的 AWS Glue 表时,亚马逊 DataZone 将首先以混合模式注册该表的 Amazon S3 位置,然后通过 La AWS ke Formation 管理表的权限,向数据使用者授予访问权限。这样可以确保使用新IAM授予的 L AWS ake Formation 权限继续存在表上的权限,而不会中断任何现有工作流程。

在亚马逊启用 AWS Lake Formation 混合模式集成时如何处理加密的亚马逊 S3 位置 DataZone

如果您使用的是使用客户托管密钥或托 AWS 管KMS密钥加密的 Amazon S3 位置,则 AmazonDataZoneS3Manag e 角色必须有权使用该密钥加密和解密数据,或者密KMSKMS钥策略必须向该角色授予对密钥的权限。

如果您的 Amazon S3 位置使用 AWS 托管密钥加密,请向该AmazonDataZoneDataLocationManagement角色添加以下内联策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "<AWS managed key ARN>" } ]

如果您的 Amazon S3 位置已使用客户托管密钥加密,请执行以下操作:

  1. https://console.aws.amazon.com/km s 上打开 AWS KMS控制台,然后以 Identity and Access Management (IAM) 管理用户或可以修改用于加密位置的KMS密钥策略的用户 AWS 身份登录。

  2. 在导航窗格中,选择客户管理的密钥,然后选择所需KMS密钥的名称。

  3. 在KMS密钥详细信息页面上,选择密钥策略选项卡,然后执行以下操作之一,将您的自定义角色或 Lake Formation 服务相关角色添加为KMS密钥用户:

    • 如果显示默认视图(包括 “密钥管理员”、“密钥删除”、“密钥用户” 和 “其他 AWS 账户” 部分),请在 “密钥用户” 部分下添加AmazonDataZoneDataLocationManagement角色。

    • 如果显示密钥策略 (JSON),请编辑该策略以向对象 “允许使用密钥” 添加AmazonDataZoneDataLocationManagement角色,如以下示例所示

      ... { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/service-role/AmazonDataZoneDataLocationManage-<region>-<domain-id>", "arn:aws:iam::111122223333:user/keyuser" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, ...
注意

如果KMS密钥或 Amazon S3 位置与数据目录不在同一个 AWS 账户中,请按照跨 AWS 账户注册加密的 Amazon S3 位置中的说明进行操作。