■ 問題
ある企業では、本番環境インフラストラクチャと開発およびテスト環境インフラストラクチャを1つのAWSアカウントで管理しています。このAWSアカウントにおいて、パワーアクセス権限を付与されているIAMグループに所属している開発者がアプリケーション構築をおこなっています。そのため、開発者が本番向けのEC2インスタンスを削除する可能性があることが懸念されています。
この懸念に対して、どのような対応が考えられますか(2つ選択してください)。
選択肢
- 開発環境向けのAWSアカウントと本番環境用のアカウントを分割して、開発環境用のアカウント内のIAMユーザーを開発者に割り振る。
- 開発者が所属するIAMグループのIAMポリシーを修正して、EC2インスタンス削除を非許可に変更する。
- 開発者が所属するIAMグループのIAMポリシーを修正して、EC2インスタンス削除前にMFA認証を必要とする。
- AWS Organizationsを利用して、SCPによって開発部署向けのアカウント管理を実施する。
- EC2インスタンスにタグを設定し、開発者向けの操作許可を限定する設定を行う。
■ 正解
✅ 開発環境向けのAWSアカウントと本番環境用のアカウントを分割して、開発環境用のアカウント内のIAMユーザーを開発者に割り振る。
✅ EC2インスタンスにタグを設定し、開発者向けの操作許可を限定する設定を行う。
■ 構成イメージ(コードベース図)
① アカウント分離(最重要)
AWS Organizations(推奨構成)
├── 本番アカウント
│ ├── EC2(production)
│ ├── RDS
│ └── IAM(本番運用者のみ)
│
└── 開発アカウント
├── EC2(dev)
├── テスト環境
└── IAM(開発者)👉 開発者は本番に一切アクセス不可
② タグベース制御
EC2インスタンス
├── EC2-A
│ └─ Tag: Environment=production
│
└── EC2-B
└─ Tag: Environment=dev■ 全体的な説明
✔ オプション1(正解)
AWSアカウントを分割して開発グループを独立させた上で、開発向け環境のみの利用者権限をわけて管理することができます。これにより、開発グループのメンバーは開発用環境のリソースにしかアクセスできなくなります。
👉 最も強力な誤操作防止策(AWSベストプラクティス)
✔ オプション5(正解)
タグを使用すると目的、所有者、環境など、さまざまな方法でAWSリソースを分類できます。
EC2インスタンスの開発用タグで分類分けを行い、そのタグが設定されているEC2インスタンスのみに操作できるようにIAMポリシーを設定することで、本番用リソースの削除権限を与えない設定が可能となります。
👉 同一アカウント内での現実的な制御方法
❌ オプション2(不正解)
「IAMグループのIAMポリシーを修正してEC2インスタンス削除を非許可に変更する」では、開発時の操作を制限することになり、開発自体に支障をきたす可能性があります。
👉 開発もできなくなる=NG
❌ オプション3(不正解)
EC2インスタンスを削除する前にMFA認証を設定することはできません。
👉 そもそもそのような制御は不可
❌ オプション4(不正解)
AWS Organizationsは複数のAWSアカウント自体を統合管理するものであるため、今回のアカウント内部でのIAMユーザやグループ単位での管理には不適切です。
👉 アカウント内問題には直接使えない
■ 試験ポイントまとめ
本番を守る方法
① 最強 → アカウント分離
② 実務 → タグ制御
③ NG → 全禁止
④ NG → MFA頼り
■ まとめ
本番環境の誤削除対策は「アカウント分離」と「タグベース制御」の組み合わせが最適解です。
この問題は
👉 「環境分離 vs IAM制御」
を理解しているかを問う頻出パターンです。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK