AWS Organizations
目的
AWS Organizations のユースケースを大雑把に理解して仕事に活かせるようになること。
ユースケース
複数アカウントを一元管理したいときに利用する。
- ステージごとにアカウントを管理したい
- 例) 開発用、本番用のアカウント
- アカウントごとの API 権限を管理したい
- 例) 開発用アカウントは t2.micro 以外の EC2 インスタンスタイプ を使用できないように制限する
用語集
- Service Control Policies (SCPs)
- アカウントに適用されるポリシー
- 管理アカウントの SCP はデフォルトでフルアクセス権限
例) t2.micro 以外の EC2 インスタンスタイプ を使用できない { "Version": "2012-10-17", "Statement": [ { "Sid": "RequireMicroInstanceType", "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:instance/*" ], "Condition": { "StringNotEquals": { "ec2:InstanceType": [ "t2.micro" ] } } } ] }
- Organization Unit (OU)
- アカウントのグループ
- OU 同士で階層化できる
- 上位の OU の SCPs が継承される
管理アカウント |--開発アカウント(管理アカウントの SCPs を継承) |--本番アカウント(管理アカウントと開発アカウントの SCPs を継承)
SCP を使用したセキュリティー戦略
Deny List 戦略
- 子アカウントの SCP で Deny を選択し 管理アカウントの SCP を上書きする
Allow List 戦略
管理アカウントの SCP からフルアクセス権限を削除
許可する権限を SCP に追加する
下の階層にあるアカウントがある権限を付与されるには必ず明示的に SCP による許可が必要