本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 SageMaker Studio 设置可信身份传播
以下过程将引导您完成设置 SageMaker Studio 以进行可信身份传播和用户后台会话的过程。
先决条件
开始本教程之前,您需要完成以下任务:
-
启用 IAM 身份中心。需使用组织实例。有关更多信息,请参阅 先决条件和注意事项。
-
在 IAM Identity Center 控制台中确认已启用用户后台会话。默认情况下,用户后台会话处于启用状态,会话持续时间设置为 7 天。您可以修改此持续时间。
要从 SageMaker Studio 设置可信身份传播, SageMaker Studio 管理员必须执行以下步骤。
步骤 1:在新的 Studio 域或现有 SageMaker Studio 域中启用可信身份传播
SageMaker Studio 使用域来组织用户个人资料、应用程序及其相关资源。要启用可信身份传播,必须按照以下步骤创建 SageMaker Studio 域或修改现有域。
-
打开 SageMaker AI 控制台,导航到 “域”,然后执行以下任一操作。
继续执行步骤 2:配置默认域执行角色。 SageMaker Studio 域的用户需要此角色才能访问其他 Amazon 服务,例如 Amazon S3。
步骤 2:配置默认域执行角色与角色信任策略
域执行角色是 SageMaker Studio 域代表网域中所有用户担任的 IAM 角色。您分配给该角色的权限决定了 SageMaker Studio 可以执行的操作。
要创建或选择域执行角色,请执行以下任一操作:
更新附加到域执行角色的信任策略,使其包含以下两个操作:
sts:AssumeRole和sts: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" } ] }
如果您暂无包含这些权限的策略,请参阅《Amazon Identity and Access Management 用户指南》中的添加和移除 IAM 身份权限。
步骤 4:为域分配组和用户
按照添加群组和用户中的步骤将群组和用户分配到 SageMaker Studio 域。
步骤 5:设置 Amazon S3 访问权限管控
要设置 Amazon S3 访问权限管控,请遵循通过 IAM Identity Center 配置可信身份传播的 Amazon S3 访问权限管控中的步骤。按照 step-by-step说明完成以下任务:
创建 Amazon S3 访问权限管控实例。
在该实例中注册位置。
创建授权,允许特定 IAM Identity Center 用户或组访问指定的 Amazon S3 位置或这些位置内的子集(例如特定前缀)。
第 6 步:提交 SageMaker 训练作业并查看用户后台会话详情
在 SageMaker Studio 中,启动新的 Jupyter 笔记本并提交训练作业。作业运行期间,完成以下步骤以查看会话信息并验证用户后台会话上下文是否处于活跃状态。
-
打开 IAM Identity Center 控制台。
-
选择用户。
-
在用户页面上,选择要管理其会话的用户的用户名。这会让您转至包含用户信息的页面。
-
在用户页面上,选择活跃会话选项卡。活跃会话旁边括号中的数字表示该用户处于活跃状态的会话数。
要按使用该会话的作业的 Amazon 资源名称(ARN)搜索会话,请在会话类型列表中选择用户后台会话,然后在搜索框中输入作业 ARN。
以下示例展示了使用用户后台会话的训练作业在用户的活跃会话选项卡中的显示形式。
步骤 7:查看 CloudTrail 日志以验证可信身份的传播 CloudTrail
启用可信身份传播后,操作会显示在onBehalfOf元素下方 CloudTrail 的事件日志中。userId 字段将显示启动训练作业的 IAM Identity Center 用户的 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参数指南。