本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 LF-Tags 元数据访问控制
要使用基于 Lake Formation 标签的访问控制 (LF-TBAC) 方法来保护数据目录对象(如目录、数据库、表、视图和列),需要创建这些对象 LF-Tags,将其分配给资源,然后向委托人授予 LF-Tag 权限。
在分配 LF-Tags 给 Data Catalog 对象或向委托人授予权限之前,需要先进行定义 LF-Tags。只有数据湖管理员或拥有创建 LF-Tag 者权限的委托人才能创建 LF-Tags。
LF-Tag 创作者
LF-Tag creator 是具有创建和管理 LF-Tags权限的非管理员委托人。数据湖管理员可以使用 Lake Formation 控制台或 CLI 添加 LF-Tag 创建者。 LF-Tag 创建者拥有隐含的 Lake Formation 权限,可以更新 LF-Tags、删除、分配 LF-Tags 资源以及向其他委托人授予 LF-Tag 权限和 LF-Tag 值权限。
使用 LF-Tag 创建者角色,数据湖管理员可以将标签管理任务(例如创建和更新标签密钥和值)委托给非管理员委托人。数据湖管理员还可以向 LF-Tag 创建者授予可授予的Create LF-Tag权限。然后, LF-Tag 创建者可以向其他委托人授 LF-Tags 予创建权限。
您可以授予以下两种类型的权限 LF-Tags:
LF-Tag 权限-
Create LF-TagAlter、和Drop。创建、更新和删除需要这些权限 LF-Tags。数据湖管理员和创建 LF-Tag 者隐式地拥有 LF-Tags 他们创建的这些权限,并且可以明确向委托人授予这些权限,以管理数据湖中的标签。
LF-Tag 键值对权限-
AssignDescribe、和。Grant with LF-Tag expressions这些权限是分配 LF-Tags 给数据目录对象以及使用基于 Lake Formation 标签的访问控制向委托人授予资源权限所必需的。 LF-Tag 创建者在创建 LF-Tags时会隐式获得这些权限。
获得Create LF-Tag权限并成功创建后 LF-Tags,创建 LF-Tag 者可以分配资源并 LF-Tags 向其他非管理主体授予 LF-Tag权限(Create LF-TagAlterDrop、、和),以管理数据湖中的标签。你可以使用 Lak LF-Tags e Formation 控制台、API 或 Amazon Command Line Interface (Amazon CLI) 进行管理。
注意
数据湖管理员拥有隐含的 Lake Formation 权限,可以创建 LF-Tags、更新和删除、分配 LF-Tags 资源以及向委托人授予 LF-Tag 权限。
有关最佳实践和注意事项,请参阅 Lake Formation 基于标签的访问控制最佳实践和注意事项
主题
的生命周期 LF-Tag
-
LF-Tag 创作者迈克尔创造了一个 LF-Tag
module=Customers. -
迈克尔授 LF-Tag 予
Associate了数据工程师爱德华多。授予Associate会隐式授予Describe权限。 -
迈克尔
Custs向爱德华多授予了赠款选项,这样爱德华多就可以分配 LF-Tags 给桌子。Super有关更多信息,请参阅 分配 LF-Tags 给数据目录资源。 -
爱德华多分配 LF-Tag
module=customers给桌子。Custs -
Michael 向数据工程师 Sandra 进行了以下授予(使用伪代码)。
GRANT (SELECT, INSERT ON TABLES) ON TAGS module=customers TO Sandra WITH GRANT OPTION -
Sandra 向数据分析师 Maria 进行了以下授予。
GRANT (SELECT ON TABLES) ON TAGS module=customers TO MariaMaria 现在可以对
Custs表运行查询。
另请参阅
比较 Lake Formation 基于标签的访问控制与 IAM 基于属性的访问控制
Attribute-based 访问控制 (ABAC) 是一种基于属性定义权限的授权策略。在中 Amazon,这些属性称为标签。您可以将标签附加到 IAM 资源,包括 IAM 实体(用户或角色)和 Amazon 资源。您可以为 IAM 委托人创建单个 ABAC 策略或者一小组策略。这些 ABAC 策略可设计为在主体的标签与资源标签匹配时允许操作。ABAC 在快速增长的环境中非常有用,并在策略管理变得繁琐的情况下可以提供帮助。
云安全和治理团队使用 IAM 为所有资源定义访问策略和安全权限,包括 Amazon S3 存储桶、Amazon EC2 实例以及您可以使用 ARN 引用的任何资源。IAM 策略定义了对数据湖资源的广泛(粗粒度)权限,例如,允许或拒绝 Amazon S3 存储桶或前缀级别或数据库级别的访问。有关 IAM ABAC 的更多信息,请参阅 ABAC 有什么用? Amazon在 IAM 用户指南中。
例如,您可以创建具有 project-access 标签键的三个角色。将第一个角色的标签值设置为 Dev,第二个为 Marketing,第三个为 Support。向资源分配具有适当值的标签。然后,您可以使用单个策略,在角色和资源标记了 project-access 的相同值时允许访问。
数据治理团队使用 Lake Formation 来定义对特定数据湖资源的精细权限。 LF-Tags 分配给数据目录资源(数据库、表和列),并授予委托人。与资源匹配 LF-Tags LF-Tags 的委托人可以访问该资源。Lake Formation 权限次要于 IAM 权限。例如,如果 IAM 权限不允许用户访问数据湖,那么 Lake Formation 不会向该用户授予访问该数据湖内任何资源的权限,即使委托人和资源匹配也是如此 LF-Tags。
基于 Lake Formation 标签的访问控制 (LF-TBAC) 与 IAM ABAC 配合使用,为您的 Lake Formation 数据和资源提供更多级别的权限。
-
Lake Formation TBAC 权限随着创新而扩展。它不再需要管理员更新现有策略以允许对新资源的访问。例如,假设您使用带有
project-access标签的 IAM ABAC 策略来提供对 Lake Formation 中特定数据库的访问权限。使用 LF-TBAC LF-TagProject=SuperApp,会将分配给特定的表或列,并向该项目的开发人员授予同样 LF-Tag 的权限。通过 IAM,开发人员可以访问数据库, LF-TBAC 权限授予开发者进一步访问表或表中特定列的权限。如果将新表添加到项目中,则 Lake Formation 管理员只需将标签分配给新表,开发人员即可获得对该表的访问权限。 -
Lake Formation TBAC 需要较少的 IAM 策略。由于您使用 IAM 策略来授予对 Lake Formation 资源的高级访问权限,并使用 Lake Formation TBAC 来管理更精确的数据访问,因此您创建的 IAM 策略更少。
-
使用 Lake Formation TBAC,团队可以快速变化和成长。这是因为新资源的权限根据属性自动授予。例如,如果有新开发者加入该项目,则可以通过将 IAM 角色与该用户关联,然后将所需的角色分配给该用户 LF-Tags 来轻松授予该开发人员访问权限。您不必为了支持新项目或创建新项目而更改 IAM 策略 LF-Tags。
-
Finer-grained 使用 Lake Formation TBAC 可以获得权限。IAM 策略授予对顶级资源(例如数据目录数据库或表)的访问权限。使用 Lake Formation TBAC,您可以授予对包含特定数据值的特定表或列的访问权限。
注意
IAM 标签与不同 LF-Tags。这些标签不可互换。 LF-Tags 用于授予 Lake Formation 权限,IAM 标签用于定义 IAM 策略。