本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
针对跨账户使用场景的其他配置(面向管理员)
要启用跨账户的集群发现,管理员需要向 Studio Classic 的执行角色提供跨账户 IAM 角色的 ARN。 SageMaker SageMaker Studio Classic 的执行角色扮演该远程角色,在信任账户中发现并连接到 Amazon EMR 集群。这个角色的 ARN 在发布时由 Studio Classic 的 Jupyter 服务器加载。
您可以通过两种方式指定此信息。
-
将此远程角色写
emr-discovery-iam-role-arns-DO_NOT_DELETE.json
入名为 SageMaker Studi.cross-account-configuration-DO_NOT_DELETE
o Classic 的 Amazon EFS 存储卷的主目录中的目录中。 -
或者,您可以使用生命周期配置 (LCC) 脚本自动执行此过程。您可以将 LCC 附加到您的域名或特定的用户配置文件中。您使用的 LCC 脚本必须是 JupyterServer 配置。有关如何创建 LCC 脚本的更多信息,请参阅在 Studio Classic 中使用生命周期配置。
以下为示例 LCC 脚本。要修改脚本,请分别使用 ASSUMABLE-ROLE
和 emr-account
替换您的角色名和远程账户 ID。交叉账户的数量限制为五个。
# This script creates the file that informs SageMaker Studio Classic that the role "arn:aws:iam::emr-account:role/ASSUMABLE-ROLE" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account. #!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE" FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat > "$FILE" <<- "EOF" {
emr-cross-account1
: "arn:aws:iam::emr-cross-account1
:role/ASSUMABLE-ROLE",emr-cross-account2
: "arn:aws:iam::emr-cross-account2
:role/ASSUMABLE-ROLE" } EOF
在 LCC 运行并且文件写入之后,服务器读取文件 /home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json
并存储跨账户 ARN。