3月よりIE課(インターナルエデュケーション課) に異動しました山﨑です。
今回はAWS Organizations でよく利用される「統合」と「委任」について整理してみます
AWS Organizations のおさらい
AWS Organizations とは要約すると、ユーザーが管理する「組織」と呼ばれる管理単位に1つ以上のAWSアカウントを統合することで、複数のAWSアカウントを効率的に一元管理することができるアカウント管理サービスです。一元管理をする上で、組織の長となるAWSアカウントを「Management Account」と呼び、その他のAWSアカウントを「Member Account」と呼びます。
詳細については以下のブログをご覧ください
AWS Organizations の統合と委任
概要
AWS Organizations における統合と委任について簡単にまとめると以下の表の通りです。
機能 | 概要 |
---|---|
統合 | AWS Organizations 配下のAWSアカウントで利用するAWSサービスのタスクをManagement Account で代理実行し、集約管理することができます。 (例)Security Hub の検出結果をManagement Account に集約する |
委任 | 通常AWS Organizations の統合によって集約されるAWSサービスの管理者はRoot OU配下のManagement Account となりますが、管理者を他のAWSアカウントに鞍替えする(権限委譲)ことができます (例)Security Hub の統合における管理者権限をセキュリティ専用のAWSアカウントへ委譲する |
サポートしているAWSサービス
以下、2023年5月現在で統合と委任をサポートしているAWSサービス一覧です。サポートされるAWSサービスは順次追加されています。
AWSサービスによっては統合と委任にあたっての留意事項がありますので、AWS公式ドキュメントで最新情報をご確認頂いた上で利用をご検討ください。
サービス | 統合 | 委任 |
---|---|---|
AWS Account Management | ◯ | ◯ |
AWS Artifact | ◯ | ✗ |
AWS Audit Manager | ◯ | ◯ |
AWS Backup | ◯ | ◯ |
AWS CloudFormation Stacksets | ◯ | ◯ |
AWS CloudTrail | ◯ | ◯ |
AWS Compute Optimizer | ◯ | ◯ |
AWS Config | ◯ | ◯ |
AWS Control Tower | ◯ | ✗ |
Amazon Detective | ◯ | ◯ |
Amazon DevOps Guru | ◯ | ◯ |
AWS Directory Service | ◯ | ✗ |
AWS Firewall Manager | ◯ | ◯ |
Amazon GuardDuty | ◯ | ◯ |
AWS Health | ◯ | ◯ |
IAM Access Analyzer | ◯ | ◯ |
Amazon Inspector | ◯ | ◯ |
AWS License Manager | ◯ | ◯ |
Amazon Macie | ◯ | ◯ |
AWS Marketplace | ◯ | ✗ |
AWS Network Manager | ◯ | ◯ |
AWS Resource Access Manager | ◯ | ✗ |
AWS Security Hub | ◯ | ◯ |
Amazon S3 Storage Lens | ◯ | ◯ |
AWS Service Catalog | ◯ | ◯ |
Service Quotas | ◯ | ✗ |
AWS IAM Identity Center | ◯ | ◯ |
AWS Systems Manager | ◯ | ◯ |
Tag policies | ◯ | ✗ |
AWS Trusted Advisor | ◯ | ◯ |
AWS Well-Architected Tool | ◯ | ✗ |
Amazon VPC IP Address Manager (IPAM) | ◯ | ◯ |
Reachability Analyzer | ◯ | ◯ |
統合
言葉だけの説明だとイメージが湧きにくいと思いますので、Security Hub を例に統合と委任のイメージをもう少し詳しく考えてみます。
統合の利用イメージ
AWS Organizations 配下の各AWSアカウントでSecurity Hubを利用する場合、通常はそれぞれのAWSアカウントでSecurity Hubを有効化し、検出結果を確認の上で必要な対応を行います。しかし、AWS Organizations 組織の管理者としては以下のような管理をしたいと考えています。
- Security Hub が漏れなく有効化できているかを確認、管理したい
- Security Hub の検出結果をまとめて集約管理し、必要に応じて各AWSアカウントの管理者と連携したい
この場合、通常は以下の対応を取ることになります。
- Security Hub が漏れなく有効化できているかを確認するために各AWSアカウントにログインして確認する
- Security Hub の検出結果を確認するために各AWSアカウントにログインして確認の上で、各AWSアカウントの管理者と連携したい
管理者の立場からすると、各AWSアカウントに個別にログインするのはとても面倒です。そこで便利な機能がAWS Organizations の「統合」です。
統合を利用すると、対応方法が以下のように変化します。
- Security Hub が漏れなく有効化できているかどうかをManagement Account で確認する
- Security Hub の場合、自動有効化機能も利用できるため新規AWSアカウントが発行されたとしても自動で有効化することが可能
- Security Hub の検出結果はManagement Account で確認する
- 各AWSアカウントで検出されたSecurity Hub の検出結果はManagement Account に連携される
このように統合を利用することで、AWS Organizations 組織の管理者はManagement Account にログインするだけで各AWSアカウントの状況を一元管理することができます。
統合を有効化する
AWS Organizations で統合を有効化することができるのはManagement Account だけです。
有効化する手順としては、AWS Organizations のコンソール画面を開き、左メニューバーの「サービス」をクリックします。すると統合可能なAWSサービスの一覧が表示されますので、Security Hubをクリックして「信頼されたアクセスを有効にする」をクリックすればOKです。
AWS CLI を利用する場合は以下のコマンドで有効化することができます。
aws organizations enable-aws-service-access --service-principal securityhub.amazonaws.com
委任
委任の利用イメージ
統合を利用することによって、AWS Organizations 組織の管理者はManagement Account 上でサポートされているAWSサービスについて一元管理することができるようになります。しかし、統合がサポートされているAWSサービスは多岐に渡るため管理者が1名で全てを管理することは現実的ではありません。そこで登場するのが「委任」です。委任を利用すれば、管理者を他のAWSアカウントに鞍替えする(権限委譲)ことができるため、管理者自身の負荷が軽減されます。
ここで会社組織を例に挙げて考えてみます。会社組織における長は「社長/代表取締役」です。創業当初は事業は1つしかないため、社長1人で事業を管理することができます。しかし、会社が順調に成長して手掛ける事業も増えてくると社長1人では管理しきれなくなります。そうなると「組織化による分業」という考えが出てきます。例えば、組織を「部」という単位で分割し、長として「部長」を配置するといったことが行われます。つまり、社長(管理者)が持っていた権限が部(部長)へ委譲されて分業が進んでいきます。
これをAWS Organizations 組織と照らし合わせてみると以下の表のようになります。これはあくまで私の主観ではありますが、AWS Organizations について考える際は「会社組織」に置き換えて考えてみるとイメージしやすいです。
会社組織 | AWS Organizations 組織 |
---|---|
社長1人で事業を管理 | AWSアカウント1つでシステムを管理 |
会社が成長して事業が増加 | AWSアカウントの数が増加 |
組織化による分業 | AWS Organizations を利用し、AWSアカウントをOU単位でユニット管理 |
社長が持っていた権限や責任を事業部(部長)へ委譲 | Management Account が持っていた管理者権限をMember Account へ委任することで権限を委譲 |
委任を有効化する
AWS Organizations で委任を有効化することができるのはManagement Account だけです。
委任を有効化する際は以下の2つの方法があります
- 委任したいAWSサービスのコンソール画面から委任を行う
- AWS CLI を利用して委任を行う
AWSサービスによってはコンソール画面から委任を実施できないケースもあるため、AWS CLI で実行するのが確実です。
ちなみに今回例として挙げているSecurity Hub の場合はコンソール画面から委任することも可能です
AWS CLI を利用する場合は以下のコマンドで有効化することができます。
aws organizations register-delegated-administrator --account-id <アカウントID> --service-principal securityhub.amazonaws.com
まとめ
今回はAWS Organizations でよく利用される「統合」と「委任」について整理してみました。普段何気なく利用していても、いざ言語化するとなると難しいと改めて実感しました。これからも精進します。
山﨑 翔平 (Shohei Yamasaki) 記事一覧はコチラ
2019/12〜2023/2までクラウドインテグレーション部でお客様のAWS導入支援を行っていました。現在はIE(インターナルエデュケーション)課にて採用周りのお手伝いや新卒/中途オンボーディングの業務をしています。2023 Japan AWS Top Engineers/2023 Japan AWS Ambassadors