

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ID が強化された IAM ロールセッション
<a name="trustedidentitypropagation-identity-enhanced-iam-role-sessions"></a>

[AWS Security Token Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html) (STS) を使用すると、アプリケーションはアイデンティティが強化された IAM ロールセッションを取得できます。ID 拡張ロールセッションには、呼び出す にユーザー識別子を格納する ID コンテキストが追加され AWS のサービス ています。 AWS のサービス は、IAM Identity Center でユーザーのグループメンバーシップと属性を検索し、それらを使用してユーザーのリソースへのアクセスを承認できます。

AWS アプリケーションは、 AWS STS [AssumeRole](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRole.html) API アクションにリクエストを行い、 へのリクエストの `ProvidedContexts`パラメータでユーザーの識別子 (`userId`) を使用してコンテキストアサーションを渡すことで、アイデンティティが強化されたロールセッションを取得します`AssumeRole`。コンテキストアサーションは、`SSO OIDC` から [https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html) へのリクエストに応答して受け取った `idToken` クレームから取得されます。 AWS アプリケーションが ID 拡張ロールセッションを使用してリソースにアクセスすると、CloudTrail は `userId`、開始セッション、および実行されたアクションを記録します。詳細については、「[ID 拡張 IAM ロールセッションの記録](#trustedidentitypropagation-identity-enhanced-iam-role-session-logging)」を参照してください。

**Topics**
+ [ID が強化された IAM ロールセッションのタイプ](#types-identity-enhanced-iam-role-sessions)
+ [ID 拡張 IAM ロールセッションの記録](#trustedidentitypropagation-identity-enhanced-iam-role-session-logging)

## ID が強化された IAM ロールセッションのタイプ
<a name="types-identity-enhanced-iam-role-sessions"></a>

AWS STS は、`AssumeRole`リクエストに提供されたコンテキストアサーションに応じて、2 つの異なるタイプのアイデンティティ拡張 IAM ロールセッションを作成できます。IAM アイデンティティセンターから ID トークンを取得しているアプリケーションは、IAM ロールセッションに `sts:identiy_context` (推奨) または `sts:audit_context` (下位互換性のためにサポート) を追加できます。なお、ID 拡張 IAM ロールセッションでは、これらのコンテキストアサーションの 1 つしか持つことができず、両方を持つことはできません。

### `sts:identity_context` で作成された ID が強化された IAM ロールセッション
<a name="role_session_sts_identity_context"></a>

ID 拡張ロールセッションに `sts:identity_context` が含まれている場合、呼び出された AWS のサービス は、リソース認可がロールセッションで表されるユーザーに基づくか、ロールに基づくかを決定します。ユーザーベースの認可をサポートする AWS のサービス は、ユーザーまたはユーザーがメンバーであるグループにアクセスを割り当てるコントロールをアプリケーションの管理者に提供します。

AWS のサービス ユーザーベースの認可をサポートしていない は、 を無視します`sts:identity_context`。CloudTrail は、IAM アイデンティティセンターユーザーのユーザー ID を、ロールによって実行されたすべてのアクションとともに記録します。詳細については、「[ID 拡張 IAM ロールセッションの記録](#trustedidentitypropagation-identity-enhanced-iam-role-session-logging)」を参照してください。

このタイプの ID 拡張ロールセッションを から取得するために AWS STS、アプリケーションはリクエスト`ProvidedContexts`パラメータを使用して [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) リクエストの `sts:identity_context`フィールドの値を提供します。`arn:aws:iam::aws:contextProvider/IdentityCenter` を `ProviderArn` の値として使用します。

認可の動作の詳細については、受信に関するドキュメントを参照してください AWS のサービス。

### `sts:audit_context` で作成された ID が強化された IAM ロールセッション
<a name="role_session_sts_audit_context"></a>

以前は、 は、 AWS のサービス がユーザー ID を使用せずにログに記録するために使用され`sts:audit_context`ていました。 AWS のサービス は、単一のコンテキスト - `sts:identity_context` を使用して、これを達成し、承認の決定を行うことができます。信頼できる ID 伝播のすべての新しいデプロイで `sts:identity_context` を使用することをお勧めします。

## ID 拡張 IAM ロールセッションの記録
<a name="trustedidentitypropagation-identity-enhanced-iam-role-session-logging"></a>

ID 拡張 IAM ロールセッション AWS のサービス を使用して にリクエストが行われると、ユーザーの IAM アイデンティティセンター`userId`は `OnBehalfOf`要素の CloudTrail に記録されます。CloudTrail にイベントをログ記録する方法は、 AWS のサービスによって異なります。すべての AWS のサービス が `onBehalfOf` 要素をログ記録するわけではありません。

以下は、ID 拡張ロールセッションを使用して AWS のサービス に対して行われるリクエストが CloudTrail にログ記録される方法の例です。

```
"userIdentity": {
      "type": "AssumedRole",
      "principalId": "AROAEXAMPLE:MyRole",
      "arn": "arn:aws:sts::111111111111:assumed-role/MyRole/MySession",
      "accountId": "111111111111",
      "accessKeyId": "ASIAEXAMPLE",
      "sessionContext": {
        "sessionIssuer": {
            "type": "Role",
            "principalId": "AROAEXAMPLE",
            "arn": "arn:aws:iam::111111111111:role/MyRole",
            "accountId": "111111111111",
            "userName": "MyRole"
        },
        "attributes": {
            "creationDate": "2023-12-12T13:55:22Z",
            "mfaAuthenticated": "false"
        }
    },
    "onBehalfOf": {
        "userId": "11111111-1111-1111-1111-1111111111",
        "identityStoreArn": "arn:aws:identitystore::111111111111:identitystore/d-111111111"
    }
}
```