

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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 및 웹 자격 증명 페더레이션 AWS STS APIs의 값](#STS-API-SAML-WIF)
+ [AWS STS 소스 자격 증명](#STS-API-source-identity)

## 예제
<a name="cloudtrail-event-reference-user-identity-examples"></a>

**IAM 사용자 자격 증명이 있는 `userIdentity`**

다음 예는 `Alice`라는 IAM 사용자의 자격 증명으로 이루어지는 간단한 요청의 `userIdentity` 요소를 보여 줍니다.

```
"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에 대한 역할](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) 및 교차 계정 API 액세스가 포함될 수 있습니다.
+ `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 서비스. 예를 들어는 계정의 IAM 역할이 사용자를 대신하여 다른를 호출한다고 AWS Elastic Beanstalk 가정 AWS 서비스 합니다.
+ `IdentityCenterUser` - IAM Identity Center 사용자를 대신하여 요청이 이루어집니다.
+ `Unknown` - CloudTrail이 확인할 수 없는 자격 증명 유형으로 요청이 이루어집니다.
**선택 사항:** False  
`AWSAccount` 및 `AWSService`는 사용자가 소유한 IAM 역할을 사용하는 교차 계정 액세스가 있는 경우 로그의 `type`에 표시됩니다.  

**예: 다른 계정에서 시작한 교차 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/ko_kr/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 리소스 이름(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`는 사용자가 자격 증명을 획득하는 방법에 관한 정보를 제공합니다. 예를 들어, 사용자가 역할을 맡아 임시 보안 자격 증명을 획득했다면, 이 요소는 가정한 역할에 관한 정보를 제공합니다. AWS STS `GetFederationToken`을 호출하는 루트 또는 IAM 사용자 자격 증명을 사용하여 자격 증명을 획득했다면, 요소는 루트 계정 또는 IAM 사용자에 관한 정보를 제공합니다. 이 요소는 다음 속성을 가집니다.
  + `type` - 임시 보안 자격 증명의 소스입니다(예: `Root`, `IAMUser` 또는 `Role`).
  + `userName` - 세션을 발급한 사용자 또는 역할의 표시 이름입니다. 표시되는 값은 `sessionIssuer` 자격 증명 `type` 유형에 따라 달라집니다. 다음 표는 `sessionIssuer type`과 `userName` 사이의 관계를 보여 줍니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)
  + `principalId` - 자격 증명을 가져오는 데 사용하는 엔터티의 내부 ID입니다.
  + `arn` - 임시 보안 자격 증명을 가져오는 데 사용되는 소스(계정, IAM 사용자 또는 역할)의 ARN입니다.
  + `accountId` - 자격 증명을 가져오는 데 사용되는 엔터티를 소유한 계정입니다.
+ `webIdFederationData` - [웹 ID 페더레이션](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html)을 사용하여 획득한 임시 보안 자격 증명에서 요청을 수행하는 경우, `webIdFederationData`는 ID 제공업체에 관한 정보를 나열합니다.

  이 요소는 다음 속성을 가집니다.
  + `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 사용자 가이드*의 [AWS 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)를 참조하세요. `sourceIdentity` 필드는 사용자가 작업을 수행하기 위해 IAM 역할을 맡을 때 이벤트에서 발견됩니다. `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 인스턴스 메타데이터 서비스 버전 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`**  
Amazon EC2 Auto Scaling 또는 AWS 서비스 와 같은에서 요청을 수행할 때 요청을 AWS 서비스 수행한의 이름입니다 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 Identity Store의 ARN입니다.
**선택 사항:** True

**`inScopeOf`**  
Lambda 또는 Amazon ECS AWS 서비스와 같은 범위의 요청이 이루어진 경우 요청과 관련된 리소스 또는 자격 증명에 대한 정보를 제공합니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.  
+ `sourceArn` - 서비스 간 요청을 호출한 리소스의 ARN입니다.
+ `sourceAccount` - `sourceArn`의 소유자 계정 ID입니다. `sourceArn`과 함께 표시됩니다.
+ `issuerType` - `credentialsIssuedTo`의 리소스 유형입니다. 예를 들어 `AWS::Lambda::Function`입니다.
+ `credentialsIssuedTo` - 자격 증명이 발급된 환경과 관련된 리소스입니다.
**선택 사항:** True

**`credentialId`**  
요청의 자격 증명 ID입니다. 이는 호출자가 IAM Identity Center 승인 액세스 토큰과 같은 보유자 토큰을 사용하는 경우에만 설정됩니다.  
**선택 사항:** True

## SAML 및 웹 자격 증명 페더레이션 AWS STS APIs의 값
<a name="STS-API-SAML-WIF"></a>

AWS CloudTrail 는 Security Assertion Markup Language AWS Security Token Service (SAML AWS STS) 및 웹 자격 증명 페더레이션으로 수행된 로깅() 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` - 웹 자격 증명 연동 공급자에 의해 요청이 이루어집니다.

**`principalId`**  
호출이 이루어지는 개체에 대한 고유 식별자입니다.  
+ `SAMLUser`의 경우 `saml:namequalifier` 및 `saml:sub` 키의 조합입니다.
+ `WebIdentityUser`의 경우 발행자, 애플리케이션 ID 및 사용자 ID의 조합입니다.

**`userName`**  
호출이 이루어지는 자격 증명의 이름입니다.  
+ `SAMLUser`의 경우 `saml:sub` 키입니다.
+ `WebIdentityUser`의 경우 사용자 ID입니다.

**`identityProvider`**  
외부 자격 증명 제공업체의 보안 주체 이름입니다. 이 필드는 `SAMLUser` 또는 `WebIdentityUser` 유형에만 나타납니다.  
+ `SAMLUser`의 경우 SAML 어설션에 대한 `saml:namequalifier` 키입니다.
+ `WebIdentityUser`의 경우 웹 자격 증명 연동 제공업체의 발행자 이름입니다. 다음과 같이 구성된 제공업체일 수 있습니다.
  + Amazon Cognito의 경우 `cognito-identity.amazon.com`
  + 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"
  }
```

`SAMLUser` 및 `WebIdentityUser` 유형에 대한 `userIdentity` 요소가 표시되는 방식에 대한 로그 예제는를 [ 사용하여 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 하도록를 구성할 수 있습니다. `sourceIdentity` 필드는 사용자가 IAM 역할을 맡거나 수임된 역할로 작업을 수행할 때 이벤트에서 발견됩니다.

`sourceIdentity` 필드는 해당 사용자의 자격 증명이 IAM 사용자, IAM 역할, SAML 기반 연동을 사용하여 인증된 사용자 또는 OpenID Connect(OIDC) 호환 웹 자격 증명 연동을 사용하여 인증된 사용자인지 여부와 관계없이 요청을 수행하는 원래 사용자 자격 증명을 식별합니다. IAM 관리자가 구성한 후 AWS STS CloudTrail은 이벤트 레코드 내의 다음 이벤트 및 위치에 `sourceIdentity` 정보를 기록합니다.
+ 사용자 자격 증명이 역할을 AWS STS `AssumeRole`수임할 때 수행하는 `AssumeRoleWithSAML`, 또는 `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 이벤트에서 `sourceIdentity`는 `sessionContext` 블록에서 찾을 수 있습니다. 예를 들어 사용자 자격 증명이 새 S3 버킷을 생성하는 경우 `sourceIdentity`는 `CreateBucket` 이벤트의 `sessionContext` 블록에서 발견됩니다.

소스 자격 증명 정보를 수집하도록 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` 블록 모두에 나와 있습니다. 역할을 맡는 데 사용되는 임시 자격 증명, 세션 토큰 문자열 그리고 수임된 역할 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` 필드는 이벤트의 `userIdentity` 블록 내 `sessionContext` 블록에 있습니다.

```
{
  "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}}"
    }
  }
}
```