分配和管理 EMR Studio 用户 - Amazon EMR

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

分配和管理 EMR Studio 用户

创建 EMR Studio 后,您可以为其分配用户和群组。分配、更新和删除用户的方法取决于 Studio 身份验证模式。

  • 使用IAM身份验证模式时,可以在身份提供商中IAM或与身份提供商一起配置 EMR Studio 用户分配IAM和权限。

  • 在 I IAM dentity Center 身份验证模式下,您可以使用 Amazon EMR 管理控制台或 AWS CLI 来管理用户。

要了解有关 Amazon EMR Studio 身份验证的更多信息,请参阅为 Amazon EMR Studio 选择一种身份验证模式

将用户或群组分配给 EMR Studio

IAM

使用时为 Amazon EMR Studio 设置IAM身份验证模式,您必须在用户的IAM权限策略中允许该CreateStudioPresignedUrl操作,并将用户限制在特定 Studio 中。您可以将 CreateStudioPresignedUrl 包括在您的 IAM 身份验证模式的用户权限 中,或者使用单独的策略。

要将用户限制到一个工作室(或一组工作室),您可以使用基于属性的访问控制 (ABAC) 或在权限策略的Resource元素中指定工作室的 Amazon 资源名称 (ARN)。

例 使用工作室将用户分配到工作室 ARN

以下示例策略允许用户访问特定 EMR Studio,并在Resource元素中指定工作室的 Amazon 资源名称 (ARN)。CreateStudioPresignedUrl

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:<region>:<account-id>:studio/<studio-id>" } ] }
例 将用户分配到ABAC用于IAM身份验证的 Studio

有多种方法可以为 Studio 配置基于属性的访问控制 (ABAC)。例如,您可以将一个或多个标签附加到 EMR Studio,然后创建一个IAM策略,将CreateStudioPresignedUrl操作限制在具有这些标签的特定工作室或一组工作室中。

您可以在 Studio 创建期间或之后添加标签。要将标签添加到现有 Studio,您可以使用 AWS CLIemr add-tags 命令。以下示例将带有键值对的标签添加Team = Data Analytics到 Studio。EMR

aws emr add-tags --resource-id <example-studio-id> --tags Team="Data Analytics"

以下示例权限策略允许使用标签键值对的 EMR Studios CreateStudioPresignedUrl 执行操作。Team = DataAnalytics有关使用标签进行访问控制的更多信息,请参阅使用标签控制对 IAM 用户和角色的访问以及他们进行的访问使用标签控制对 AWS 资源的访问

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:<region>:<account-id>:studio/*", "Condition": { "StringEquals": { "elasticmapreduce:ResourceTag/Team": "Data Analytics" } } } ] }
例 使用 aws: SourceIdentity 全局条件键将用户分配到 Studio

使用IAM联合身份验证时,您可以使用权限策略中的全局条件密钥aws:SourceIdentity在用户担任您的联合IAM角色时向他们授予 Studio 访问权限。

您必须首先配置您的身份提供商 (IdP),使其在用户进行身份验证并担任您的联合IAM角色时返回标识字符串,例如电子邮件地址或用户名。IAM将全局条件密钥设置aws:SourceIdentity为 IdP 返回的标识字符串。

有关更多信息,请参阅 AWS 安全博客中的如何将IAM角色活动与企业身份关联博客文章和全局条件键参考中的 a ws: SourceIdentity 条目。

以下示例策略允许执行该CreateStudioPresignedUrl操作,并为用户提供与之aws:SourceIdentity匹配的 <example-source-identity> 访问指定工作EMR室的权限 <example-studio-arn>.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticmapreduce:CreateStudioPresignedUrl", "Resource": "<example-studio-arn>", "Condition": { "StringLike": { "aws:SourceIdentity": "<example-source-identity>" } } } ] }
IAM Identity Center

将用户或组分配给 EMR Studio 时,您可以指定会话策略,该策略为该用户或组定义了细粒度的权限,例如创建新EMR集群的能力。Amazon EMR 存储这些会话策略映射。您可以在分配后更新用户或组的会话策略。

注意

用户或组的最终权限是在您的 EMR Studio 用户角色中定义的权限与该用户或组的会话策略中定义的权限的交集。如果用户属于分配给 Studio 的多个群组,EMRStudio 会对该用户使用权限并集。

使用亚马逊EMR控制台将用户或群组分配给 EMR Studio
  1. 导航到新的 Amazon EMR 控制台,然后从侧面导航栏中选择 “切换到旧主机”。有关切换到旧控制台后预期情况的更多信息,请参阅 Using the old console

  2. 从左侧导航栏中选择 EMRStudio

  3. Studios 列表选择您的 Studio 名称,或选择 Studio 后选择 View details (查看详细信息),以打开 Studio 详细信息页面。

  4. 选择 Add Users (添加用户) 以查看 Users (用户)Groups (组) 搜索表。

  5. 选择 Users (用户) 选项卡或 Groups (组) 选项卡,然后在搜索栏中输入搜索词以查找用户或组。

  6. 从搜索结果列表中选择一个或多个用户或组。您可以在 Users (用户) 选项卡和 Groups (组) 选项卡之间来回切换。

  7. 选择要添加到 Studio 的用户和组后,选择 Add (添加)。您应该会看到 Studio users (Studio 用户) 列表中显示用户和组。列表可能需要几秒钟才能刷新。

  8. 按照更新分配给 Studio 的用户或组的权限中的说明优化用户或组的 Studio 权限。

使用 EMR Studio 将用户或群组分配给 Studio AWS CLI

为以下 create-studio-session-mapping 参数插入您自己的值。有关 create-studio-session-mapping 命令的更多信息,请参阅 AWS CLI 命令参考

  • --studio-id – 要将用户或组分配到 Studio 的 ID。有关如何检索 Studio ID 的说明,请参阅 查看 Studio 详细信息

  • --identity-name – Identity Store 中的用户或组的名称。有关更多信息,UserName请参阅 Ident ity Store API 参考中的用户和DisplayName群组信息。

  • --identity-type – 使用 USERGROUP 指定身份类型。

  • --session-policy-arn— 您要与用户或群组关联的会话策略的 Amazon 资源名称 (ARN)。例如,arn:aws:iam::<aws-account-id>:policy/EMRStudio_Advanced_User_Policy。有关更多信息,请参阅 为 EMR Studio 用户创建权限策略

aws emr create-studio-session-mapping \ --studio-id <example-studio-id> \ --identity-name <example-identity-name> \ --identity-type <USER-or-GROUP> \ --session-policy-arn <example-session-policy-arn>
注意

为了便于读取,包含 Linux 行继续符(\)。它们可以通过 Linux 命令删除或使用。对于 Windows,请将它们删除或替换为脱字号(^)。

使用 get-studio-session-mapping 命令验证新分配。Replace(替换) <example-identity-name> 使用您更新的用户或组的IAM身份中心名称。

aws emr get-studio-session-mapping \ --studio-id <example-studio-id> \ --identity-type <USER-or-GROUP> \ --identity-name <user-or-group-name> \

更新分配给 Studio 的用户或组的权限

IAM

要在使用IAM身份验证模式时更新用户或群组IAM权限,请使用IAM更改附加到您的IAM身份(用户、群组或角色)的权限策略。

有关更多信息,请参阅 IAM 身份验证模式的用户权限

IAM Identity Center
使用控制台更新用户或群组的 EMR Studio 权限
  1. 导航到新的 Amazon EMR 控制台,然后从侧面导航栏中选择 “切换到旧主机”。有关切换到旧控制台后预期情况的更多信息,请参阅 Using the old console

  2. 从左侧导航栏中选择 EMRStudio

  3. Studios 列表选择您的 Studio 名称,或选择 Studio 后选择 View details (查看详细信息),以打开 Studio 详细信息页面。

  4. 在 Studio 详细信息页面上的 Studio users (Studio 用户) 列表中,搜索要更新的用户或组。您可以按名称或身份类型进行搜索。

  5. 选择要更新的用户或组,然后选择 Assign policy (分配策略) 以打开 Session policy (会话策略) 对话框。

  6. 选择要应用于您在步骤 5 中选择的用户或组的策略,然后选择 Apply policy (应用策略)Studio users (Studio 用户) 列表应在 Session policy (会话策略) 列中显示您更新的用户或组的策略名称。

要更新用户或群组的 EMR Studio 权限,请使用 AWS CLI

为以下 update-studio-session-mappings 参数插入您自己的值。有关 update-studio-session-mappings 命令的更多信息,请参阅 AWS CLI 命令参考

aws emr update-studio-session-mapping \ --studio-id <example-studio-id> \ --identity-name <name-of-user-or-group-to-update> \ --session-policy-arn <new-session-policy-arn-to-apply> \ --identity-type <USER-or-GROUP> \

使用 get-studio-session-mapping 命令验证新的会话策略分配。Replace(替换) <example-identity-name> 使用您更新的用户或组的IAM身份中心名称。

aws emr get-studio-session-mapping \ --studio-id <example-studio-id> \ --identity-type <USER-or-GROUP> \ --identity-name <user-or-group-name> \

从 Studio 中删除用户或组

IAM

要在使用IAM身份验证模式时从 EMR Studio 中移除用户或群组,必须通过重新配置用户的权限策略来撤消该用户对 Studio 的访问IAM权限。

在以下示例策略中,假设您有一个带有标签键值对的 EMR Studio。Team = Quality Assurance根据该策略,用户可以访问标有 Team 键的 Studios,该键的值等于 Data Analytics 或者 Quality Assurance。要从标记为 Team = Quality Assurance 的 Studio 中删除用户,必须从标签值列表中删除 Quality Assurance

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:<region>:<account-id>:studio/*", "Condition": { "StringEquals": { "emr:ResourceTag/Team": [ "Data Analytics", "Quality Assurance" ] } } } ] }
IAM Identity Center
使用控制台从 EMR Studio 中移除用户或群组
  1. 导航到新的 Amazon EMR 控制台,然后从侧面导航栏中选择 “切换到旧主机”。有关切换到旧控制台后预期情况的更多信息,请参阅 Using the old console

  2. 从左侧导航栏中选择 EMRStudio

  3. Studios 列表选择您的 Studio 名称,或选择 Studio 后选择 View details (查看详细信息),以打开 Studio 详细信息页面。

  4. 在 Studio 详细信息页面上的 Studio users (Studio 用户) 列表中,查找要从 Studio 中删除的用户或组。您可以按名称或身份类型进行搜索。

  5. 选择要删除的用户或组,选择 Delete (删除) 并确认。您删除的用户或组将从 Studio users (Studio 用户) 列表中消失。

要从 EMR Studio 中移除用户或群组,请使用 AWS CLI

为以下 delete-studio-session-mapping 参数插入您自己的值。有关 delete-studio-session-mapping 命令的更多信息,请参阅 AWS CLI 命令参考

aws emr delete-studio-session-mapping \ --studio-id <example-studio-id> \ --identity-type <USER-or-GROUP> \ --identity-name <name-of-user-or-group-to-delete> \