在 Lake Formation 中使用服务相关角色 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Lake Formation 中使用服务相关角色

Amazon Lake Formation 使用 Amazon Identity and Access Management (IAM) 服务相关角色。服务相关角色是一种独特类型的 IAM 角色,它与 Lake Formation 直接相关。服务相关角色是由 Lake Formation 预定义的,包含该服务代表您调用其他 Amazon 服务所需的所有权限。

服务相关角色可让您更轻松地设置 Lake Formation,因为您不必创建角色并手动添加必要的权限。Lake Formation 定义其服务相关角色的权限,除非另有定义,否则只有 Lake Formation 可以代入该角色。定义的权限包括信任策略和权限策略,以及不能附加到任何其他 IAM 实体的权限策略。

此服务相关角色仅信任以下服务来代入该角色:

  • lakeformation.amazonaws.com

Lake Formation 的服务相关角色权限

Lake Formation 使用名为 AWSServiceRoleForLakeFormationDataAccess 的服务相关角色。此角色提供了一组 Amazon Simple Storage Service (Amazon S3) 权限,使 Lake Formation 集成服务(如 Amazon Athena)能够访问注册位置。注册数据湖位置时,您必须提供对该位置具有所需 Amazon S3 读/写权限的角色。您可以使用此服务相关角色,而不是创建具有所需 Amazon S3 权限的角色。

首次将服务相关角色命名为用于注册路径的角色时,将代表您创建服务相关角色和新的 IAM 策略。Lake Formation 将路径添加到内联策略,并将其附加到服务相关角色。当您向服务相关角色注册后续路径时,Lake Formation 会将该路径添加到现有策略中。

以数据湖管理员身份登录后,注册数据湖位置。然后,在 IAM 控制台中,搜索角色 AWSServiceRoleForLakeFormationDataAccess 并查看其附加的策略。

例如,在您注册位置 s3://my-kinesis-test/logs 后,Lake Formation 会创建以下内联策略并将其附加到 AWSServiceRoleForLakeFormationDataAccess

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPermissionsForS3", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::my-kinesis-test/logs/*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3ListBucket", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::my-kinesis-test" ] } ] }

需要以下权限才能使用此服务相关角色注册位置:

  • iam:CreateServiceLinkedRole

  • iam:PutRolePolicy

数据湖管理员通常具有这些权限。