分配和管理 EMR Studio 用户
创建 EMR Studio 后,您可以分配用户和组到 EMR Studio。分配、更新和删除用户的方法取决于 Studio 身份验证模式。
-
当您使用 IAM 身份验证模式时,可以在 IAM 中或使用 IAM 和身份提供商配置 EMR Studio 用户任务和权限。
-
通过 IAM Identity Center 身份验证模式,您可以使用 Amazon EMR 管理控制台或 Amazon CLI 管理用户。
要了解有关 Amazon EMR Studio 身份验证的更多信息,请参阅 为 Amazon EMR Studio 选择身份验证模式。
将用户或组分配到 EMR Studio
- IAM
-
当您使用 为 Amazon EMR Studio 设置 IAM 身份验证模式 时,必须允许
CreateStudioPresignedUrl
在用户的 IAM 权限策略中执行操作,并将用户限制到某一特定 Studio。您可以将CreateStudioPresignedUrl
包括在您的 IAM 身份验证模式的用户权限 中,或者使用单独的策略。要将用户限制到某一 Studio(或某一组 Studio),您可以使用基于属性的访问控制 (ABAC),或在权限策略的
Resource
元素中指定 Studio 的 Amazon Resource Name (ARN)。例 使用 Studio ARN 将用户分配到 Studio
以下示例策略允许用户访问特定 EMR Studio,方法是允许
CreateStudioPresignedUrl
操作并在Resource
元素指定 Studio 的 Amazon Resource Name (ARN)。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:
<region>
:<account-id>
:studio/<studio-id>
" } ] }例 使用 ABAC 将用户分配至 Studio 以进行 IAM 身份验证
为 Studio 配置基于属性的访问控制 (ABAC) 的方法有多种。例如,您可以将一个或多个标签附加到 EMR Studio,然后创建 IAM policy,该策略限制附有此类标签的特定或一组 Studio 进行
CreateStudioPresignedUrl
操作。您可以在 Studio 创建期间或之后添加标签。要将标签添加到现有 Studio,您可以使用 Amazon CLI
emr add-tags
命令。以下示例将带有键值对的标签 Team = Data Analytics
添加到 EMR Studio。aws emr add-tags --resource-id
<example-studio-id>
--tags team="Data Analytics"以下示例权限策略允许
CreateStudioPresignedUrl
使用标签键值对Team = DataAnalytics
为 EMR Studios 执行的操作。有关使用标签进行访问控制的更多信息,请参阅使用标签控制对 IAM 用户和角色的访问或使用标签控制对 Amazon 资源的访问。{ "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 联合身份验证时,您可以使用权限策略的全局条件密钥 (global condition key)
aws:SourceIdentity
,以便在用户担任 IAM 角色进行联合身份验证时向他们授予 Studio 访问权限。您必须先配置身份提供商 (IdP),以便在用户对联合身份进行身份验证并担任 IAM 角色时返回标识字符串,例如:电子邮件地址或用户名。IAM 将全局条件密钥 (global condition key)
aws:SourceIdentity
设置为身份提供商 (IdP) 返回的标识字符串。有关更多信息,请参阅 Amazon 安全博客中的如何将 IAM 角色活动与公司身份关联起来
的博客文章,以及全局条件密钥参考中的 aws:SourceIdentity 条目。 以下示例策略允许
CreateStudioPresignedUrl
操作并为用户提供aws:SourceIdentity
,匹配<example-source-identity>
访问由<example-studio-arn>
指定的 EMR Studio。{ "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 的多个组,EMR Studio 则将为该用户使用权限联合。
使用 EMR 控制台将用户或组分配到 EMR Studio
通过以下链接登录Amazon Web Services Management Console并打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/
。 -
从左侧导航中选择 EMR Studio。
-
从 Studios 列表选择您的 Studio 名称,或选择 Studio 后选择 View details (查看详细信息),以打开 Studio 详细信息页面。
-
选择 Add Users (添加用户) 以查看 Users (用户) 和 Groups (组) 搜索表。
-
选择 Users (用户) 选项卡或 Groups (组) 选项卡,然后在搜索栏中输入搜索词以查找用户或组。
-
从搜索结果列表中选择一个或多个用户或组。您可以在 Users (用户) 选项卡和 Groups (组) 选项卡之间来回切换。
-
选择要添加到 Studio 的用户和组后,选择 Add (添加)。您应该会看到 Studio users (Studio 用户) 列表中显示用户和组。列表可能需要几秒钟才能刷新。
-
按照更新分配给 Studio 的用户或组的权限中的说明优化用户或组的 Studio 权限。
使用Amazon CLI,将用户或组分配到 EMR Studio
为以下
create-studio-session-mapping
参数插入您自己的值。有关create-studio-session-mapping
命令的更多信息,请参阅 Amazon CLI 命令参考。-
--studio-id
– 要将用户或组分配到 Studio 的 ID。有关如何检索 Studio ID 的说明,请参阅 查看 Studio 详细信息。 -
--identity-name
– Identity Store 中的用户或组的名称。有关更多信息,请参阅《 Identity Store API 参考》中的用户的 UserName 和组的 DisplayName。 -
--identity-type
– 使用USER
或GROUP
指定身份类型。 -
--session-policy-arn
– 您要与用户或组关联的会话策略的 Amazon Resource Name(ARN)。例如:arn:aws:iam::
。有关更多信息,请参阅 为 EMR Studio 用户创建权限策略。<aws-account-id>
:policy/EMRStudio_Advanced_User_Policy
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
命令验证新分配。将<example-identity-name>
替换为您更新的用户或组的 IAM Identity Center 名称。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 权限
通过以下链接登录Amazon Web Services Management Console并打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/
。 -
从左侧导航中选择 EMR Studio。
-
从 Studios 列表选择您的 Studio 名称,或选择 Studio 后选择 View details (查看详细信息),以打开 Studio 详细信息页面。
-
在 Studio 详细信息页面上的 Studio users (Studio 用户) 列表中,搜索要更新的用户或组。您可以按名称或身份类型进行搜索。
-
选择要更新的用户或组,然后选择 Assign policy (分配策略) 以打开 Session policy (会话策略) 对话框。
-
选择要应用于您在步骤 5 中选择的用户或组的策略,然后选择 Apply policy (应用策略)。Studio users (Studio 用户) 列表应在 Session policy (会话策略) 列中显示您更新的用户或组的策略名称。
使用 Amazon CLI更新用户或组的 EMR Studio 权限
为以下
update-studio-session-mappings
参数插入您自己的值。有关update-studio-session-mappings
命令的更多信息,请参阅 Amazon 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
命令验证新的会话策略分配。将<example-identity-name>
替换为您更新的用户或组的 IAM Identity Center 名称。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 中删除用户或组,必须通过重新配置用户的 IAM 权限策略来撤销该用户对 Studio 的访问权限。
在以下示例策略中,假设您有附加标签键值对
Team = Quality Assurance
的 EMR Studio。根据该策略,用户可以访问标有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 中删除用户或组
通过以下链接登录Amazon Web Services Management Console并打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/
。 -
从左侧导航中选择 EMR Studio。
-
从 Studios 列表选择您的 Studio 名称,或选择 Studio 后选择 View details (查看详细信息),以打开 Studio 详细信息页面。
-
在 Studio 详细信息页面上的 Studio users (Studio 用户) 列表中,查找要从 Studio 中删除的用户或组。您可以按名称或身份类型进行搜索。
-
选择要删除的用户或组,选择 Delete (删除) 并确认。您删除的用户或组将从 Studio users (Studio 用户) 列表中消失。
使用Amazon CLI 从 EMR Studio 中删除用户或组
为以下
delete-studio-session-mapping
参数插入您自己的值。有关delete-studio-session-mapping
命令的更多信息,请参阅 Amazon 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>
\