步骤 4:将数据存储切换到 Lake Formation 权限模型 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 4:将数据存储切换到 Lake Formation 权限模型

升级为 Lake Formation 权限,一次升级一个数据位置。为此,请重复整个部分,直到您注册了数据目录引用的所有 Amazon Simple Storage Service (Amazon S3) 路径。

验证 Lake Formation 权限

在注册位置之前,请执行验证步骤,以确保正确的主体具有所需的 Lake Formation 权限,并且不会向不应具有 Lake Formation 权限的主体授予任何这些权限。使用 Lake Formation GetEffectivePermissionsForPath API 操作,标识引用 Amazon S3 位置的数据目录资源,以及对这些资源具有权限的主体。

以下 Amazon CLI 示例返回引用 Amazon S3 存储桶 products 的数据目录数据库和表。

aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin

请注意 profile 选项。我们建议您以数据湖管理员身份运行该命令。

以下是返回结果的摘录。

{ "PermissionsWithGrantOption": [ "SELECT" ], "Resource": { "TableWithColumns": { "Name": "inventory_product", "ColumnWildcard": {}, "DatabaseName": "inventory" } }, "Permissions": [ "SELECT" ], "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1", "DataLakePrincipalType": "IAM_USER" } },...
重要

如果您的 Amazon Glue 数据目录已加密,则 GetEffectivePermissionsForPath 仅返回在 Lake Formation 正式发布后创建或修改的数据库和表。

保护现有数据目录资源

接下来,撤销 IAMAllowedPrincipals 对您为该位置标识的每个表和数据库具有的 Super 权限。

警告

如果您实施自动化功能来在数据目录中创建数据库和表,则以下步骤可能会导致自动化和下游提取、转换和加载 (ETL) 作业失败。只有在修改现有流程或向所需主体授予显式 Lake Formation 权限后,才能继续操作。有关 Lake Formation 权限的信息,请参阅 Lake Formation 权限参考

撤销 IAMAllowedPrincipals 对表具有的 Super 权限
  1. 通过 https://console.aws.amazon.com/lakeformation/ 打开 Amazon Lake Formation 控制台。以数据湖管理员身份登录。

  2. 在导航窗格中,选择

  3. 页面上,选中所需表旁边的单选按钮。

  4. 操作菜单上,选择撤销

  5. 撤销权限对话框的 IAM 用户和角色列表中,向下滚动到标题,然后选择 IAMAllowedPrincipals

  6. 表权限下,确保选中 Super 权限,然后选择撤销

撤销 IAMAllowedPrincipals 对数据库具有的 Super 权限
  1. 通过 https://console.aws.amazon.com/lakeformation/ 打开 Amazon Lake Formation 控制台。以数据湖管理员身份登录。

  2. 在导航窗格中,选择数据库

  3. 数据库页面上,选中所需数据库旁边的单选按钮。

  4. 操作 菜单上,选择编辑

  5. 编辑数据库页面上,清除仅对此数据库中的新表使用 IAM 访问控制,然后选择保存

  6. 返回数据库页面,确保数据库仍处于选中状态,然后在操作菜单上选择撤销

  7. 撤销权限对话框的 IAM 用户和角色列表中,向下滚动到标题,然后选择 IAMAllowedPrincipals

  8. 数据库权限下,确保选中 Super 权限,然后选择撤销

为您的 Amazon S3 位置启用 Lake Formation 权限

接下来,向 Lake Formation 注册 Amazon S3 位置。为此,您可以使用向数据湖添加 Amazon S3 位置中所述的过程。或者,使用 RegisterResource API 操作,如凭证售卖 API 中所述。

注意

如果注册了父位置,则无需注册子位置。

完成这些步骤并测试用户是否可以访问其数据后,您即已成功升级为 Lake Formation 权限。继续执行下一步:步骤 5:保护新的数据目录资源