使用 IAM 加入 Amazon SageMaker 域 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 IAM 加入 Amazon SageMaker 域

本主题介绍如何使用 Amazon Identity and Access Management (IAM) 身份验证的标准设置过程从 SageMaker 控制台或 Amazon CLI 加入 Amazon SageMaker 域。要更快地使用 IAM 加入,请参阅使用快速设置加入

有关如何使用 Amazon IAM Identity Center (IAM Identity Center) 加入的信息,请参阅使用 IAM Identity Center 加入

使用控制台加入

使用 IAM 加入域
  1. 打开 SageMaker 控制台

  2. 在左侧导航窗格中,选择管理员配置

  3. 管理员配置下,选择

  4. 页面上,选择创建域

  5. 设置 SageMaker 域页面上,选择标准设置

  6. 选择 Configure (配置)

步骤 1:常规设置

  1. 对于域名,输入域的唯一名称。

  2. 对于身份验证,选择 Amazon Identity and Access Management (IAM)

  3. 权限下,对于默认执行角色,从角色选择器中选择一个选项。

    如果您选择输入自定义 IAM 角色 ARN,则该角色必须至少有一个附加的信任策略,以授予 SageMaker 代入该角色的权限。有关更多信息,请参阅 SageMaker 角色

    如果您选择创建新角色,则将打开创建 IAM 角色对话框:

    1. 对于您指定的 S3 存储桶,请指定笔记本的用户可以访问的其他 Amazon S3 存储桶。如果您不希望添加对更多存储桶的访问权限,请选择

    2. 选择创建角色。SageMaker 会创建一个新的 IAM AmazonSageMaker-ExecutionPolicy 角色,并附加 AmazonSageMakerFullAccess 策略。

  4. 对于空间默认执行角色,请从角色选择器中选择选项。

    如果您选择输入自定义 IAM 角色 ARN,则该角色必须至少有一个附加的信任策略,以授予 SageMaker 代入该角色的权限。有关更多信息,请参阅 SageMaker 角色

    如果您选择创建新角色,则将打开创建 IAM 角色对话框:

    1. 对于您指定的 S3 存储桶,请指定笔记本的用户可以访问的其他 Amazon S3 存储桶。如果您不希望添加对更多存储桶的访问权限,请选择

    2. 选择创建角色。SageMaker 会创建一个新的 IAM AmazonSageMaker-ExecutionPolicy 角色,并附加 AmazonSageMakerFullAccess 策略。

  5. 网络和存储下,指定以下内容:

    • 您的 Amazon Virtual Private Cloud (Amazon VPC) 信息 - 有关更多信息,请参阅选择 Amazon VPC

    • (可选)加密密钥 - SageMaker 使用 Amazon KMS key 来加密 Amazon Elastic File System (Amazon EFS) 和 Amazon Elastic Block Store (Amazon EBS) 文件系统。默认情况下,它使用 Amazon 托管式密钥。要使用客户管理的密钥,请输入其密钥 ID 或 Amazon 资源名称 (ARN)。有关更多信息,请参阅 使用加密保护静态数据

      注意

      传输中加密仅适用于 Amazon SageMaker Studio。

  6. 选择下一步

步骤 2:Studio 设置

  1. 默认 JupyterLab 版本下,从下拉列表中选择一个 JupyterLab 版本作为域的默认版本。有关选择 JupyterLab 版本的信息,请参阅 JupyterLab 版本控制

  2. 笔记本共享配置下,接受默认的笔记本共享配置,或者自定义选项。

  3. SageMaker 项目和 JumpStart 下,接受默认的项目和 JumpStart 设置,或者自定义管理员和用户是否可以创建项目和使用 JumpStart。有关更多信息,请参阅使用项目时所需的 SageMaker Studio 权限

  4. 选择下一步

步骤 3:RStudio 设置

  1. RStudio Workbench 下,验证是否会自动检测到您的 RStudio 许可证。有关获取 RStudio 许可证并使用 SageMaker 激活许可证的更多信息,请参阅 RStudio 许可证

  2. 选择要在其上启动 RStudio Server 的实例类型。有关更多信息,请参阅 RStudioServerPro 实例类型

  3. 权限下,创建您的角色或选择现有角色。该角色必须具有以下权限策略。此策略允许 RStudioServerPro 应用程序访问必要的资源,并允许 Amazon SageMaker 在现有 RStudioServerPro 应用程序处于 DeletedFailed 状态时自动启动 RStudioServerPro 应用程序。有关为角色添加权限的信息,请参阅修改角色权限策略(控制台)

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses", "license-manager:GetLicense", "license-manager:CheckoutLicense", "license-manager:CheckInLicense", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "sagemaker:CreateApp" ], "Resource": "*" } ] }
  4. RStudio Connect 下,添加 RStudio Connect 服务器的 URL。RStudio Connect 是 Shiny 应用程序、R Markdown 报告、控制面板、绘图等的发布平台。当您加入 RStudio on Amazon SageMaker 时,系统不会创建 RStudio Connect 服务器。您必须在 EC2 实例上创建 RStudio Connect 服务器,以便将 Connect 与 Amazon SageMaker 一起使用。有关更多信息,请参阅 RStudio Connect URL

  5. RStudio 软件包管理器下,添加 RStudio 软件包管理器的 URL。当您加入 RStudio 时,SageMaker 会为软件包管理器创建一个默认的软件包存储库。有关 RStudio 软件包管理器的更多信息,请参阅 RStudio Package Manager

  6. 选择下一步

步骤 4:SageMaker Canvas 设置

  1. 对于 Canvas 基本权限配置,请保持启用 Canvas 基本权限选项处于打开状态(默认情况下该选项处于打开状态)。这确定了使用 SageMaker Canvas 应用程序所需的最低权限。

  2. (可选)对于时间序列预测配置,请保持启用时间序列预测选项处于打开状态,让用户有权在 SageMaker Canvas 中进行时间序列预测(默认情况下该选项处于打开状态)。

  3. (可选)如果保持启用时间序列预测处于打开状态,则选择创建和使用新的执行角色;如果您已拥有附加了所需 Amazon Forecast 权限的 IAM 角色,则选择使用现有执行角色(有关更多信息,请参阅 IAM 角色设置方法)。

  4. 使用默认 IAM 角色后缀,或为该角色提供自定义后缀。

  5. 对于本地文件上传配置,请选择启用本地文件上传,以允许用户将本地文件上传到他们的 SageMaker Canvas 应用程序(默认情况下已选中该选项)。

  6. 选择提交

使用 Amazon CLI 加入

使用以下命令,通过 Amazon CLI 使用 IAM 身份验证加入域。

  1. 创建用于创建域的执行角色并附加 AmazonSageMakerFullAccess 策略。您也可以使用至少具有附加信任策略的现有角色,该策略授予 SageMaker 代入此现有角色的权限。有关更多信息,请参阅 SageMaker 角色

    aws iam create-role --role-name execution-role-name aws iam attach-role-policy --role-name execution-role-name --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
  2. 获取账户的默认 Amazon Virtual Private Cloud (Amazon VPC)。

    aws --region region ec2 describe-vpcs --filters Name=isDefault,Values=true --query "Vpcs[0].VpcId" --output text
  3. 获取默认 Amazon VPC 中的子网列表。

    aws --region region ec2 describe-subnets --filters Name=vpc-id,Values=default-vpc-id --query "Subnets[*].SubnetId" --output json
  4. 通过传递默认 Amazon VPC ID、子网和执行角色 ARN 来创建域。您还必须传递 SageMaker 映像 ARN。有关可用 JupyterLab 版本 ARN 的信息,请参阅设置默认的 JupyterLab 版本

    aws --region region sagemaker create-domain --domain-name domain-name --vpc-id default-vpc-id --subnet-ids subnet-ids --auth-mode IAM --default-user-settings "ExecutionRole=arn:aws:iam::account-number:role/execution-role-name,JupyterServerAppSettings={DefaultResourceSpec={InstanceType=system,SageMakerImageArn=image-arn}}" \ --query DomainArn --output text
  5. 验证是否已创建域。

    aws --region region sagemaker list-domains

有关使用 Amazon SageMaker Studio 的信息,请参阅 SageMaker Studio

有关使用 RStudio 的信息,请参阅 RStudio on Amazon SageMaker