AWS Organizationsを0から始める -概要編-
1. 学習したいこと
- Organizationsは何の役立つサービスなのか
- AWSの他サービスとの連携機能
2. 対象者
このドキュメントは下記に当てはまる方を対象としています。
- AWS Organizationsは何かを知りたい
- AWSアカウントをまとめて管理したい
- 複数のアカウントにSSOログインする方法を知りたい
3. AWS Organizationsとは
下記の機能を提供するサービスです。
- 複数のAWSアカウント(請求単位)の管理
- Consolidated Billing(一括請求)
- 複数のAWSアカウントに分割された組織の権限管理
- Service Control Policy(SCP)
- シングルサインオン機能の提供
- IAM Identity Center
- 他AWSサービスやとの統合
- 管理アカウントからメンバーアカウントの管理を集約
- Cloud Formation, Control Tower, Guard Dutyなど
- 管理アカウントからメンバーアカウントの管理を集約
構成例
このような階層構造の組織を作成することができます。
単位は大きいものから、Organizations(組織) > OU(Organization Unit) > アカウント > リソースおよびIDとなります。
OUとは
ルート内のアカウントを格納するコンテナで、OU内にネストした組織を作成することができます。
階層内のノードのいずれかにポリシーをアタッチすると、その配下にあるすべてのOU、アカウントに適用ができます。
OUは1つだけの親を持つことができます。
アカウントとは
OrganizationsのアカウントとはAWSリソースとそれらにアクセスできるIDを含むAWSアカウントを指します。
管理アカウントとは
メンバーアカウントを招待したり、組織内に新しいメンバーを追加する権限を持つアカウントです。
すべてのメンバーアカウントに対してSCPの設定や統合管理が可能であるため、基本的には管理目的以外では使いません。
このアカウントには最小限のメンバーのみがアクセスできるようにしたり、MFAを強制するなどセキュリティを強化することが求められます。
メンバーアカウントとは
管理アカウント以外はすべてがメンバーアカウントです。
メンバーアカウントが所属できる組織は1つのみですが、所属組織から抜けることで再度他の組織に参加することができます。
4. AWS Organizationsの機能
一括請求
- 1つのアカウントに複数のAWSアカウントに対する請求を統合し一括支払いを可能にするサービスです。
- 組織内アカウントへの請求はすべて管理アカウントで支払いをします。
- 使用量に対して料金が傾斜配分されるタイプのリソースを複数持つ場合、すべてのアカウントの使用量をまとめることによって、より割引が適用されやすくなります。
- リザーブドインスタンスやSavings Plansを組織内で共有することができます。
- Organizationsのほかの機能を有効化せず一括請求機能だけを使用することも可能です。
組織のポリシー
Organization のポリシーとは組織全体に適用する一元管理の方針で、次の2つポリシーに大別されます。
管理ポリシー
- バックアップポリシー
組織のバックアッププランを管理します。 - タグポリシー
組織のAWSリソースにアタッチされたタグを標準化します。
承認ポリシー(SCP)
SCPとはService Control Policyの略です。
メンバーアカウントはそれぞれ固有のポリシーを定めることができますが、そのポリシーに対して許可を与えるのがSCPです。
- Organizationsに参加しているアカウントに対して適用可能なポリシーを制限することができます。
- すべてのSCPは管理アカウントで作成/アタッチすることができ、OU単位、メンバー単位で適用することができます。
- 管理アカウントはSCPの作成/変更/削除権限についてメンバーアカウントに委任できます。
- メンバーアカウントは管理アカウントに対してSCPを適用することはできません。
- 有効範囲はIAM RoleとIAM Userのみです。
- 1つのアカウントに対して適用可能なポリシーは5つまでです。
シングルサインオン
OrganizationsはIAM Identity Centerと連携することでメンバーアカウントへのシングルサインオン機能を提供することが可能になります。
詳しい方法は次回投稿の記事にまとめる予定です。
他AWSサービスとの統合
統合とは
AWS Organizations配下のメンバーアカウントで利用するCloudTrailやSecurityHubのような管理タスクを、管理アカウントが代理で実行して集約管理をすることです。
統合が可能な主なサービスは下記のとおりです。
- AWS Backup
- CloudFormation
- CloudTrail
- Compute Optimizer
- Config
- Control Tower
- Amazon Directory Service
- Inspector
- Macie
- Market Place
- Service Quotas
- Systems Manager
- Tag Policies
- Trusted Advisor
- VPC IP Address Manager
すべてのサービスを確認したい方はこちら(AWS公式ドキュメント)をご参照ください。
これらのサービスはOrganization組織を作成した時点では統合が有効化されていないため、管理アカウントから有効化する必要があります。
使用例
- AWS Backup
- 組織内のバックアップ計画を一元的に実施し、保護とモニタリングを管理します。
- 例 ) 組織内のS3に対して、1年間使用していないリソースをアーカイブするライフサイクルルールを適用
- 組織内のバックアップ計画を一元的に実施し、保護とモニタリングを管理します。
- CloudFormation
- 管理アカウントからメンバーアカウントに対してリソースのデプロイが可能になります。
- 例 ) アカウント管理者共通のIAMロールをデプロイ
- 管理アカウントからメンバーアカウントに対してリソースのデプロイが可能になります。
- CloudTrail
- 組織の証跡を作成して、メンバーアカウントに変更/削除ができないように制限します。
- 例 ) 管理アカウントに証跡ログを集約して、メンバーアカウントの不正なアクティビティを監視
- 組織の証跡を作成して、メンバーアカウントに変更/削除ができないように制限します。
- Control Tower
- ベストプラクティスに従ってマルチアカウント環境をセットアップします。
- 例 ) 必要なクロスアカウントアクセスを許可を作成し、不要なアクセスを制限する
- ベストプラクティスに従ってマルチアカウント環境をセットアップします。
SandBoxアカウントの必要性について
Organizationsの管理アカウントはメンバーに対して様々な管理、統合、制限を行使可能になりますが、誤った設定をしてしまうと現行アカウントで運用されているリソースに影響を与えるリスクも発生します。
Organaizationsを適用する前に、メンバーアカウントに実施する管理、統合、制限に対して十分に検証が必要です。
AWSのベストプラクティスでは、SandBoxアカウントを発行し検証可能な環境を作成することを推奨しています。
5. まとめ
AWS Organizationsはマルチアカウント管理の煩雑さを軽減し、組織の一元管理を実現する機能です。
機能としてはConsolidate Billing(一括請求)、Service Control Policy(SCP)、シングルサインオン、組織のサービス統合などがあります。
便利な半面管理アカウントに強い権限が集中するため、より高いセキュリティ基準や統制が求められることになり、組織メンバーの追加の際には慎重に検証することが推奨されます。
AWS Organizationsを有効化した後はSandBoxで機能検証していくことがアカウント開発の第一歩です。
AWS Organizationsを有効活用して、自組織のイノベーションを実現しましょう!
Discussion