

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon SageMaker Studio 進行信任的身分傳播
<a name="trusted-identity-propagation-usecase-sagemaker-studio"></a>

[Amazon SageMaker Studio](https://docs.aws.amazon.com//sagemaker/latest/dg/studio-updated.html) 與 IAM Identity Center 整合，並支援[使用者背景工作階段](user-background-sessions.md)和信任的身分傳播。使用者背景工作階段允許使用者在 SageMaker Studio 上啟動長時間執行的任務，而不需要該使用者在任務執行時保持登入狀態。任務會立即在背景執行，並使用啟動任務之使用者的許可。即使使用者關閉電腦、IAM Identity Center 登入工作階段過期，或使用者登出 AWS 存取入口網站，任務仍可繼續執行。使用者背景工作階段的預設工作階段持續時間為 7 天，但您可以指定最長 90 天的持續時間。信任的身分傳播允許根據使用者的身分或群組成員資格，將精細存取提供給 Amazon S3 儲存貯體等 AWS 資源。

下圖顯示 SageMaker Studio 的受信任身分傳播組態，可存取存放在 Amazon S3 儲存貯體中的資料。IAM Identity Center 已啟用使用者背景工作階段，這可讓 SageMaker Studio 訓練任務在背景執行。訓練資料的存取控制由 Amazon S3 提供Access Grants。

![\[SageMaker Studio 的受信任身分傳播圖表，以及在使用者背景工作階段中執行的 SageMaker Studio 訓練任務，以及存取 Amazon S3 提供之 Amazon S3 中的訓練資料Access Grants。\]](http://docs.aws.amazon.com/zh_tw/singlesignon/latest/userguide/images/sagemaker-studio-s3-user-background-session-training-job-s3-access-grants-diagram.png)


**AWS 受管應用程式**

下列 AWS 受管用戶端面向應用程式支援受信任的身分傳播：
+ [Amazon SageMaker Studio](setting-up-trusted-identity-propagation-sagemaker-studio.md)

**若要啟用信任的身分傳播和使用者背景工作階段，請遵循下列步驟：**
+ [將 SageMaker Studio 設定為面向用戶端的應用程式。](setting-up-trusted-identity-propagation-sagemaker-studio.md)
+ [設定 Amazon S3 Access Grants](tip-tutorial-s3.md) 以啟用暫時存取 Amazon S3 中的基礎資料位置。

# 使用 SageMaker Studio 設定受信任的身分傳播
<a name="setting-up-trusted-identity-propagation-sagemaker-studio"></a>

下列程序會逐步引導您設定 SageMaker Studio 進行受信任身分傳播和使用者背景工作階段。

## 先決條件
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-prereqs"></a>

您必須先完成下列任務，才能開始使用本教學課程：

1. [啟用 IAM Identity Center](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：在新的或現有的 SageMaker Studio 網域中啟用信任的身分傳播
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-enable-in-domain"></a>

SageMaker Studio 使用網域來組織使用者設定檔、應用程式及其相關資源。若要啟用受信任身分傳播，您必須建立 SageMaker Studio 網域或修改現有網域，如下列程序所述。

1. 開啟 SageMaker AI 主控台，導覽至**網域**，然後執行下列其中一項操作。
   + **使用[組織設定](https://docs.aws.amazon.com//sagemaker/latest/dg/onboard-custom.html#onboard-custom-instructions)建立新的 SageMaker Studio 網域。**

     選擇**為組織設定**，然後執行下列動作：
     + 選擇 **AWS Identity Center** 作為身分驗證方法。
     + 選取**為此網域上的所有使用者啟用受信任身分傳播**核取方塊。
   + **修改現有的 SageMaker Studio 網域。**
     + 選取使用 IAM Identity Center 進行身分驗證的現有網域。
**重要**  
只有使用 IAM Identity Center 進行身分驗證的 SageMaker Studio 網域才支援信任的身分傳播。如果網域使用 IAM 進行身分驗證，則您無法變更身分驗證方法，因此無法啟用信任的身分傳播。
     + [編輯網域設定](https://docs.aws.amazon.com//sagemaker/latest/dg/domain-edit)。編輯**身分驗證和許可**設定，以啟用信任的身分傳播。

1. 繼續[步驟 2：設定預設網域執行角色](#setting-up-trusted-identity-propagation-sagemaker-studio-domain-execution-role)。SageMaker Studio 網域的使用者需要此角色才能存取其他 AWS 服務，例如 Amazon S3。

## 步驟 2：設定預設網域執行角色和角色信任政策
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-domain-execution-role"></a>

*網域執行角色*是 SageMaker Studio 網域代表網域中的所有使用者擔任的 [IAM 角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles)。您指派給此角色的許可決定 SageMaker Studio 可執行的動作。

1. 若要建立或選取網域執行角色，請執行下列其中一項操作：
   + **使用 [組織的設定](https://docs.aws.amazon.com//sagemaker/latest/dg/onboard-custom.html#onboard-custom-instructions)來建立或選取角色。**
     + 開啟 SageMaker AI 主控台，並遵循**步驟 2：設定角色和 ML 活動**中的主控台指引，以建立新的網域執行角色或選取現有角色。
     + 完成其餘的設定步驟，以建立 SageMaker Studio 網域。
   + **手動建立執行角色。**
     + 開啟 IAM 主控台並[自行建立執行角色](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-create-execution-role)。

1. [更新連接至網域執行角色的信任政策](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_update-role-trust-policy.html)，使其包含下列兩個動作： [https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html)和 [https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_iam-condition-keys.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_iam-condition-keys.html)。如需有關如何尋找 SageMaker Studio 網域執行角色的資訊，請參閱[取得網域執行角色](https://docs.aws.amazon.com//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 Access Grant 許可
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-s3-access-grant-permissions-execution-role"></a>

若要使用 Amazon S3 Access Grants，您必須將許可政策 （做為內嵌政策或客戶受管政策） 連接至包含下列許可的 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 身分許可](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html)中的指示。

## 步驟 4：將群組和使用者指派給網域
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-assign-users-groups-to-domain"></a>

遵循[新增群組和使用者中的步驟，將群組和使用者](https://docs.aws.amazon.com//sagemaker/latest/dg/domain-groups-add.html)指派給 SageMaker Studio 網域。

## 步驟 5：設定 Amazon S3 Access Grants
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-set-up-s3-access-grants"></a>

若要設定 Amazon S3 Access Grants，請遵循[透過 IAM Identity Center 為受信任身分傳播設定 Amazon S3 Access Grants ](tip-tutorial-s3.md#tip-tutorial-s3-configure)中的步驟。使用step-by-step說明來完成下列任務：

1. 建立 Amazon S3 Access Grants 執行個體。

1. 在該執行個體中註冊位置。

1. 建立授予，以允許特定 IAM Identity Center 使用者或群組存取這些位置中指定的 Amazon S3 位置或子集 （例如特定字首）。

## 步驟 6：提交 SageMaker 訓練任務並檢視使用者背景工作階段詳細資訊
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-submit-training-job-view-user-background-session-details"></a>

在 SageMaker Studio 中，啟動新的 Jupyter 筆記本並提交訓練任務。任務執行時，請完成下列步驟以檢視工作階段資訊，並確認使用者背景工作階段內容處於作用中狀態。

1. 開啟 IAM Identity Center 主控台。

1. 選擇 **Users** (使用者)。

1. 在**使用者**頁面上，選擇您要管理其工作階段的使用者名稱。這會帶您前往包含使用者資訊的頁面。

1. 在使用者頁面上，選擇**作用中工作階段**索引標籤。**作用中工作階段**旁的括號中的數字表示此使用者的作用中工作階段數量。

1. 若要依使用工作階段之任務的 Amazon Resource Name (ARN) 搜尋工作階段，請在**工作階段類型**清單中，選擇**使用者背景工作階段**，然後在搜尋方塊中輸入任務 ARN。

以下是使用使用者背景工作階段的訓練任務如何在使用者的 **Active 工作階段**索引標籤中顯示的範例。

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


## 步驟 7：檢視 CloudTrail 日誌以驗證 CloudTrail 中信任的身分傳播
<a name="setting-up-trusted-identity-propagation-sagemaker-studio-view-cloudtrail-logs"></a>

啟用信任的身分傳播時，動作會顯示在 `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"
    }
},
```

## 執行時期考量
<a name="setting-up-trusted-identity-propagation-sagemaker-ai-runtime-considerations"></a>

如果管理員為長時間執行的訓練或處理任務設定了 **MaxRuntimeInSeconds**，而該任務低於使用者背景工作階段持續時間，則 SageMaker Studio 會執行任務的最短期限為 **MaxRuntimeInSeconds ** 或使用者背景工作階段持續時間。

如需 **MaxRuntimeInSeconds** 的詳細資訊，請參閱《*Amazon SageMaker API 參考*》中的 `CreateTrainingJob` [StoppingCondition](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateTrainingJob.html#sagemaker-CreateTrainingJob-request-StoppingCondition) 參數指南。