Service Control Policy(SCP)とは?組織レベルのガードレール
SCP は Organizations で組織全体や OU・特定アカウントに適用するポリシー。メンバーアカウントの最大権限の上限を定義し、IAM で許可されていても SCP で拒否されたら使用不可になる。root ユーザーにも適用されるため、組織全体のガードレールとして機能...
AWS Organizations で組織全体の権限を制限するポリシー。IAM ポリシーの「上限」として機能。
1. 概要(端的に)
SCP は Organizations で組織全体や OU・特定アカウントに適用するポリシー。メンバーアカウントの最大権限の上限を定義し、IAM で許可されていても SCP で拒否されたら使用不可になる。root ユーザーにも適用されるため、組織全体のガードレールとして機能する。
2. 何ができるか
- 組織全体のガードレール:禁止操作の一括適用
- OU 単位適用:本番 OU には厳しく、開発 OU には緩く
- アカウント単位適用:特定アカウントだけ制限
- root にも適用:root ユーザーも制限可
- 拒否リスト / 許可リスト:両方の運用が可能
3. 特徴
| 観点 | 特徴 |
|---|---|
| 追加料金 | 無料 |
| 適用対象 | OU / アカウント |
| 影響範囲 | メンバーアカウントの全 IAM ユーザー / ロール |
| root 影響 | あり |
| 形式 | IAM ポリシーと同じ JSON |
IAM ポリシーとの違い
- SCP:「許可の上限」を定義
- IAM ポリシー:「実際の権限」を定義
- 両方を AND で評価:両方で許可されている操作のみ実行可能
拒否リスト vs 許可リスト
[拒否リスト方式](推奨)
ベース:FullAWSAccess(全許可)
追加:特定操作を Deny
[許可リスト方式]
ベース:FullAWSAccess を削除(全拒否)
追加:必要な操作のみ Allow
4. 仕組み
SCP は メンバーアカウントの最大権限を制限する。「許可の天井」と考えれば良い。
評価ロジック
1. SCP が拒否(Deny)→ 拒否(最終)
2. SCP が許可(許可リストにない)→ 拒否
3. IAM ポリシーで許可 + SCP も許可 → 実行可
階層継承
- Root レベル SCP → 全 OU・全アカウントに適用
- OU レベル SCP → その OU 配下のアカウントに適用
- アカウントレベル SCP → そのアカウントのみ
→ 階層が深いほど制限が積み重なる
よくある SCP 例
特定リージョン外利用を禁止:
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": ["ap-northeast-1", "ap-northeast-3"]
}
}
}
root ユーザーの操作を禁止:
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"StringLike": {"aws:PrincipalArn": "arn:aws:iam::*:root"}
}
}
CloudTrail 無効化を禁止:
{
"Effect": "Deny",
"Action": ["cloudtrail:StopLogging", "cloudtrail:DeleteTrail"],
"Resource": "*"
}
5. ユースケース
ユースケース 1:本番 OU の保護
本番アカウントで重要リソースの削除を一律禁止。
ユースケース 2:地域制限
組織のリージョン使用を限定(コンプライアンス対応)。
ユースケース 3:CloudTrail 保護
監査ログを無効化されないよう強制保護。
ユースケース 4:root 操作の制限
root ユーザーの操作を実質ブロック。
ユースケース 5:開発者の暴走防止
本番リソースへの破壊的操作を Deny。
6. 関連用語
- Organizations — SCP の基盤
- IAM / IAM-Policy — SCP と組合せて評価
- Control-Tower — SCP を含む Landing Zone
7. 関連サイト
AWS 公式
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | 組織レベル制限の概念 |
| SAA | 高 | マルチアカウント設計、ガードレール |
| DVA | 中 | アプリ動作不可の原因が SCP の場合 |
| SOA | 中 | SCP 運用 |