DVA-C02セキュリティMEDIUM複数選択

ある開発チームは AWS STS を使って一時認証情報を取得する複数のユースケースを検討しています。「IAM ユーザーが MFA デバイスを使ってコンソールにサインインする際に一時認証情報を取得する」場合と「Lambda 関数が別アカウントのリソースにアクセスするためにロールを引き受ける」場合に、それぞれ正しい STS API の組み合わせを 2 つ選択してください。

  1. A. どちらのユースケースにも sts:AssumeRoleWithWebIdentity が適している
  2. B. クロスアカウントのロール引き受けには sts:GetFederationToken を使用する
  3. C. MFA を使った IAM ユーザーの一時認証情報取得には sts:AssumeRole を使用する
  4. D. クロスアカウントのロール引き受けには sts:AssumeRole を使用する
  5. E. MFA を使った IAM ユーザーの一時認証情報取得には sts:GetSessionToken を使用する
解答と解説を見る

正解: D, E

MFA を使った IAM ユーザーの一時認証情報取得は GetSessionToken が正しい API です。MFA デバイスシリアル番号とワンタイムコードを引数に渡すことで、MFA 検証済みの一時認証情報を取得できます。クロスアカウントのロール引き受けは AssumeRole が正しい API です。Trust Policy で信頼されたプリンシパルであれば、ロール ARN を指定して一時認証情報を取得できます。C の AssumeRole を MFA の代わりに使うのは誤りで、GetSessionToken が専用 API です。B の GetFederationToken は IAM ユーザーがフェデレーションユーザーに権限を委任するための API で、クロスアカウントには使いません。A の AssumeRoleWithWebIdentity は OIDC/Web IdP(Cognito・Google 等)のトークンを使ったフェデレーション用であり、今回のユースケースには対応しません。

▸ この試験を本気で演習する(全150問・無料)