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 用户和角色的用户。Has thesAdministratorAccess Amazon托管策略。拥有所有Lake Formation 资源的所有权限。可以添加数据湖管理员。如果未同时指定数据湖管理员,则无法授予 Lake Formation 权限。
数据湖管理员 (必需)具有以下权限的用户:注册 Amazon S3 位置、访问数据目录、创建数据库、创建和运行工作流程、向其他用户授予 Lake Formation 权限以及查看Amazon CloudTrail日志。IAM 权限少于 IAM 管理员,但足以管理数据湖。无法添加其他数据湖管理员。
数据工程师 (可选)可以创建数据库、创建和运行爬网程序和工作流,以及授予 Lake Formation 对爬网程序和工作流创建的 Data Catalog 表的权限的用户。我们建议您将所有数据工程师设置为数据库创建者。有关更多信息,请参阅 创建数据库
数据分析人员 (可选)可以对数据湖运行查询的用户,例如Amazon Athena. 只有足够的权限运行查询。
工作流角色 (必需)代表用户运行工作流的角色。您可在从蓝图创建工作流时指定此角色。

角色 A 建议的权限

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

数据湖管理员权限

重要

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

策略类型 策略
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" } ] }
(可选)内联策略(工作流角色的密码策略)。仅当数据湖管理员创建并运行工作流时,才需要执行此操作。
{ "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>具有工作流角色的名称。

策略类型 策略
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": "*" } ] }
内联策略(工作流角色的密码策略)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

数据分析员权限

策略类型 策略
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" ], "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日志。

策略类型 策略
Amazon 托管式策略 AWSGlueServiceRole
内联策略(数据访问)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Lakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" } ] }
内联策略(工作流角色的密码策略)
{ "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>/*"] } ] }