使用 SageMaker Studio 设置可信身份传播 - AWS IAM Identity Center

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

使用 SageMaker Studio 设置可信身份传播

以下过程将引导您完成设置 SageMaker Studio 以进行可信身份传播和用户后台会话的过程。

先决条件

在开始学习本教程之前,你需要完成以下任务:

  1. 启用 IAM 身份中心。需要组织实例。有关更多信息,请参阅 先决条件和注意事项

  2. 将@@ 您的身份来源中的用户和群组配置到 IAM Identity Center

  3. 确认已在 IAM 身份中心控制台中启用用户后台会话。默认情况下,用户后台会话处于启用状态,会话持续时间设置为 7 天。您可以更改此持续时间。

要从 SageMaker Studio 设置可信身份传播, SageMaker Studio 管理员必须执行以下步骤。

步骤 1:在新的 Studio 域或现有 SageMaker Studio 域中启用可信身份传播

SageMaker Studio 使用域来组织用户个人资料、应用程序及其相关资源。要启用可信身份传播,必须按照以下步骤创建 SageMaker Studio 域或修改现有域。

  1. 打开 SageMaker AI 控制台,导航到 “”,然后执行以下任一操作。

    • 使用组织安装程序创建新的 SageMaker Studio 域。

      选择 “为组织设置”,然后执行以下操作:

      • 选择 “AWS 身份中心” 作为身份验证方法。

      • 选中 “为此域上的所有用户启用可信身份传播” 复选框。

    • 修改现有的 SageMaker Studio 域名。

      • 选择使用 IAM 身份中心进行身份验证的现有域。

        重要

        仅在使用 IAM 身份中心进行身份验证的 SageMaker Studio 域中支持可信身份传播。如果域使用 IAM 进行身份验证,则无法更改身份验证方法,因此也无法启用可信身份传播。

      • 编辑域名设置。编辑身份验证和权限设置以启用可信身份传播。

  2. 继续步骤 2:配置默认域执行角色。 SageMaker Studio 域的用户需要此角色才能访问其他 AWS 服务,例如 Amazon S3。

步骤 2:配置默认域执行角色和角色信任策略

域执行角色是 SageMaker Studio 域代表网域中所有用户担任的 IAM 角色。您分配给该角色的权限决定了 SageMaker Studio 可以执行的操作。

  1. 要创建或选择域执行角色,请执行以下任一操作:

    • 使用组织安装程序创建或选择角色。

      • 打开 SageMaker AI 控制台,按照步骤 2:配置角色和机器学习活动中的控制台指南创建新的域执行角色或选择现有角色。

      • 完成其余设置步骤以创建您的 SageMaker Studio 域名。

    • 手动创建执行角色。

  2. 更新附加到域执行角色的信任策略,使其包括以下两个操作:sts:AssumeRolests:SetContext。有关如何查找 SageMaker Studio 域的执行角色的信息,请参阅获取域执行角色

    信任策略指定可以担任角色的身份。此策略是允许 SageMaker Studio 服务担任域执行角色所必需的。添加这两个操作,使其在您的策略中如下所示。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }

步骤 3:验证域执行角色所需的 Amazon S3 访问权限授予权限

要使用 Amazon S3 访问授权,您必须将包含以下权限的 SageMaker Studio 域执行角色附加权限策略(内联策略或客户托管策略)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ] "Resource": "arn:aws:s3:us-east-2:111122223333:access-grants/default" } ] }

如果您没有包含这些权限的策略,请按照AWS Identity and Access Management 用户指南添加和删除 IAM 身份权限中的说明进行操作。

步骤 4:将群组和用户分配到域中

按照添加群组和用户中的步骤将群组和用户分配到 SageMaker Studio 域。

第 5 步:设置 Amazon S3 访问授权

要设置 Amazon S3 访问授权,请按照配置 Amazon S3 访问授权中的步骤通过 IAM 身份中心进行可信身份传播。按照 step-by-step说明完成以下任务:

  1. 创建 Amazon S3 访问授权实例。

  2. 在该实例中注册一个营业地点。

  3. 创建授权,允许特定的 IAM 身份中心用户或群组访问这些位置内的指定 Amazon S3 位置或子集(例如,特定前缀)。

步骤 6:提交 SageMaker 训练作业并查看用户后台会话详情

在 SageMaker Studio 中,启动新的 Jupyter 笔记本并提交训练作业。在作业运行时,完成以下步骤以查看会话信息并验证用户后台会话上下文是否处于活动状态。

  1. 打开 IAM Identity Center 控制台。

  2. 选择用户

  3. 用户页面上,选择要管理其会话的用户的用户名。这会将您带到包含用户信息的页面。

  4. 在用户页面上,选择活动会话选项卡。“活动会话” 旁边括号中的数字表示该用户的活动会话数。

  5. 要按使用会话的作业的 Amazon 资源名称 (ARN) 搜索会话,请在会话类型列表中选择用户后台会话,然后在搜索框中输入作业 ARN。

以下是使用用户后台会话的训练作业如何显示在用户的 “活动会话” 选项卡中的示例。

步骤 7:查看 CloudTrail 日志以验证可信身份的传播 CloudTrail

启用可信身份传播后,操作会显示在onBehalfOf元素下方 CloudTrail 的事件日志中。userId反映了启动训练任务的 IAM 身份中心用户的 ID。以下 CloudTrail 事件捕获了可信身份传播的过程。

"userIdentity": { "type": "AssumedRole", "principalId": "AROA123456789EXAMPLE:SageMaker", "arn": "arn:aws:sts::111122223333:assumed-role/SageMaker-ExecutionRole-20250728T125817/SageMaker", "accountId": "111122223333", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA123456789EXAMPLE", "arn": "arn:aws:iam::111122223333:role/service-role/SageMaker-ExecutionRole-20250728T125817", "accountId": "111122223333", "userName": "SageMaker-ExecutionRole-20250728T125817" }, "attributes": { "creationDate": "2025-07-29T17:17:10Z", "mfaAuthenticated": "false" } }, "onBehalfOf": { "userId": "2801d3e0-f0e1-707f-54e8-f558b19f0a10", "identityStoreArn": "arn:aws:identitystore::777788889999:identitystore/d-1234567890" } },

运行时系统注意事项

如果管理员将长时间运行的训练或处理作业设置MaxRuntimeInSeconds为低于用户后台会话持续时间, SageMaker Studio 会运行该作业的时间至少为用户后台会话持续时间中的一个MaxRuntimeInSeconds 或一个。

有关更多信息 MaxRuntimeInSeconds,请参阅 Amazon SageMaker API 参考中的CreateTrainingJobStoppingCondition参数指南。