用于注册位置的角色的要求
在注册 Amazon Simple Storage Service (Amazon S3) 位置时,您必须指定一个 Amazon Identity and Access Management (IAM) 角色。Amazon Lake Formation 在访问该位置中的数据时将代入该角色。
您可以使用以下角色类型之一来注册位置:
-
Lake Formation 服务相关角色。此角色授予对该位置的所需权限。使用此角色是注册位置的最简单方法。有关更多信息,请参阅在 Lake Formation 中使用服务相关角色和服务相关角色限制。
-
用户定义的角色。当您需要授予的权限多于服务相关角色提供的权限时,请使用用户定义的角色。
在以下情况下,您必须使用用户定义的角色:
-
在其他账户中注册位置时。
有关更多信息,请参阅在其他 Amazon 账户中注册 Amazon S3 位置和跨 Amazon 账户注册加密的 Amazon S3 位置。
-
如果您使用 Amazon 托管 CMK (
aws/s3) 对 Amazon S3 位置进行加密。有关更多信息,请参阅注册加密的 Amazon S3 位置。
-
如果您计划使用 Amazon EMR。
如果您已使用服务相关角色注册了某个位置,并且想要开始使用 Amazon EMR 访问该位置,则必须取消注册该位置,然后使用用户定义的角色重新注册该位置。有关更多信息,请参阅取消注册 Amazon S3 位置。
-
以下是用户定义的角色的要求:
-
创建新角色时,在 IAM 控制台的创建角色页面上,选择 Amazon 服务,然后在选择一个使用案例下选择 Lake Formation。
如果使用其他路径创建角色,请确保该角色与
lakeformation.amazonaws.com具有信任关系。有关更多信息,请参阅修改角色信任策略(控制台)。 -
该角色必须具有授予 Amazon S3 对该位置的读/写权限的内联策略。以下是典型的策略。
-
将以下信任策略添加到 IAM 角色,以便 Lake Formation 服务代入该角色并将临时凭证提供给集成的分析引擎。
要在 CloudTrail 日志中包含 IAM Identity Center 用户上下文,信任策略必须具有
sts:SetContext操作的权限。 -
注册该位置的数据湖管理员必须具有对该角色的
iam:PassRole权限。以下是授予此权限的内联策略。将
<account-id>替换为有效的 Amazon 账号,并将<role-name>替换为该角色的名称。 -
要允许 Lake Formation 在 CloudWatch Logs 中添加日志并发布指标,请添加以下内联策略。
注意
写入 CloudWatch Logs 会产生费用。