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

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

Lake Formation 人物和 IAM 权限参考

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

AWS Lake Formation 角色

下表列出了 AWS Lake Formation 角色。

成湖角色
角色a Description
IAM管理员(超级用户) (必填)可以创建 IAM 用户和角色。有 AdministratorAccess AWS管理策略。具有所有权限 Lake Formation 资源。可以添加数据湖管理员。无法授予 Lake Formation 权限(如果未指定数据湖管理员)。
数据湖管理员 (必填)可以注册的用户 Amazon S3 位置,访问 Data Catalog、创建数据库、创建和运行工作流、授予 Lake Formation 其他用户的权限,以及查看 AWS CloudTrail 记录。更少 IAM 权限 IAM ,但足以管理数据湖。无法添加其他数据湖管理员。
数据工程师 (可选)可以创建和运行爬网器和工作流并授予 Lake Formation 上的权限 Data Catalog 爬网器和工作流创建的表格。
数据分析师 (可选)可以使用(例如)对数据湖运行查询的用户 Amazon Athena. 仅有足够的权限运行查询。
工作流角色 (必填)代表用户运行工作流的角色。从蓝图创建工作流时,您可以指定此角色。

Personas建议权限

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

DataLake管理员权限

重要

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

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

  • AWSGlueConsoleFullAccess (可选)

  • CloudWatchLogsReadOnlyAccess (可选)

  • AWSLakeFormationCrossAccountManager (可选)

  • AmazonAthenaFullAccess (可选)

有关可选 AWS 托管策略,请参阅 创建DataLake管理员.

在线策略(用于创建 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>" ] } ] }
(可选)Inline政策(如果您的账户授予或接收交叉账户 Lake Formation 权限)。本政策适用于接受或拒绝 AWS RAM 资源共享邀请,并用于向组织授予跨帐户权限。ram:EnableSharingWithAwsOrganization 仅适用于数据湖管理员, AWS Organizations 管理账户.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }

数据工程师权限

重要

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

策略类型 Policy
AWS管理策略 AWSGlueConsoleFullAccess
内联政策(基本)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions", "lakeformation:RevokePermissions", "lakeformation:BatchGrantPermissions", "lakeformation:BatchRevokePermissions", "lakeformation:ListPermissions", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Resource": "*" } ] }
内联政策(工作流角色的被动政策)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

数据分析师权限

策略类型 Policy
AWS管理策略 AmazonAthenaFullAccess
内联政策(基本)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions" ], "Resource": "*" } ] }

工作流角色权限

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

重要

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

策略类型 Policy
AWS管理策略 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>" ] } ] }
内联策略(用于数据湖外的拷贝数据,例如, AWS CloudTrail 日志)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }