本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第2章 IAMと認証・認可の設計 · レッスン11

組織全体のガバナンス

導入

アカウントが増えてくると、「どのアカウントも誤って高額なリソースを使えないようにしたい」「本番アカウントでは特定の操作を絶対に禁止したい」という組織全体のガードレールが必要になります。

説明

AWS Organizations は、複数のAWSアカウントを1つの組織としてまとめて管理するサービスです。アカウントをOU(組織単位)ごとにグルーピングし、一括請求(Consolidated Billing)や後述のSCPを適用できます。

flowchart TD
    ORG["管理アカウント(Organizations)"] --> OU1["OU: 本番"]
    ORG --> OU2["OU: 開発"]
    OU1 --> A1["本番アカウント1"]
    OU1 --> A2["本番アカウント2"]
    OU2 --> A3["開発アカウント1"]

SCP(サービスコントロールポリシー) は、OUやアカウント単位で「許可できる権限の上限」を定めるポリシーです。ここが最重要ポイントです。

  • SCPはIAMポリシーのように「権限を与える」ものではなく、「この範囲を超えて許可することはできない」という天井(枠)を定める
  • SCPで禁止された操作は、そのアカウント内でどんなにIAMポリシーがAllowしていても実行できない
  • 例:「本番OU配下のアカウントでは、EC2の特定リージョン以外での起動を一律禁止する」
flowchart LR
    SCP["SCP(許可の上限)"] --> IAM["IAMポリシー(実際の権限)"]
    IAM --> EFF["実効権限 = SCPの範囲 ∩ IAMの許可"]

その他、SAAで押さえておくべきガバナンス関連のサービスは次の通りです。

サービス役割
Permission BoundaryIAMユーザー/ロール単位で「委任できる権限の上限」を設定(権限昇格の防止)
IAM Access Analyzer意図せず外部に公開されているリソース(S3バケット、IAMロールなど)を検出

読んでみよう

「SCPはアカウント/OU全体の天井、Permission Boundaryは個々のユーザー/ロールの天井、IAMポリシーは実際に与える権限」という3層構造を覚えておくと、ガバナンス系の問題を素早く解けます。実効権限は常にこれらの**共通部分(AND)**になる、という点も出題されやすいポイントです。