精细访问控制的方法 - AWS Lake Formation

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

精细访问控制的方法

使用数据湖时,目标是对数据进行精细访问控制。在 Lake Formation 中,这意味着对数据目录资源和 Amazon S3 位置进行精细访问控制。您可以使用以下方法之一实现精细访问控制。

方法 Lake Formation 权限 IAM 权限 注释
方法 1: 打开 精细

这是默认方法,用于向后兼容 AWS Glue。

  • “开放”是指将特殊权限 Super 授予组 IAMAllowedPrincipals,其中 IAMAllowedPrincipals 会自动创建并包括 IAM 策略允许访问您的数据目录资源的任何 IAM 用户和角色,并且 Super 权限使主体能够对授予该权限的数据库或表执行所有受支持的 Lake Formation 操作。这实际上会导致对数据目录资源和 Amazon S3 位置的访问仅由 IAM 策略控制。有关更多信息,请参阅更改数据湖的默认设置升级 AWS Lake Formation 模型AWS Glue的数据权限

  • “精细”是指 IAM 策略控制对数据目录资源和单个 Amazon S3 存储桶的所有访问。

在 Lake Formation 控制台上,此方法显示为仅使用 IAM 访问控制

方法 2: 精细 粗粒度

这是推荐的方法。

  • “精细”访问是指向各个主体授予对数据目录资源、Amazon S3 位置以及这些位置中的基础数据的有限 Lake Formation 权限。

  • “粗粒度”是指对各项操作和 Amazon S3 位置的访问具有更广泛的权限。例如,粗粒度 IAM 策略可能包括 "glue:*""glue:Create*",而不是 "glue:CreateTables",从而保留 Lake Formation 权限来控制主体是否可以创建目录对象。这也意味着向主体授予他们完成工作所需的 API 的访问权限,但会锁定其他 API 和资源。例如,您可以创建一个 IAM 策略,使主体能够创建数据目录资源以及创建和运行工作流,但不允许创建 AWS Glue 连接或用户定义的函数。请参阅本部分后面的相关示例。

重要

请注意以下事项:

  • 默认情况下,Lake Formation 启用了仅使用 IAM 访问控制设置,以便与现有 AWS Glue Data Catalog 行为兼容。我们建议您在过渡到使用 Lake Formation 权限后禁用这些设置。有关更多信息,请参阅 更改数据湖的默认设置

  • 数据湖管理员和数据库创建者具有您必须了解的隐式 Lake Formation 权限。有关更多信息,请参阅 隐式 Lake Formation 权限