Amazon DataZone 与 AWS Lake Formation 混合模式的集成
Amazon DataZone 与 AWS Lake Formation 混合模式集成。此集成使您能够通过 Amazon DataZone 轻松发布和共享您的 AWS Glue 表,而无需先将它们注册到 AWS Lake Formation。混合模式可让您开始通过 AWS Lake Formation 管理 AWS Glue 表的权限,同时继续保留对这些表的任何现有 IAM 权限。
首先,您可以在 Amazon DataZone 管理控制台中启用 DefaultDataLake 蓝图下的数据位置注册设置。
支持与 AWS Lake Formation 混合模式的集成
-
导航到 Amazon DataZone 控制台(网址为 https://console.aws.amazon.com/datazone
),然后使用您的账户凭证登录。 -
选择查看域,然后选择要在其中启用与 AWS Lake Formation 混合模式的集成的域。
-
在域详细信息页面上,导航到蓝图选项卡。
-
从蓝图列表中,选择 DefaultDataLake 蓝图。
-
确保启用 DefaultDataLake 蓝图。如果未启用此蓝图,请按照在拥有 Amazon DataZone 域的 AWS 账户中启用内置蓝图中的步骤操作,在您的 AWS 账户中启用它。
-
在 DefaultDataLake 详细信息页面上,打开预调配选项卡,然后选择页面右上角的编辑按钮。
-
选中数据位置注册下方的框以启用数据位置注册。
-
对于数据位置管理角色,您可以创建新 IAM 角色或选择现有 IAM 角色。Amazon DataZone 使用此角色通过 AWS Lake Formation 混合访问模式管理对为数据湖选定的 Amazon S3 存储桶的读/写访问权限。有关更多信息,请参阅 AmazonDataZoneS3Manage-<region>-<domainId>。
-
(可选)如果您不希望 Amazon DataZone 在混合模式下自动注册一些 Amazon S3 地点,则可以选择排除这些位置。为此,请完成以下步骤:
-
选择切换按钮以排除指定的 Amazon S3 位置。
-
提供要排除的 Amazon S3 存储桶的 URI。
-
要添加其他存储桶,请选择添加 S3 位置。
注意
Amazon DataZone 仅允许排除根 S3 位置。系统将自动从注册中排除根 S3 位置路径内的任何 S3 位置。
-
选择保存更改。
-
在您的 AWS 账户中启用数据位置注册设置后,当数据使用者订阅通过 IAM 权限管理的 AWS Glue 表时,Amazon DataZone 首先在混合模式下注册该表的 Amazon S3 位置,然后通过 AWS Lake Formation 管理该表的权限来向数据使用者授予访问权限。这将确保表的 IAM 权限与新授予的 AWS Lake Formation 权限继续存在,而不会中断任何现有工作流。
如何在 Amazon DataZone 中启用 AWS Lake Formation 混合模式集成时处理加密的 Amazon S3 位置
如果您使用的是通过客户自主管理型密钥或 AWS 托管式 KMS 密钥加密的 Amazon S3 位置,则 AmazonDataZoneS3Manage 角色必须有权使用 KMS 密钥加密和解密数据,或 KMS 密钥策略必须向该角色授予密钥的权限。
如果您的 Amazon S3 位置已使用 AWS 托管式密钥进行加密,请将以下内联策略添加到 AmazonDataZoneDataLocationManagement 角色:
如果您的 Amazon S3 位置已使用客户自主管理型密钥进行加密,请执行以下操作:
-
通过 https://console.aws.amazon.com/kms
打开 AWS KMS 控制台,然后以 AWS Identity and Access Management(AWS IAM)管理用户或有权修改用于加密位置的 KMS 密钥的密钥策略的用户的身份登录。 -
在导航窗格中,选择客户自主管理型密钥,然后选择所需的 KMS 密钥的名称。
-
在 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>" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, ...
-
注意
如果 KMS 密钥或 Amazon S3 位置与数据目录不在同一 AWS 账户中,请按照跨 AWS 账户注册加密的 Amazon S3 位置中的说明进行操作。