ある企業が、社内のセキュリティポリシーとして「本番アカウントへの直接的な人間によるアクセスを禁止し、すべての変更は CI/CD パイプライン経由で行う」ことを定めた。デプロイパイプラインは開発アカウントに存在し、本番アカウントのリソースを変更する。一方で緊急時には特定の管理者のみが本番環境に一時的にアクセスできる Break Glass アクセスが必要である。最も適切なアーキテクチャはどれか。
- A. 本番アカウントに踏み台 EC2 を配置し、管理者は踏み台 EC2 経由で本番リソースを操作する。踏み台へのアクセスは IP 制限で制御する。
- B. 開発アカウントの CI/CD ロール(CodePipeline サービスロール等)に本番アカウントへのクロスアカウント AssumeRole を許可する。緊急用に IAM Identity Center でブレークグラスロールを作成し、承認ワークフロー付きの一時的な権限昇格を構成する。
- C. 本番アカウントに常時アクセス可能な IAM ユーザーを管理者全員分作成し、多要素認証(MFA)を必須とする。
- D. AWS Organizations の SCP で本番アカウントへの人間によるコンソールアクセスを永続的にブロックし、緊急時も例外を設けない。
解答と解説を見る
正解: B
CI/CD パイプラインによる通常デプロイと、緊急時のブレークグラスアクセスを組み合わせる構成が本要件を満たす。開発アカウントの CI/CD ロールに本番への AssumeRole を許可することで、パイプライン経由のデプロイが実現できる。緊急用のブレークグラスロールは IAM Identity Center の一時的な権限昇格機能(または AWS IAM Identity Center のアクセス許可セットへの条件付きアサインメント)で実装でき、承認ワークフローを通じた利用ログも取得できる。選択肢Cは全管理者に常時アクセスを付与しており、「人間による直接アクセス禁止」ポリシーに反する。選択肢Dは緊急時の Break Glass アクセス要件を完全に排除しており、実際の運用要件に対応できない。選択肢Aの踏み台 EC2 は依然として人間が直接本番環境を操作する経路を提供しており、CI/CD パイプライン強制のポリシーに反する。
📚 関連サービスの解説: AWS CodePipeline ・ AWS IAM Identity Center