メインコンテンツまでスキップ

AWS Organizationsで複数アカウントを一元管理する - OUとSCPによるアクセス制御

· 約5分
Shinya Kato
DayoneLabs管理人、ソフトウェア開発者、OSS開発者

AWS Organizationsで複数アカウントを一元管理する - OUとSCPによるアクセス制御

どうも、Shinyaです。この記事では、複数のAWSアカウントを一元管理するためのサービスであるAWS Organizationsについて解説します。OU(組織単位)によるアカウントのグループ化、SCP(サービスコントロールポリシー)によるアクセス制御、請求の一元管理について整理します。

この記事はこんな人にオススメ
  • 複数のAWSアカウントを効率的に管理したい人
  • AWS Organizationsの基本的な仕組みを理解したい人
  • OUとSCPによるアクセス制御を学びたい人
  • AWSアカウントの請求を一元化したい人

AWS Organizationsとは

AWS Organizationsは、複数のAWSアカウントを一元管理するためのサービスです。ルートとなる単一の管理アカウント(メインアカウント)に、複数のメンバーアカウントを紐づける形式で組織を構成します。

OU(組織単位)

OU(Organizational Unit)は、メンバーアカウントをグループ化するための単位です。企業であれば部門ごと、プロジェクトであれば環境ごと(開発・ステージング・本番)にOUを作成し、その下にメンバーアカウントを配置できます。

OUの主な特徴は以下の通りです。

  • OUは階層構造を持ち、OU内にさらにOUをネストすることが可能
  • メンバーアカウントは1つのOUにのみ所属できる
  • OUに所属せず、直接管理アカウントにメンバーアカウントを紐づけることも可能

SCP(サービスコントロールポリシー)

SCP(Service Control Policy)は、AWS Organizations内でのリソースへのアクセス制御を行うためのポリシーです。OU単位またはメンバーアカウント単位で適用でき、対象のアカウントで利用可能なAWSサービスやアクションを制限します。

SCPの主なポイントは以下の通りです。

  • SCPはOU単位での設定が可能で、OUに属するすべてのメンバーアカウントに適用される
  • メンバーアカウント単位での個別設定も可能
  • SCPで制限されたアクションは、メンバーアカウント内のIAMポリシーで許可されていても実行できない
  • 管理アカウント自体にはSCPは適用されない
SCPとIAMポリシーの関係

SCPはIAMポリシーの上位に位置する制限です。SCPで拒否されたアクションは、IAMポリシーで許可されていても実行できません。SCPは「利用可能なサービスの上限」を定義し、IAMポリシーは「その範囲内での具体的な権限」を定義します。

メンバーアカウントとIAMの関係

AWS Organizationsにおけるメンバーアカウントは、IAMユーザーとは異なる概念です。メンバーアカウントはそれぞれ固有のAWSアカウント(アカウントIDを持つ独立したアカウント)であり、各メンバーアカウント内で独自のIAMユーザー、グループ、ロールを管理できます。

管理アカウントや権限のあるアカウントから、IAMの権限グループやロールを各メンバーアカウントに付与することも可能です。SCPとIAMを組み合わせることで、きめ細かい権限管理が実現できます。

請求の一元管理

AWS Organizationsでは、個々のメンバーアカウントで発生した利用料金がルートの管理アカウントの請求に一元化されます。これにより、組織全体のAWS利用コストを単一の請求書で把握できます。

一括請求のメリット
  • 組織全体のコストを一元的に可視化できる
  • ボリュームディスカウントなどの割引が組織全体の利用量に基づいて適用される
  • 個々のメンバーアカウントごとの利用料金の内訳も確認可能

まとめ

この記事では、AWS Organizationsの基本的な仕組みについて解説しました。AWS Organizationsは、管理アカウントを中心に複数のメンバーアカウントをOU(組織単位)でグループ化し、SCP(サービスコントロールポリシー)でアクセス制御を行い、請求を一元管理するサービスです。IAMポリシーとSCPを組み合わせることで、組織のガバナンスルールに準拠したアカウント管理が可能になります。


参考リンク:

免責事項:
当記事は管理人の開発時に書き留められたメモをもとにAIを活用して編纂されたものです。 管理人は記事の公開前に内容の校正・校閲を行い、記事の信頼性と正確性の向上に務めますが、それらを保証するものではありません。 また、当記事の編集時の誤字やコード例の不具合等によって読者が何らかの損害等を被った場合でも、管理人は一切の責任を負いません。 当記事に掲載したコンテンツの利用については自己責任でお願い致します。