Lake Formation 角色角色和 IAM 权限参考 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Lake Formation 角色角色和 IAM 权限参考

本章列出了一些建议Amazon Lake Formation角色和他们的建议Amazon Identity and Access Management(IAM) 权限。有关 Lake Formation 权限的信息,请参阅Lake Formation 权限参考.

Amazon Lake Formation角色

下表列出了建议的Amazon Lake Formation角色角色。

Lake Formation 角色
角色 描述
IAM 管理员(超级用户) (必填)可以创建 IAM 用户和角色的用户。有没有AdministratorAccess Amazon托管策略。对所有 Lake Formation 资源拥有所有权限。可以添加数据湖管理员。如果没有指定数据湖管理员,则无法授予 Lake Formation 权限。
数据湖管理员 (必需)可以注册 Amazon S3 位置、访问数据目录、创建数据库、创建和运行工作流、向其他用户授予 Lake Formation 权限以及查看Amazon CloudTrail日志。IAM 权限比 IAM 管理员少,但足以管理数据湖。无法添加其他数据湖管理员。
数据工程师 (可选)可以创建数据库、创建和运行爬网程序和工作流程以及授予 Lake Formation 对爬虫和工作流创建的数据目录表的权限的用户。我们建议您让所有数据工程师数据库创建者。有关更多信息,请参阅 创建数据库
数据分析人员 (可选)可以对数据湖运行查询的用户例如,Amazon Athena. 只有足够的权限来运行查询。
工作流角色 (必需)代表用户运行工作流的角色。从蓝图创建工作流时,您可指定此角色。

角色角色

以下是针对每个角色的建议权限。不包括 IAM 管理员,因为该用户对所有资源拥有所有权限。

数据湖管理员权限

重要

在以下策略中,替换<account-id>有效Amazon账号,然后替换<workflow_role>具有运行工作流权限的角色的名称,如中所定义工作流角色权限.

策略类型 Policy
Amazon托管策略
  • AWSLakeFormationDataAdmin

  • AWSGlueConsoleFullAccess(可选)

  • CloudWatchLogsReadOnlyAccess(可选)

  • AWSLakeFormationCrossAccountManager(可选)

  • AmazonAthenaFullAccess(可选)

有关可选的信息Amazon托管策略,请参阅创建数据湖管理员.

内联策略(用于创建 Lake Formation 服务相关角色)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
(可选)内联策略(工作流角色的 passrole 策略)。仅当数据湖管理员创建并运行工作流时,才需要这样做。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
(可选)内联策略(如果您的账户正在授予或接收跨账户 Lake Formation 权限)。本政策用于接受或拒绝Amazon RAM资源共享邀请,以及允许向组织授予跨账户权限。ram:EnableSharingWithAwsOrganization只有中的数据湖管理员才需要Amazon Organizations管理账户。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }

数据工程师权限

重要

在以下策略中,替换<account-id>有效Amazon账号,然后替换<workflow_role>具有工作流角色的名称。

策略类型 Policy
Amazon 托管式策略 AWSGlueConsoleFullAccess
内联策略(基本)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions", "lakeformation:RevokePermissions", "lakeformation:BatchGrantPermissions", "lakeformation:BatchRevokePermissions", "lakeformation:ListPermissions", "lakeformation:AddLFTagsToResource", "lakeformation:RemoveLFTagsFromResource", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags", "lakeformation:GetWorkUnits", "lakeformation:GetWorkUnitResults", "lakeformation:StartQueryPlanning", "lakeformation:GetQueryState", "lakeformation:GetQueryStatistics" ], "Resource": "*" } ] }
内联策略(用于对受管理表的操作,包括事务中的操作)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:DescribeTransaction", "lakeformation:ListTransactions", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects", "lakeformation:DeleteObjectsOnCancel" ], "Resource": "*" } ] }
内联策略(用于使用基于 Lake Formation 标记的访问控制 (LF-TBAC) 方法的元数据访问控制)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:AddLFTagsToResource", "lakeformation:RemoveLFTagsFromResource", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
内联策略(工作流角色的 passrole 策略)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

数据分析师权限

策略类型 Policy
Amazon 托管式策略 AmazonAthenaFullAccess
内联策略(基本)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags", "lakeformation:GetWorkUnits", "lakeformation:StartQueryPlanning", "lakeformation:GetWorkUnitResults", "lakeformation:GetQueryState", "lakeformation:GetQueryStatistics" ], "Resource": "*" } ] }
(可选)内联策略(用于对受管理表进行的操作,包括事务中的操作)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:DescribeTransaction", "lakeformation:ListTransactions", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects", "lakeformation:DeleteObjectsOnCancel" ], "Resource": "*" } ] }

工作流角色权限

此角色具有运行工作流所需的权限。您可在创建工作流时指定具有这些权限的角色。

重要

在以下策略中,替换<region>有效Amazon区域标识符(例如us-east-1),<account-id>有效Amazon账号,<workflow_role>使用工作流角色的名称,以及<your-s3-cloudtrail-bucket>使用 Amazon S3 路径Amazon CloudTrail日志。

策略类型 Policy
Amazon 托管式策略 AWSGlueServiceRole
内联策略(数据访问)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Lakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" } ] }
内联策略(工作流角色的 passrole 策略)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
内联策略(例如,用于在数据湖之外提取数据,Amazon CloudTrail日志)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }