IAM アイデンティティセンターの AWS STS 条件コンテキストキー - AWS IAM Identity Center

IAM アイデンティティセンターの AWS STS 条件コンテキストキー

特定のプリンシパルが AWS にリクエストを行うと、AWS は、リクエスト情報をリクエストコンテキストに集約し、そのコンテキストを利用してリクエストを評価し承認します。JSON ポリシーの Condition 要素を使用して、リクエストコンテキストのキーを、ポリシーで指定したキーバリューと比較できます。リクエスト情報は、リクエストを行うプリンシパル、リソース、リクエストの対象、リクエスト自体に関するメタデータなど、さまざまなソースから提供されます。サービス固有の条件キーは、個々の AWS サービスで使用するように定義されています。

IAM アイデンティティセンターには、AWS マネージドアプリケーションやサードパーティーアプリケーションが IAM アイデンティティセンターで定義された条件キーに値を追加できるようにする AWS STS コンテキストプロバイダーが含まれています。これらのキーは、IAM ロールに含まれています。アプリケーションがトークンを AWS STS に渡す際に、キー値が設定されます。アプリケーションは、次のいずれかの方法で AWS STS に渡されるトークンを取得します。

  • IAM アイデンティティセンターでの認証中。

  • 信頼できる ID の伝播のために信頼できるトークン発行者とトークンを交換した後。この場合、アプリケーションは信頼できるトークン発行者からトークンを取得し、そのトークンを IAM アイデンティティセンターからのトークンと交換します。

これらのキーは、通常、信頼できる ID の伝播機能を統合したアプリケーションで使用されます。場合によっては、キー値が存在するため、作成する IAM ポリシーでこれらのキーを使用して、アクセス権限の許可や拒否ができます。

例えば、UserId の値に基づいてリソースへの条件付きアクセスを提供したい場合があるでしょう。この値は、どの IAM アイデンティティセンターユーザーがロールを使用しているかを示します。この例は、SourceId を使用する場合に似ています。ただし SourceId とは異なり、UserId の値は、ID ストア由来の特定の検証済みユーザーを表します。この値は、アプリケーションが取得し、AWS STS に渡すトークンに含まれます。任意の値を格納できる汎用文字列ではありません。

identitystore:UserId

このコンテキストキーは、IAM アイデンティティセンターによって発行されるコンテキストアサーションの対象である IAM アイデンティティセンターユーザーの UserId です。コンテキストアサーションは AWS STS に渡されます。このキーを使用して、リクエストの送信元である IAM アイデンティティセンターユーザーの UserId を、ポリシーで指定したユーザーの識別子と比較できます。

  • 可用性 – このキーは、AWS CLI または AWS STS AssumeRole API オペレーションで任意の AWS STS assume-role コマンドを使用してロールを引き受ける際に、IAM アイデンティティセンターが発行するコンテキストアサーションの設定後にリクエストコンテキストに含まれます。

  • データ型文字列

  • 値タイプ — 単一値

identitystore:IdentityStoreArn

このコンテキストキーは、コンテキストアサーションを発行した IAM アイデンティティセンターのインスタンスにアタッチされた ID ストアの ARN です。また、identitystore:UserID の属性を検索できる ID ストアでもあります。このキーをポリシーで使用して、identitystore:UserID が想定される ID ストアの ARN から取得されたものかを判断できます。

  • 可用性 – このキーは、AWS CLI または AWS STS AssumeRole API オペレーションで任意の AWS STS assume-role コマンドを使用してロールを引き受ける際に、IAM アイデンティティセンターが発行するコンテキストアサーションの設定後にリクエストコンテキストに含まれます。

  • データ型Arn文字列

  • 値タイプ — 単一値

identitycenter:ApplicationArn

このコンテキストキーは、IAM アイデンティティセンターがコンテキストアサーションを発行したアプリケーションの ARN です。このキーをポリシーで使用して、identitycenter:ApplicationArn が想定されるアプリケーションから取得されたものであるかを判断できます。このキーを使用するころで、予期しないアプリケーションによる IAM ロールへのアクセスを防止できます。

  • 可用性 – このキーは、AWS STS AssumeRole API オペレーションのリクエストコンテキストに含まれています。リクエストコンテキストには、IAM アイデンティティセンターによって発行されたコンテキストアサーションが含まれます。

  • データ型Arn文字列

  • 値タイプ — 単一値

identitycenter:CredentialId

このコンテキストキーは、アイデンティティ強化ロール認証情報のランダム ID であり、ログ記録のみに使用されます。このキー値は予測できないため、ポリシーのコンテキストアサーションには使用しないことをお勧めします。

  • 可用性 – このキーは、AWS STS AssumeRole API オペレーションのリクエストコンテキストに含まれています。リクエストコンテキストには、IAM アイデンティティセンターによって発行されたコンテキストアサーションが含まれます。

  • データ型文字列

  • 値タイプ — 単一値

identitycenter:InstanceArn

このコンテキストキーは、identitystore:UserID のコンテキストアサーションを発行した IAM アイデンティティセンターのインスタンスの ARN です。このキーを使用して、identitystore:UserID と コンテキストアサーションが、想定される IAM アイデンティティセンターインスタンスの ARN から取得されたものであるかを判断できます。

  • 可用性 – このキーは、AWS STS AssumeRole API オペレーションのリクエストコンテキストに含まれています。リクエストコンテキストには、IAM アイデンティティセンターによって発行されたコンテキストアサーションが含まれます。

  • データ型Arn文字列

  • 値タイプ — 単一値