AI作成・独立検証済(有資格者監修なし)SAA-C03 対応
STS(AssumeRoleWithWebIdentity)難易度 標準無料

Cognitoの内部動作を理解したい。CognitoIDプールは、Cognitoユーザープールや外部OIDCプロバイダー(Google等)が発行したIDトークンを受け取り、最終的に一時的なAWS認証情報を発行する。この過程でIDプールが内部的に呼び出しているSTSのAPIとして最も適切なものを選べ。(単一選択)

  1. Asts:AssumeRole
  2. Bsts:AssumeRoleWithWebIdentity
  3. Csts:GetFederationToken
  4. Dsts:GetSessionToken
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:BAI作成・独立検証済

解説

CognitoIDプール(および、Cognitoを使わずに直接OIDC/OAuthのWebIDトークンでAWSアクセスを実現したい場合)が使うSTS APIは sts:AssumeRoleWithWebIdentityである。

  • このAPIは、Web IDフェデレーションプロバイダー(Google、Facebook、Amazon、または任意のOIDC互換IdP)が発行した OIDCトークンを受け取り、指定したIAMロールを引き受けて一時的なAWS認証情報を返す。
  • sts:AssumeRoleすでにAWSの認証情報(IAMユーザー/ロール)を持つ主体が別のロールへ切り替える場合に使う(クロスアカウントロール引き受け等)。外部Webトークンを直接渡す用途ではない。
  • sts:GetFederationTokenIAMユーザーの認証情報を使い、限定的な権限を持つ一時トークンを発行する古い方式で、外部IdPのトークンを受け取る仕組みではない。
  • sts:GetSessionTokenMFA保護されたAPI呼び出しのためにIAMユーザー自身が一時セッションを取得する用途であり、フェデレーションとは無関係。
各誤答が違う理由
  • AAssumeRoleは既存のAWS認証情報(IAMユーザー/ロール)を持つ主体が別のロールへ切り替える場合のAPI。外部Webトークンを直接入力にする用途ではない。
  • CIAMユーザーの認証情報を使って限定的な一時トークンを発行する古い方式であり、外部OIDCトークンを受け取る仕組みではない。
  • DIAMユーザー自身がMFA保護されたAPI呼び出し用に一時セッションを取得するAPIであり、外部IDフェデレーションとは無関係。
ひっかけ: AssumeRoleAssumeRoleWithWebIdentityAssumeRoleWithSAMLGetFederationTokenGetSessionToken使い分け(どの認証情報を入力として、どの認証情報を出力するか)を混同しないこと。外部OIDC/Webトークンが入力になるのは AssumeRoleWithWebIdentity だけ。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)
この分野をもっと解いて、得点源に
IAMとセキュリティ設計 を含む問題を分野別に演習できます。
演習する →