

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

# CloudTrail userIdentity 元素
<a name="cloudtrail-event-reference-user-identity"></a>

AWS Identity and Access Management (IAM) 提供不同類型的身分。`userIdentity` 元素包含提出請求之 IAM 身分類型及所使用之登入資料的詳細資訊。如果使用暫時性登入資料，此元素會說明登入資料的取得方式。

**Contents**
+ [範例](#cloudtrail-event-reference-user-identity-examples)
+ [欄位](#cloudtrail-event-reference-user-identity-fields)
+ [具有 SAML 和 Web 聯合身分 AWS STS APIs 值](#STS-API-SAML-WIF)
+ [AWS STS 來源身分](#STS-API-source-identity)

## 範例
<a name="cloudtrail-event-reference-user-identity-examples"></a>

**具有 IAM 使用者憑證的 `userIdentity`**

下列範例顯示使用名為 `userIdentity` 的 IAM 使用者登入資料提出之簡單請求的 `Alice` 元素。

```
"userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAJ45Q7YFFAREXAMPLE",
    "arn": "arn:aws:iam::123456789012:user/Alice",
    "accountId": "123456789012",
    "accessKeyId": "",
    "userName": "Alice"
}
```

**使用暫時性安全登入資料的 `userIdentity`**

下列範例顯示使用透過擔任 IAM 角色取得的暫時性安全登入資料提出之請求的 `userIdentity` 元素。此元素包含為取得登入資料所擔任之角色的其他詳細資訊。

```
"userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName",
    "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/MySessionName",
    "accountId": "123456789012",
    "accessKeyId": "",
    "sessionContext": {
        "sessionIssuer": {
            "type": "Role",
            "principalId": "AROAIDPPEZS35WEXAMPLE",
            "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed",
            "accountId": "123456789012",
            "userName": "RoleToBeAssumed"
        },
        "attributes": {
            "mfaAuthenticated": "false",
            "creationDate": "20131102T010628Z"
        }    
    }
}
```

**用於代表 IAM Identity Center 使用者提出請求的 `userIdentity`**

以下範例顯示用於代表 IAM Identity Center 使用者提出請求的 `userIdentity` 元素。

```
"userIdentity": {
    "type": "IdentityCenterUser",
    "accountId": "123456789012",
    "onBehalfOf": {
        "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1",
        "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9067642ac7" 
    },
    "credentialId": "EXAMPLEVHULjJdTUdPJfofVa1sufHDoj7aYcOYcxFVllWR_Whr1fEXAMPLE"
}
```

若要進一步了解如何使用 `userId`、 `identityStoreArn`和 `credentialId`，請參閱《[IAM Identity Center 使用者指南》中的在 IAM Identity Center 使用者起始的 CloudTrail 事件中識別使用者和工作階段](https://docs.aws.amazon.com/singlesignon/latest/userguide/sso-cloudtrail-use-cases.html#user-session-iam-identity-center)。 **

**`userIdentity` 使用產品提供者起始的請求**

產品提供者使用暫時委派存取執行的所有動作都會自動記錄在 CloudTrail 中。這可讓您帳戶中產品提供者活動的完整可見性和可稽核性 AWS 。您可以識別產品提供者所採取的動作、發生的時間，以及執行這些動作的產品提供者帳戶。

為了協助您區分您自己的 IAM 主體所採取的動作，以及具有委派存取權的產品提供者所採取的動作，CloudTrail 事件會在 `userIdentity`元素`invokedByDelegate`下包含名為 的新欄位。此欄位包含產品提供者 AWS 的帳戶 ID，讓您輕鬆篩選和稽核所有委派的動作。

下列範例顯示產品提供者使用暫時委派存取所執行動作的 `userIdentity` 元素。

```
"userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAI...",
    "arn": "arn:aws:sts::123456789012:assumed-role/Alice/Session",
    "accountId": "123456789012",
    "sessionContext": {
        "sessionIssuer": {
            "type": "Role",
            "principalId": "AROAI...",
            "arn": "arn:aws:iam::123456789012:role/Alice",
            "accountId": "123456789012",
            "userName": "Alice"
        },
        "attributes": {
            "mfaAuthenticated": "false",
            "creationDate": "20131102T010628Z"
        }
    },
    "invokedByDelegate": {
        "accountId": "999999999999"
    }
}
```

`invokedByDelegate` 欄位包含使用委派存取執行動作之產品提供者 AWS 的帳戶 ID。在此範例中，帳戶 999999999999 （產品提供者） 在帳戶 123456789012 （客戶帳戶） 中執行動作。

## 欄位
<a name="cloudtrail-event-reference-user-identity-fields"></a>

`userIdentity` 元素中可能會顯示下列欄位。

**`type`**  
身分的類型。可能的值如下：  
+ `Root` – 使用您的 AWS 帳戶 登入資料提出請求。如果 `userIdentity` 類型為 `Root`，而且您為帳戶設定了別名，則 `userName` 欄位會包含您的帳戶別名。如需詳細資訊，請參閱[您的 AWS 帳戶 ID 和其別名](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html)。
+ `IAMUser` - 使用 IAM 使用者的登入資料提出請求。
+ `AssumedRole` - 透過呼叫 AWS Security Token Service (AWS STS) [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API 取得的臨時安全憑證及角色提出請求。這可以包含 [Amazon EC2 和跨帳戶 API 存取的角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。
+ `Role` – 使用具有特定許可的持久 IAM 身分提出請求。角色工作階段的發起者永遠都是該角色。如需有關角色的詳細資訊，請參閱《*IAM 使用者指南*》中的[角色術語和概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html)。
+ `FederatedUser` – 使用從呼叫 API 取得的 AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)臨時安全登入資料提出請求。`sessionIssuer` 元素指出 API 是以超級或 IAM 使用者登入資料來呼叫。

  如需暫時安全登入資料的詳細資訊，請參閱《*IAM 使用者指南*》中的[暫時安全登入資料](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)。
+ `Directory` - 已對 Directory Service 提出請求，且類型未知。目錄服務包括下列項目：Amazon WorkDocs 和 Amazon Quick。
+ `AWSAccount` – 請求是由另一個 提出 AWS 帳戶
+ `AWSService` – 請求是由屬於 AWS 帳戶 的 提出 AWS 服務。例如， AWS Elastic Beanstalk 假設您帳戶中的 IAM 角色 AWS 服務 代表您呼叫其他 。
+ `IdentityCenterUser` – 代表 IAM Identity Center 使用者提出請求。
+ `Unknown` – 使用 CloudTrail 無法判斷的身分類型提出請求。
**選用：**False  
如果有使用您擁有之 IAM 角色的跨帳戶存取，您日誌中的 `type` 會顯示 `AWSAccount` 和 `AWSService`。  

**範例：由另一個帳戶啟動的跨帳戶存取 AWS**

1. 您在帳戶中擁有 IAM 角色。

1. 另一個 AWS 帳戶會切換到該角色，以擔任您帳戶的角色。

1. 由於您擁有 IAM 角色，因此會收到日誌，顯示其他帳戶擔任該角色。`type` 為 `AWSAccount`。如需範例日誌項目，請參閱 [CloudTrail 日誌檔案中的AWS STS API 事件](https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#stscloudtrailexample)。

**範例：由 AWS 服務啟動的跨帳戶存取**

1. 您在帳戶中擁有 IAM 角色。

1.  AWS 服務擁有 AWS 的帳戶會擔任該角色。

1. 由於您擁有 IAM 角色，因此會收到日誌，顯示 AWS 服務擔任該角色。`type` 為 `AWSService`。

**`userName`**  
發出呼叫之身分的易記名稱。出現在 `userName` 中的值取決於 `type` 中的值。下表顯示 `type` 與 `userName` 之間的關係：      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)
當記錄的事件是由不正確的使用者名稱輸入所造成的主控台登入失敗時，`userName` 欄位會包含字串 `HIDDEN_DUE_TO_SECURITY_REASONS`。在此情況下，CloudTrail 不會記錄內容，因為文字可能包含敏感資訊，如下列範例所示：  
+ 使用者不小心在使用者名稱欄位中輸入密碼。
+ 使用者按一下某個 AWS 帳戶登入頁面的連結，然後輸入另一個帳戶的帳號。
+ 使用者不小心輸入個人電子郵件帳戶的帳戶名稱、銀行登入識別符或其他一些私有 ID。
**選用：**True

**`principalId`**  
發出呼叫之實體的唯一識別符。針對使用暫時性安全登入資料提出的請求，這個值會包含傳遞到 `AssumeRole`、`AssumeRoleWithWebIdentity` 或 `GetFederationToken` API 呼叫的工作階段名稱。  
**選用：**True

**`arn`**  
發出呼叫之主體的 Amazon Resource Name (ARN)。ARN 的最後一個部分包含發出呼叫的使用者或角色。  
**選用：**True

**`accountId`**  
擁有授予許可給請求之實體的帳戶。如果使用暫時性安全登入資料提出請求，則此為擁有用來取得登入資料之 IAM 使用者或角色的帳戶。  
若使用 IAM Identity Center 授權存取權杖提出請求，則這是擁有 IAM Identity Center 執行個體的帳戶。  
**選用：**True

**`accessKeyId`**  
用來簽署請求的存取金鑰 ID。如果使用暫時性安全登入資料提出請求，則此為暫時性登入資料的存取金鑰 ID。基於安全理由，`accessKeyId` 可能不存在，或者可能顯示為空字符串。  
**選用：**True

**`sessionContext`**  
如果使用暫時性安全登入資料提出請求，`sessionContext` 會提供為這些登入資料所建立之工作階段的相關資訊。呼叫任何 API 以傳回暫時性登入資料時，您會建立工作階段。當使用者在主控台中工作，並且使用包含[多重驗證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)的 API 提出請求時，也會建立工作階段。下列屬性可能會出現在 中`sessionContext`：  
+ <a name="sessionissuer"></a>`sessionIssuer` – 如果使用者使用臨時安全登入資料提出請求， `sessionIssuer`會提供使用者如何取得登入資料的相關資訊。例如，如果他們透過擔任角色取得暫時性安全登入資料，此元素會提供所擔任角色的相關資訊。如果他們使用根或 IAM 使用者登入資料呼叫 AWS STS `GetFederationToken` 而取得登入資料，此元素會提供根帳戶或 IAM 使用者的相關資訊。此元素具有下列屬性：
  + `type` - 暫時性安全登入資料的來源，例如 `Root`、`IAMUser` 或 `Role`。
  + `userName` - 發出工作階段之使用者或角色的易記名稱。出現的值取決於 `sessionIssuer` 身分 `type`。下表顯示 `sessionIssuer type` 與 `userName` 之間的關係：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)
  + `principalId` - 用來取得登入資料之實體的內部 ID。
  + `arn` - 用來取得暫時性安全登入資料之來源 (帳戶、IAM 使用者或角色) 的 ARN。
  + `accountId` - 擁有用來取得登入資料之實體的帳戶。
+ `webIdFederationData` – 如果使用 [Web 聯合身分](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html)取得的臨時安全登入資料提出請求， 會`webIdFederationData`列出身分提供者的相關資訊。

  此元素具有下列屬性：
  + `federatedProvider` - 身分提供者的主體名稱 (例如 Login with Amazon 的 `www.amazon.com` 或 Google 的 `accounts.google.com`)。
  + `attributes` - 供應商所回報的應用程式 ID 和使用者 ID (例如 Login with Amazon 的 `www.amazon.com:app_id` 和 `www.amazon.com:user_id`)。
**注意**  
省略此欄位或存在具有空值的此欄位表示沒有身分提供者的相關資訊。
+ `assumedRoot` – 值`true`適用於管理帳戶或委派管理員呼叫時的暫時工作階段 AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html)。如需詳細資訊，請參閱《*IAM 使用者指南*》中的在 [ CloudTrail 中追蹤特殊權限任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-track-privileged-tasks.html)。此為選用欄位。
+ `attributes` – 工作階段的屬性。
  + `creationDate` - 發出暫時性安全登入資料的日期和時間。以 ISO 8601 基本表示法來表示。
  + `mfaAuthenticated` - 如果其登入資料用於請求的根使用者或 IAM 使用者也會向 MFA 裝置進行身分驗證，則此值為 `true`；否則為 `false`。
+ `sourceIdentity` – 參閱此主題中的 [AWS STS 來源身分](#STS-API-source-identity)。在使用者擔任 IAM 角色執行動作時，`sourceIdentity` 欄位會出現在事件中。`sourceIdentity` 識別提出請求的原始使用者身分，無論該使用者身分是 IAM 使用者、IAM 角色、使用 SAML 型聯合驗證的使用者，還是使用 OpenID Connect (OIDC) 相容的網頁聯合身分驗證的使用者。如需設定 AWS STS 以收集來源身分資訊的詳細資訊，請參閱《*IAM 使用者指南*》中的[監控和控制使用擔任角色所採取的動作](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)。
+ `ec2RoleDelivery` – 如果憑證由 Amazon EC2 Instance Metadata Service Version 1 (IMDSv1) 提供，此值為 `1.0`。如果使用新的 IMDS 結構描述提供憑證，此值為 `2.0`。

  AWS Amazon EC2 執行個體中繼資料服務 (IMDS) 提供的憑證包含 ec2：RoleDelivery IAM 內容金鑰。此內容索引鍵可讓您在 IAM 政策、資源政策或服務 AWS Organizations 控制政策中使用內容索引鍵作為條件，輕鬆地在service-by-service逐項資源的基礎上強制使用新方案。 resource-by-resource 如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的[執行個體中繼資料與使用者資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)。
**選用：**True

**`invokedBy`**  
 AWS 服務 發出請求的 名稱，當 發出請求時， AWS 服務 例如 Amazon EC2 Auto Scaling 或 AWS Elastic Beanstalk。只有在 提出請求時，才會出現此欄位 AWS 服務。這包括 服務使用轉送存取工作階段 (FAS)、 AWS 服務 委託人、服務連結角色或 使用的服務角色提出的請求 AWS 服務。  
**選用：**True

**`invokedByDelegate`**  
追蹤產品供應商在您 AWS 帳戶中使用暫時委派存取提出的請求。只有當產品提供者使用委派的許可啟動 API 請求時，才會顯示此欄位。如果有的話， `invokedByDelegate`會提供發出請求之產品提供者帳戶的相關資訊。此元素具有下列屬性：  
+ `accountId` – 啟動請求之產品提供者 AWS 的帳戶 ID。
如需 CloudTrail 事件中委派存取的詳細資訊和 JSON 範例，請參閱《*IAM 使用者指南*》中的[暫時安全登入資料的 CloudTrail 項目](https://docs.aws.amazon.com/IAM/latest/UserGuide/temporary-delegation-cloudtrail.html)。  
**選用：**True

**`onBehalfOf`**  
如果由 IAM Identity Center 呼叫者提出請求，`onBehalfOf` 會提供呼叫的 IAM Identity Center 使用者 ID 和身分存放區 ARN 的相關資訊。此元素具有下列屬性：  
+ `userId`— 被代表執行呼叫之 IAM Identity Center 使用者的 ID。
+ `identityStoreArn`— 被代表執行呼叫之 IAM Identity Center 身分存放區的 ARN。
**選用：**True

**`inScopeOf`**  
如果請求是在 範圍內提出 AWS 服務，例如 Lambda 或 Amazon ECS，則會提供與請求相關的資源或登入資料的相關資訊。此元素可以包含下列屬性：  
+ `sourceArn` – 叫用service-to-service請求之資源的 ARN。
+ `sourceAccount` – 的擁有者帳戶 ID`sourceArn`。它與 一起顯示`sourceArn`。
+ `issuerType` – 的資源類型`credentialsIssuedTo`。例如 `AWS::Lambda::Function`。
+ `credentialsIssuedTo` – 與發出登入資料的環境相關的資源。
**選用：**True

**`credentialId`**  
用於請求的登入資料 ID。只有當呼叫者使用持有人權杖時，例如 IAM Identity Center 授權存取權杖，才會執行此設定。  
**選用：**True

## 具有 SAML 和 Web 聯合身分 AWS STS APIs 值
<a name="STS-API-SAML-WIF"></a>

AWS CloudTrail 支援使用安全性聲明標記語言 (SAML AWS STS) 和 Web 聯合身分進行的 logging AWS Security Token Service () API 呼叫。當使用者呼叫 [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithSAML.html) 和 [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) API 時， CloudTrail 會記錄呼叫並將事件傳遞到您的 Amazon S3 儲存貯體。

這些 API 的 `userIdentity` 元素包含下列值。

**`type`**  
身分類型。  
+ `SAMLUser` - 使用 SAML 聲明提出請求。
+ `WebIdentityUser` - 由 Web 聯合身分提供者提出請求。

**`principalId`**  
發出呼叫之實體的唯一識別符。  
+ 針對 `SAMLUser`，這是 `saml:namequalifier` 和 `saml:sub` 金鑰的組合。
+ 針對 `WebIdentityUser`，這是發行者、應用程式 ID 和使用者 ID 的組合。

**`userName`**  
發出呼叫之身分的名稱。  
+ 針對 `SAMLUser`，這是 `saml:sub` 金鑰。
+ 針對 `WebIdentityUser`，這是使用者 ID。

**`identityProvider`**  
外部身分提供者的主體名稱。只有 `SAMLUser` 或 `WebIdentityUser` 類型會顯示此欄位。  
+ 針對 `SAMLUser`，這是 SAML 聲明的 `saml:namequalifier` 金鑰。
+ 針對 `WebIdentityUser`，這是 Web 聯合身分提供者的發行者名稱。這可以是您設定的供應商，例如：
  + `cognito-identity.amazon.com` 適用於 Amazon Cognito
  + Login with Amazon 的 `www.amazon.com`
  + Google 的 `accounts.google.com`
  + Facebook 的 `graph.facebook.com`

以下是 `AssumeRoleWithWebIdentity` 動作的範例 `userIdentity` 元素。

```
"userIdentity": {
    "type": "WebIdentityUser",
    "principalId": "accounts.google.com:{{application-id}}.apps.googleusercontent.com:{{user-id}}",
    "userName": "{{user-id}}",
    "identityProvider": "accounts.google.com"
  }
```

如需 `userIdentity` 元素如何顯示 `SAMLUser`和 `WebIdentityUser`類型的範例日誌，請參閱[使用 記錄 IAM 和 AWS STS API 呼叫 AWS CloudTrail](https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html)。

## AWS STS 來源身分
<a name="STS-API-source-identity"></a>

IAM 管理員可以設定 ， AWS Security Token Service 要求使用者在使用臨時登入資料擔任角色時指定身分。使用者擔任 IAM 角色或使用所擔任角色執行任何動作時，`sourceIdentity` 欄位會出現在事件中。

`sourceIdentity` 欄位識別提出請求的原始使用者身分，無論該使用者身分是 IAM 使用者、IAM 角色、使用 SAML 型聯合驗證的使用者，還是使用 OpenID Connect (OIDC) 相容的網頁聯合身分驗證的使用者。IAM 管理員設定後 AWS STS，CloudTrail 會在事件記錄中的下列事件和位置中記錄`sourceIdentity`資訊：
+ 使用者身分在擔任角色時發出的 `AssumeRoleWithSAML`、 AWS STS `AssumeRole`或 `AssumeRoleWithWebIdentity`呼叫。 `sourceIdentity` 位於 AWS STS 呼叫的 `requestParameters`區塊中。
+ 如果使用者身分使用角色擔任另一個角色，稱為[角色鏈結](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining) AWS STS `AssumeRole`，則使用者身分進行的 `AssumeRoleWithSAML`、 或 `AssumeRoleWithWebIdentity`呼叫。 `sourceIdentity` 可在 AWS STS 呼叫的 `requestParameters` 區塊中找到。
+  AWS 服務 API 會在使用者身分擔任角色並使用 指派的暫時登入資料時呼叫 AWS STS。在服務 API 事件中，`sessionContext` 區塊中找到 `sourceIdentity`。例如，如果使用者身分識別建立新的 S3 儲存貯體，則 `CreateBucket` 事件的 `sessionContext` 區塊中會發生 `sourceIdentity`。

如需如何設定 AWS STS 以收集來源身分資訊的詳細資訊，請參閱《*IAM 使用者指南*》中的[監控和控制使用擔任角色採取的動作](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html)。如需記錄到 CloudTrail AWS STS 之事件的詳細資訊，請參閱《[IAM 使用者指南》中的使用 記錄 IAM 和 AWS STS API 呼叫 AWS CloudTrail](https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html)。 **

以下是事件的範例片段，其中顯示 `sourceIdentity` 欄位。

**範例 `requestParameters` 區段**

在下列範例事件程式碼片段中，使用者提出 AWS STS `AssumeRole`請求，並設定來源身分，此處由 表示`{{source-identity-value-set}}`。使用者承擔由角色 ARN `arn:aws:iam::123456789012:role/Assumed_Role` 表示的角色。`sourceIdentity` 欄位位於事件的 `requestParameters` 區塊。

```
"eventVersion": "1.05",
    "userIdentity": {
        "type": "AWSAccount",
        "principalId": "AIDAJ45Q7YFFAREXAMPLE",
        "accountId": "123456789012"
    },
    "eventTime": "2020-04-02T18:20:53Z",
    "eventSource": "sts.amazonaws.com",
    "eventName": "AssumeRole",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "203.0.113.64",
    "userAgent": "aws-cli/1.16.96 Python/3.6.0 Windows/10 botocore/1.12.86",
    "requestParameters": {
        "roleArn": "arn:aws:iam::123456789012:role/Assumed_Role",
        "roleSessionName": "Test1",
        "sourceIdentity": "{{source-identity-value-set}}",
    },
```

**範例 `responseElements` 區段**

在下列範例事件程式碼片段中，使用者提出請求 AWS STS `AssumeRole`以擔任名為 的角色`Developer_Role`，並設定來源身分 `Admin`。使用者承擔由角色 ARN `arn:aws:iam::111122223333:role/Developer_Role` 表示的角色。`sourceIdentity` 欄位會顯示在事件的 `requestParameters` 和 `responseElements` 區塊。用來擔任角色、工作階段 Token 字串以及擔任的角色 ID、工作階段名稱和工作階段 ARN 的臨時憑證會與來源身分一起顯示在 `responseElements` 區塊。

```
    "requestParameters": {
        "roleArn": "arn:aws:iam::111122223333:role/Developer_Role",
        "roleSessionName": "Session_Name",
        "sourceIdentity": "Admin"
    },
    "responseElements": {
        "credentials": {
            "accessKeyId": "ASIAIOSFODNN7EXAMPLE",
            "expiration": "Jan 22, 2021 12:46:28 AM",
            "sessionToken": "XXYYaz...
                             EXAMPLE_SESSION_TOKEN
                             XXyYaZAz"
        },
        "assumedRoleUser": {
            "assumedRoleId": "AROACKCEVSQ6C2EXAMPLE:Session_Name",
            "arn": "arn:aws:sts::111122223333:assumed-role/Developer_Role/Session_Name"
        },
        "sourceIdentity": "Admin"
    }
...
```

**範例 `sessionContext` 區段**

在下列範例事件程式碼片段中，使用者擔任名為 的角色`DevRole`來呼叫 AWS 服務 API。使用者會設定來源身分，此處由 {{source-identity-value-set}} 表示。`sourceIdentity` 欄位位於 `sessionContext` 區塊，在事件的 `userIdentity` 區塊內。

```
{
  "eventVersion": "1.08",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAJ45Q7YFFAREXAMPLE: Dev1",
    "arn": "arn: aws: sts: : 123456789012: assumed-role/DevRole/Dev1",
    "accountId": "123456789012",
    "accessKeyId": "ASIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAJ45Q7YFFAREXAMPLE",
        "arn": "arn: aws: iam: : 123456789012: role/DevRole",
        "accountId": "123456789012",
        "userName": "DevRole"
      },
      "webIdFederationData": {},
      "attributes": {
        "mfaAuthenticated": "false",
        "creationDate": "2021-02-21T23: 46: 28Z"
      },
      "sourceIdentity": "{{source-identity-value-set}}"
    }
  }
}
```