無限ノック › SCS 練習問題一覧 › 問題
SCSアイデンティティとアクセス管理

ある企業は単一の IAM ロール「DeveloperRole」を全開発者で共有しています。 各開発者は AWS IAM Identity Center 経由でこのロールを引き受け、セッションタグとして「username」が自動付与されます。 要件として「各開発者は自分の username タグと同じ値の username タグを持つ Amazon S3 バケットのみにアクセスできること」とします。 この ABAC(属性ベースのアクセス制御)を実現するための最も適切なポリシー条件はどれですか?

A
DeveloperRole の信頼ポリシーに aws:RequestTag/username 条件キーを追加し、IAM Identity Center のユーザー属性と照合する
誤りです。信頼ポリシーの aws:RequestTag はロール引き受け時のリクエストタグを検証するものであり、引き受け後のリソースアクセス制御には使いません。
B
DeveloperRole のアクセス許可ポリシーに aws:PrincipalTag/username と aws:ResourceTag/username の値が一致する条件を追加する
✓ 正解
DeveloperRole のアクセス許可ポリシーに aws:PrincipalTag/username と aws:ResourceTag/username の値が一致する条件を追加する。 ABAC では、セッションタグ(aws:PrincipalTag/username)とリソースタグ(aws:ResourceTag/username)を条件として組み合わせることで動的なアクセス制御が可能です。IAM Identity Center はユーザー属性を自動的にセッションタグとして引き渡し、アクセス許可ポリシーの条件に `StringEquals: {aws:PrincipalTag/username: ${aws:ResourceTag/username}}` を設定することで実現できます。
C
各開発者に個別の IAM ロールを作成し、それぞれ対応するバケットへのアクセスのみを許可する
数百人規模では管理が煩雑になります。ABAC はまさにこのスケーリング問題を解決するアプローチです。
D
Permission Boundary に aws:PrincipalTag 条件を含めることで、セッションタグに基づくアクセス制御を実現する
誤りです。Permission Boundary は権限の上限を設定するものであり、セッションタグに基づく動的なリソースフィルタリングには使用しません。

解説

DeveloperRole のアクセス許可ポリシーに aws:PrincipalTag/username と aws:ResourceTag/username の値が一致する条件を追加する。 ABAC では、セッションタグ(aws:PrincipalTag/username)とリソースタグ(aws:ResourceTag/username)を条件として組み合わせることで動的なアクセス制御が可能です。IAM Identity Center はユーザー属性を自動的にセッションタグとして引き渡し、アクセス許可ポリシーの条件に `StringEquals: {aws:PrincipalTag/username: ${aws:ResourceTag/username}}` を設定することで実現できます。 選択肢Aは誤りです。信頼ポリシーの aws:RequestTag はロール引き受け時のリクエストタグを検証するものであり、引き受け後のリソースアクセス制御には使いません。 選択肢Cは数百人規模では管理が煩雑になります。ABAC はまさにこのスケーリング問題を解決するアプローチです。 選択肢Dは誤りです。Permission Boundary は権限の上限を設定するものであり、セッションタグに基づく動的なリソースフィルタリングには使用しません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SCS の問題一覧に戻る