

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

# 使用 SageMaker Studio 设置可信身份传播
SageMaker 工作室

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

## 先决条件


开始本教程之前，您需要完成以下任务：

1. [启用 IAM 身份中心](enable-identity-center.md)。需使用组织实例。有关更多信息，请参阅 [先决条件和注意事项](trustedidentitypropagation-overall-prerequisites.md)。

1. [将身份源中的用户和组配置到 IAM Identity Center](tutorials.md)。

1. 在 IAM Identity Center 控制台中[确认已启用用户后台会话](user-background-sessions.md)。默认情况下，用户后台会话处于启用状态，会话持续时间设置为 7 天。您可以修改此持续时间。

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

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


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

1. 打开 SageMaker AI 控制台，导航到 “**域**”，然后执行以下任一操作。
   + **使用[组织安装程序](https://docs.amazonaws.cn//sagemaker/latest/dg/onboard-custom.html#onboard-custom-instructions)创建新的 SageMaker Studio 域。**

     选择**为组织设置**，然后执行以下操作：
     + 选择 **Amazon Identity Center** 作为身份验证方式。
     + 勾选**为该域上的所有用户启用可信身份传播**复选框。
   + **修改现有的 SageMaker Studio 域名。**
     + 选中使用 IAM Identity Center 进行身份验证的现有域。
**重要**  
仅在使用 IAM 身份中心进行身份验证的 SageMaker Studio 域中支持可信身份传播。如果该域使用 IAM 进行身份验证，则无法更改身份验证方式，因此也无法启用可信身份传播。
     + [编辑域设置](https://docs.amazonaws.cn//sagemaker/latest/dg/domain-edit)。编辑**身份验证和权限**设置，启用可信身份传播。

1. 继续执行[步骤 2：配置默认域执行角色](#setting-up-trusted-identity-propagation-sagemaker-studio-domain-execution-role)。 SageMaker Studio 域的用户需要此角色才能访问其他 Amazon 服务，例如 Amazon S3。

## 步骤 2：配置默认域执行角色与角色信任策略


*域执行角色*是 SageMaker Studio 域代表网域中所有用户担任的 [IAM 角色](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles)。您分配给该角色的权限决定了 SageMaker Studio 可以执行的操作。

1. 要创建或选择域执行角色，请执行以下任一操作：
   + **通过[组织设置](https://docs.amazonaws.cn//sagemaker/latest/dg/onboard-custom.html#onboard-custom-instructions)创建或选择角色。**
     + 打开 SageMaker AI 控制台，按照**步骤 2：配置角色和机器学习活动**中的控制台指南创建新的域执行角色或选择现有角色。
     + 完成其余设置步骤以创建您的 SageMaker Studio 域名。
   + **手动创建执行角色。**
     + 打开 IAM 控制台并[自行创建执行角色](https://docs.amazonaws.cn//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-create-execution-role)。

1. [更新](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_update-role-trust-policy.html)附加到域执行角色的信任策略，使其包含以下两个操作：[https://docs.amazonaws.cn//STS/latest/APIReference/API_AssumeRole.html](https://docs.amazonaws.cn//STS/latest/APIReference/API_AssumeRole.html) 和 [https://docs.amazonaws.cn//IAM/latest/UserGuide/reference_policies_iam-condition-keys.html](https://docs.amazonaws.cn//IAM/latest/UserGuide/reference_policies_iam-condition-keys.html)。有关如何查找 SageMaker Studio 域的执行角色的信息，请参阅[获取域执行角色](https://docs.amazonaws.cn//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role-domain)。

   *信任策略*用于指定可以扮演该角色的身份。此策略是允许 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 身份权限](https://docs.amazonaws.cn//IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

## 步骤 4：为域分配组和用户


按照[添加群组和用户中的步骤将群组和用户](https://docs.amazonaws.cn//sagemaker/latest/dg/domain-groups-add.html)分配到 SageMaker Studio 域。

## 步骤 5：设置 Amazon S3 访问权限管控


要设置 Amazon S3 访问权限管控，请遵循[通过 IAM Identity Center 配置可信身份传播的 Amazon S3 访问权限管控](tip-tutorial-s3.md#tip-tutorial-s3-configure)中的步骤。按照 step-by-step说明完成以下任务：

1. 创建 Amazon S3 访问权限管控实例。

1. 在该实例中注册位置。

1. 创建授权，允许特定 IAM Identity Center 用户或组访问指定的 Amazon S3 位置或这些位置内的子集（例如特定前缀）。

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


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

1. 打开 IAM Identity Center 控制台。

1. 选择**用户**。

1. 在**用户**页面上，选择要管理其会话的用户的用户名。这会让您转至包含用户信息的页面。

1. 在用户页面上，选择**活跃会话**选项卡。**活跃会话**旁边括号中的数字表示该用户处于活跃状态的会话数。

1. 要按使用该会话的作业的 Amazon 资源名称（ARN）搜索会话，请在**会话类型**列表中选择**用户后台会话**，然后在搜索框中输入作业 ARN。

以下示例展示了使用用户后台会话的训练作业在用户的**活跃会话**选项卡中的显示形式。

![\[alt text not found\]](http://docs.amazonaws.cn/singlesignon/latest/userguide/images/sagemaker-studio-training-job-displayed-in-identity-center-console-active-sessions.png)


## 步骤 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 参考*中的`CreateTrainingJob`[StoppingCondition](https://docs.amazonaws.cn//sagemaker/latest/APIReference/API_CreateTrainingJob.html#sagemaker-CreateTrainingJob-request-StoppingCondition)参数指南。