ひとことで言うと
社員証1枚方式です。1回のサインインで複数のAWSアカウントとAWS管理アプリケーションに入れます。
要するに、社員証にその場の権限が書き込まれる仕組みです。ただの入館証(誰であるか)で終わらず、生成AIアプリ(Amazon Quickなど)がその社員証のID・所属グループの情報をそのまま別のAWSサービス(Amazon Redshiftなど)に渡し、渡された側がその情報で「この人にどこまで見せるか」を判断します。これが trusted identity propagation(信頼できるID伝播)です。
なぜ生まれたか
| Identity Center が無いと | 受け皿 |
|---|---|
| アカウントごとにIAMユーザー・フェデレーション証明書を個別管理 | 1点の連携(既存ディレクトリを1回接続すれば全アカウントで共有) |
| アプリのサービスロールが全ユーザー共通で、誰が何を見たか個人単位で追えない | trusted identity propagationでCloudTrail・サービスログにユーザー単位の記録 |
| アプリごとに認可ロジックを作り直す | ユーザーの属性(部門等)をそのままAWS管理アプリ側の認可に伝える |
Identity Center自体は「サインインの一元化」が主目的ですが、生成AIの文脈で効くのはその先、つまりサインインした個人のIDが、データにアクセスする瞬間まで保たれる設計です。
何に使うか
| 用途 | 使い方 | 関連ドメイン |
|---|---|---|
| 複数AWSアカウントへのワークフォースSSO | organization instanceで一元管理・permission setsを配布 | D2 |
| AWS管理アプリへの統一ID | Kiro・Amazon Quickなどが共通のユーザー/グループ情報を参照 | D2 |
| trusted identity propagation | クライアントアプリが受け取ったIDをそのまま下流のAWSサービスに引き継ぐ | D2・D3 |
| 監査 | 個々のAWSサービスのログ・CloudTrailにユーザー識別子が記録される | D3 |
試験でどう問われるか
| 問われ方 | 正解に寄る条件 | 引っかけの選択肢 |
|---|---|---|
| 生成AIアプリで、ユーザーごとに閲覧できるデータ範囲を制限したいが、アプリのサービスロールは全ユーザー共通 | ユーザーの属性で下流の認可を決めたい → trusted identity propagation | アプリ内でユーザーIDを条件分岐するコードを自前で書く |
| 誰が生成AIアプリ経由でどのデータにアクセスしたか個人単位で監査したい | ユーザー識別子をログに残したい → Identity Center連携+サービス側ログ/CloudTrail | アプリのアクセスログをアプリ側だけで独自に保存する |
| エージェントやLambdaなど、人間以外の主体を認証したい | Identity Centerはワークフォース(人間)向け → 主役ではない、機械間はIAMロール | Identity Centerでエージェント用のユーザーを作成する |
| 複数AWSアカウントに散らばるBedrock環境へ社員をサインインさせたい | organization instanceでアカウントを横断管理 | アカウントごとにIAMユーザーを作って個別配布する |
trusted identity propagationは「Identity Center側の設定」と「連携先AWSサービス側の設定」の両方が要ります。片方だけでは伝播しません。
実務でどう使うか
- organization instanceがベストプラクティス。 account instanceは特定のAWS管理アプリの単独デプロイ向けで、複数アカウント管理はできません
- trusted identity propagationは対応しているAWSサービス間でしか成立しません。 独自に構築したアプリケーションを組み込みたい場合は、信頼されたトークン発行者(trusted token issuer)として認証プロバイダを別途Identity Centerに接続する必要があります
- エージェントやバッチ処理など、サインインする人間がいない経路には別の仕組みが要ります。 Identity Centerはワークフォースの認証が前提で、機械間の呼び出しは対象外です
account instanceは特定のAWS管理アプリの単独デプロイ向けで、複数アカウントの一元管理はできません。本番でワークフォースのマルチアカウントアクセスを設計するなら、原則としてorganization instanceを選びます。
取り違えやすいもの
| 迷う相手 | 切り分けの一言 |
|---|---|
| Amazon Cognito | Identity Centerは社内ワークフォースのAWSアカウント/管理アプリ向けSSO。Cognitoは自社アプリの一般エンドユーザー向け認証 |
| IAM | Identity Centerは人間のサインイン方法。IAMはサインイン後に何ができるか(ロール・ポリシー)を決める側 |
| IAM Access Analyzer | Identity Centerはアクセスを発行する側。Access Analyzerは発行された・使われなかったアクセスを事後検査する側 |
想起チェック
Q1. trusted identity propagationが解決する問題を一言で言うと?
アプリのサービスロールが全ユーザー共通でも、実際にデータへアクセスする下流のAWSサービス側で、個々のユーザーの属性に基づいた認可・監査ができるようにすることです。
Q2. IAM Identity CenterとAmazon Cognitoを分ける基準は?
対象がワークフォース(社内・複数AWSアカウント)か、コンシューマ(自社アプリのエンドユーザー)かです。生成AIアプリの利用者が一般ユーザーならCognito、社内の業務利用者ならIdentity Centerに寄ります。