本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IAM授予或撤销 Lake Formation 权限所需的权限
所有委托人,包括数据湖管理员,都需要以下 AWS Identity and Access Management (IAM) 权限才能授予或撤销 Lake Formation 或 Lake Formation AWS Lake Formation 的数据目录权限API或数据位置权限: AWS CLI
-
lakeformation:GrantPermissions
-
lakeformation:BatchGrantPermissions
-
lakeformation:RevokePermissions
-
lakeformation:BatchRevokePermissions
-
glue:GetTable
或glue:GetDatabase
,用于使用命名资源方法授予权限的表或数据库。
注意
数据湖管理员具有隐式 Lake Formation 权限,可以授予和撤销 Lake Formation 权限。但是他们仍然需要获得 Lake Formation 授予和撤销API操作的IAM权限。
IAM具有AWSLakeFormationDataAdmin
AWS 托管策略的角色无法添加新的数据湖管理员,因为此策略包含对 Lake Formation API 操作的明确拒PutDataLakeSetting
绝,
对于非数据湖管理员且想要使用 Lake Formation 控制台授予或撤消权限的委托人,建议使用以下IAM策略。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:ListPermissions", "lakeformation:GrantPermissions", "lakeformation:BatchGrantPermissions", "lakeformation:RevokePermissions", "lakeformation:BatchRevokePermissions", "glue:GetDatabases", "glue:SearchTables", "glue:GetTables", "glue:GetDatabase", "glue:GetTable", "iam:ListUsers", "iam:ListRoles", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:DescribeInstance" ], "Resource": "*" } ] }
此策略中的所有glue:
和iam:
权限都可在 AWS 托管策略中使用AWSGlueConsoleFullAccess
。
要使用基于 Lake Formation 标签的访问控制 (LF-TBAC) 来授予权限,委托人需要额外的IAM权限。有关更多信息,请参阅Lake Formation 基于标签的访问控制最佳实践和注意事项 和Lake Formation 角色和IAM权限参考。
跨账户权限
想要使用指定资源方法授予跨账户 Lake Formation 权限的用户还必须拥有AWSLakeFormationCrossAccountManager
AWS 托管策略中的权限。
数据湖管理员需要相同的权限才能授予跨账户权限,还需要有 AWS Resource Access Manager (AWS RAM) 权限才能允许向组织授予权限。有关更多信息,请参阅 数据湖管理员权限。
管理用户
具有管理权限(例如AdministratorAccess
AWS 托管策略)的委托人有权授予 Lake Formation 权限和创建数据湖管理员。要拒绝用户或角色访问 Lake Formation 管理员操作,请在其策略中附加或添加管理员API操作Deny
声明。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lakeformation:GetDataLakeSettings", "lakeformation:PutDataLakeSettings" ], "Effect": "Deny", "Resource": [ "*" ] } ] }
重要
要防止用户使用提取、转换和加载 (ETL) 脚本将自己添加为管理员,请确保拒绝所有非管理员用户和角色访问这些API操作。AWSLakeFormationDataAdmin
AWS
托管策略包含对 Lake Formation API 操作的明确拒绝PutDataLakeSetting
,可防止用户添加新的数据湖管理员。