本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 Amazon EMR 集群列表
管理员可以为 SageMaker Studio 执行角色配置权限,以授予用户查看他们有权访问的 Amazon EMR 集群列表的能力,从而允许他们连接到这些集群。您要访问的集群可以部署在与 Studio 相同的 AWS 账户中(选择单一账户),也可以部署在不同的账户中(选择跨账户)。下页介绍如何授予从 Studio 或 Studio Classic 查看 Amazon EMR 集群的权限。
重要
您只能发现并连接到从私有空间启动的 Studio Classic 应用程序的 Amazon EMR 集群。 JupyterLab 确保 Amazon EMR 集群与您的 Studio 环境位于同一 AWS 区域。
要让数据科学家发现并 EMRclusters 从 Studio 或 Studio Classic 连接到亚马逊,请按照以下步骤操作。
如果您的 Amazon EMR 集群和 Studio 或 Studio Classic 部署在同一个 AWS 账户中,请向访问您的集群的 SageMaker AI 执行角色授予以下权限。
-
步骤 1:检索您的私有空间使用的 SageMaker AI 执行角色的 ARN。
有关 SageMaker AI 中的空间和执行角色的信息,请参阅了解域空间权限和执行角色。
有关如何检索 A SageMaker I 执行角色的 ARN 的更多信息,请参阅。获取执行角色
-
步骤 2:将以下权限附加到访问您的 Amazon EMR 集群的 Amazon EMR 集群的 A SageMaker I 执行角色。
注意
基于角色的访问控制 (RBAC) 连接到 Amazon EMR 集群的用户也应参考 当 Amazon EMR 集群和 Studio 位于同一账户时,配置运行时系统角色身份验证。
在开始之前,请检索私有空间使用的 SageMaker AI 执行角色的 ARN。
有关 SageMaker AI 中的空间和执行角色的信息,请参阅了解域空间权限和执行角色。
有关如何检索 A SageMaker I 执行角色的 ARN 的更多信息,请参阅。获取执行角色
如果 Amazon EMR 集群和 Studio 或 Studio Classic 分别部署在不同的 AWS 账户中,则需要在这两个账户上配置权限。
注意
基于角色的访问控制 (RBAC) 连接到 Amazon EMR 集群的用户也应参考 当集群和 Studio 位于不同的账户中时,配置运行时系统角色身份验证。
在 Amazon EMR 集群账户上
请按照以下步骤在部署 Amazon EMR 的账户(也称为信任账户)上创建必要的角色和策略:
-
步骤 1:读取 Amazon EMR 集群服务角色的 ARN。
要了解如何查找集群服务角色的 ARN,请参阅为 Amazon EMR 对 AWS 服务和资源的权限配置 IAM 服务角色。
-
步骤 2:使用以下配置创建名为
AssumableRole
的自定义 IAM 角色:-
权限:向
AssumableRole
授予必要的权限,以允许访问 Amazon EMR 资源。在涉及跨账户访问的情况下,该角色也称为访问角色。 -
信任关系:为
AssumableRole
配置信任策略,以允许从需要访问的 Studio 账户承担执行角色(跨账户图中的SageMakerExecutionRole
)。
通过担任该角色,Studio 或 Studio Classic 可以临时访问 Amazon EMR 中所需的权限。
有关如何在您的 Amazon EMR AWS 账户
AssumableRole
中创建新账户的详细说明,请按照以下步骤操作:-
导航到 IAM 控制台
。 -
在左侧导航窗格中,选择策略,然后选择创建策略。
-
在 JSON 选项卡中,添加允许 Amazon EMR 访问和操作的 Amazon EMR 权限。有关策略文件的详细信息,请参阅 参考策略 中的列出 Amazon EMR 策略。用实际值替换
region
和accountID
,然后将语句列表复制到角色的内联策略中。 -
选择下一步,然后提供一个策略名称。
-
选择创建策略。
-
在左侧导航窗格中,选择角色,然后选择创建角色。
-
在创建角色页面上,选择自定义信任策略作为受信任实体。
-
在自定义信任策略部分粘贴以下 JSON 文档,然后选择下一步。
-
在添加权限页面上,添加刚刚创建的权限,然后选择下一步。
-
在审查页面上,输入角色名称(如
AssumableRole
)和可选描述。 -
检查角色详细信息,然后选择 Create role。
有关在 AWS 账户上创建角色的更多信息,请参阅创建 IAM 角色(控制台)。
-
Studio 账户
在部署 Studio 的账户(也称为可信账户)上,更新访问集群的 SageMaker AI 执行角色,使其具有访问信任账户中资源所需的权限。
-
步骤 1:检索您的私有空间使用的 SageMaker AI 执行角色的 ARN。
有关 SageMaker AI 中的空间和执行角色的信息,请参阅了解域空间权限和执行角色。
有关如何检索 A SageMaker I 执行角色的 ARN 的更多信息,请参阅。获取执行角色
-
步骤 2:将以下权限附加到访问您的 Amazon EMR 集群的 Amazon EMR 集群的 A SageMaker I 执行角色。
-
导航到 IAM 控制台
。 -
选择角色,然后在搜索字段中按名称搜索执行角色。角色名称是 ARN 的最后一部分,位于最后一个正斜线 (/) 之后。
-
点击链接进入您的角色。
-
选择添加权限,然后选择创建内联策略。
-
在 JSON 选项卡中,添加授予角色更新域、用户配置文件和空间权限的内联策略。有关策略文档的详细信息,请参阅 参考策略 中的域、用户配置文件和空间更新操作策略。用实际值替换
region
和accountID
,然后将语句列表复制到角色的内联策略中。 -
选择下一步,然后提供一个策略名称。
-
选择创建策略。
-
重复创建内联策略步骤,添加另一个策略,授予执行角色使用
AssumableRole
的权限,然后执行角色访问策略允许的操作。将emr-account
替换为 Amazon EMR 帐户 ID,将AssumableRole
替换为 Amazon EMR 帐户中创建的可承担角色的名称。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::
emr-account
:role/AssumableRole
" ] }] } -
(可选)要允许列出与 Studio 部署在同一账户中的 Amazon EMR 集群,请按照 参考策略 中的列出 Amazon EMR 策略中的定义,在 Studio 执行角色中添加额外的内联策略。
-
-
步骤 3:将您的假设角色(访问角色)与您的域名或用户个人资料相关联。 JupyterLabStudio 中的用户可以使用 SageMaker AI 控制台或提供的脚本。
选择与您的使用场景相对应的选项卡。
请参阅 从 Studio 或 Studio Classic 列出 Amazon EMR 集群,了解如何从 Studio 或 Studio Classic 笔记本发现和连接 Amazon EMR 集群。