50 人それぞれに個別のポリシーを 1 つずつ手動でアタッチする
個別にポリシーをアタッチすると、権限変更のたびに 50 人分を修正する必要があり、ミスや漏れが生じます。
効率的に管理したいという要件を満たさないため不正解です。
50 人の開発者に同じ権限セットをまとめて付与し、メンバーの追加・削除や権限変更を効率的に管理したいと考えています。IAM で最も適した方法はどれですか。
複数ユーザーに同じ権限を効率的に付与する IAM の方法を選ぶ問題。
50 人それぞれに個別のポリシーを 1 つずつ手動でアタッチする
個別にポリシーをアタッチすると、権限変更のたびに 50 人分を修正する必要があり、ミスや漏れが生じます。
効率的に管理したいという要件を満たさないため不正解です。
共通のマネージドポリシーを作成し、50 人それぞれに直接アタッチする
共通のマネージドポリシーを使い回す方法でも、全員に同じ権限を付与すること自体は可能です。
しかし メンバーの追加・削除のたびに 1 人ずつアタッチ・デタッチの操作が必要 になり、ポリシーが複数に増えると操作の数は 人数 × ポリシー数 に膨らみます。また『開発者は誰で、どのポリシーが付いているか』という 対象者の一覧を管理する単位がない ため、付与漏れ・外し漏れに気づきにくくなります。IAM グループなら グループへの所属を出し入れするだけ で権限一式をまとめて付け外しでき、メンバー一覧も一目で把握できるため、効率的な管理という要件では IAM グループに劣り不正解です。
IAM グループを作成し、グループに権限を付与してユーザーを所属させる
正解。IAM グループに権限(ポリシー)を付与し、開発者の IAM ユーザーをそのグループに所属させると、メンバー全員に同じ権限が適用されます。権限変更はグループのポリシーを 1 か所直すだけで全員に反映され、メンバーの増減も所属の追加・削除で済みます。
全員が引き受けられる共通の IAM ロールを作成して権限を付与する
IAM ロールは 一時的に権限を引き受ける(スイッチする)仕組み で、サービスへの権限付与やクロスアカウントアクセスに適しています。
50 人の 日常的な所属と権限セットの管理 には、ユーザーをまとめて管理できる IAM グループ が適切で、毎回ロールへ切り替える運用は本問の要件に対して遠回りのため不正解です。
『複数ユーザーに同じ権限』『効率的に管理』は IAM グループ。グループのポリシーを変えれば全員に反映。個別アタッチは人数分の作業が発生し、ロールは一時的な権限の引き受けが本来の用途。