記事公開日
最終更新日
AWS Control Towerで始めるAWSマルチアカウント管理

皆様こんにちは。システムソリューション営業本部の中島です。
今回の記事では、AWSマルチアカウント管理についてご説明したいと思います。
既にプロジェクト及び環境(本番、開発、ステージング等)毎にアカウント作成し、多くのAWSアカウントを運用されている企業様も多いかと思います。
複数のアカウントを利用する事は環境や権限の分離等、多くのメリットがあります。
但しそういった場合、全てのアカウントで以下の項目に対する設定・管理を行う必要があるため、アカウントの数だけ運用負荷が大きくなります。
1.アカウント管理
2.アカウントのアクセス権限管理
3.AWS利用料金管理
4.ログ収集・管理
5.脆弱な設定の検知・予防
AWS Control Towerの各種機能は上記を自動設定・統合管理することによりアカウント初期設定及び運用工数の削減・セキュリティ統制強化に役立ちます。
ではそれぞれの項目においてAWSのサービスがどの様に役立つかをご説明いたします。
1.アカウント管理
アカウント管理で必要な業務は作成・削除・グループ化(組織単位設定)等が挙げられます。
これらを実現するため、AWS Control Tower、AWS Organizationsを使用します。
アカウント作成はAWS Control TowerのCreate Factoryを用いて実施します。
Create Factoryを用いる事により、アカウント作成と同時にAWS Control Towerの管理登録、管理に必要なIAMロール作成、AWS IAM Identity Center初期ユーザー登録、デフォルトVPC削除・初期VPC作成が同時に実行されます。
既に作成済みのアカウントに関しては、これらを別途実施する必要があります。
https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/provision-as-end-user.html
Create Factoryによるアカウント作成には、AWS Control Tower Account Factory for Terraform (AFT)と呼ばれる自動化の方法があります。
https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/taf-account-provisioning.html
アカウント削除はAWS Control Towerの管理解除とアカウント削除を個別に実施します。
AWS Control Towerのアカウント管理解除
https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/unmanage-account.html
アカウント削除の方法は以下の2通りあります。
AWS Organizationsからアカウント削除を行う方法
https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_accounts_close.html
削除対象のアカウントのルートユーザーを用いた削除方法
https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/close-account.html#closing-the-account
グループ化(組織単位設定)
AWS Organizationsには組織単位 (OU)と呼ばれる、アカウントをまとめグループ化する機能があります。
例として開発環境、本番環境、管理アカウント単位でOUを分ける事が可能です。
また、OU単位でポリシーの設定を行い、各アカウントの操作制御、タグ及びバックアップ標準化等が可能です。
https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_ous.html
AWS OrganizationsのOUを使用する事により、以下の様なツリー構成を作成できます。
2.アカウントのアクセス権限管理
アカウントのアクセス権限管理はAWS IAM Identity Centerで実現します。
各アカウントへのアクセスは、他にIAMユーザーをアカウントで作成を行う方法等があります。
但し、アクセス統制の観点ではIAMユーザーの使用は極力行わず、AWS IAM Identity Centerを利用した方が良いでしょう。
アカウント作成時にAWS IAM Identity Centerの初期ユーザーは作成されますがSREやDeveloper、管理等の各々の役割に応じたユーザーの追加が可能です。
また、AWS IAM Identity Centerでユーザー及びグループを作成・管理せずMicrosoft Active Directory、Okta Universal Directory、Azure Active Directory (Azure AD)等の外部アイデンティティソースと同期させる運用が可能です。
3.AWS利用料金管理
AWS利用料金管理はAWS OrganizationsのManagementアカウントによる、AWS Cost Explorer 及び使用状況レポート (AWS CUR) で実現します。
Management AccountのAWS Cost Explorer 及びAWS CURにはAWS Organizationsの全てのLinkedアカウントのAWS利用料金情報が含まれるため、AWS利用料金情報の一元管理に役立ちます。
また、コスト配分タグを活用する事によりAWS Cost Explorer 及びAWS CURの料金情報にタグが付与されるため、より詳細なコスト管理が可能です。
AWS Organizationsの一括請求機能により、全てのLinkedアカウントの請求と支払いを統合することができます。
さらにリザーブドインスタンスやSavings Plans等の節約オプションを購入した場合、AWS OrganizationsのLinkedアカウントで共有(又は共有除外)設定が可能です。
AWS Cost Explorer
https://aws.amazon.com/jp/aws-cost-management/aws-cost-explorer/
使用状況レポート (AWS CUR)
https://docs.aws.amazon.com/ja_jp/cur/latest/userguide/what-is-cur.html
AWS コスト配分タグ
https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html
AWS Organizations の一括請求 (コンソリデーティッドビリング)
https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/consolidated-billing.html
4.ログ収集・管理
ログ収集・管理はAWS Control Towerにより実装されています。
S3へ保存された各アカウントのCloudTrail や AWS Configのログを、S3の共有設定によりAWS Control Tower初期設定時に作成されたログアカウントへ転送します。
AWS Control Tower でのログ記録とモニタリング
https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/logging-and-monitoring.html
5.脆弱な設定の検知・予防
脆弱な設定の検知はAWS Security Hub、AWS GuardDuty、IAM Access Analyzer、Amazon Inspector、AWS ConfigRulesにより実現されます。
AWS Security Hub、AWS GuardDuty、IAM Access Analyzer、Amazon InspectorはAWS OrganizationsのLinkedアカウントに対して自動有効化設定が可能です。
Linkedアカウントで発生したイベントは指定アカウントへ集約されます。(デフォルトではManagementアカウント)
AWS Control Towerにはガードレールというガバナンス及びセキュリティ強化のためのルールが存在します。
これらを有効にすることにより、AWS ConfigRulesやOrganizations SCPがLinkedアカウントに対して設定されます。※必須のガードレールとして自動的に設定されるものもあります。
検出ガードレールを有効化する事によりLinkedアカウントにAWS ConfigRulesが設定されます。
強く推奨されるガードレールはセキュリティに大きく関わる項目のため、出来る限り設定した方が良いでしょう。
AWS Control Towerの予防ガードレールを有効化する事によりOrganizations SCPが設定されます。
ガバナンスの仕組みの保護やルートユーザー設定に関係するガードレールが存在します。
また、指定リージョン以外の操作を制限するガードレールも存在します。
やはり、強く推奨されるガードレールは出来る限り設定した方が良いでしょう。
AWS Control Towerガードレールリファレンス
https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/guardrails-reference.html
以上がAWSマルチアカウント管理の基本的な設定内容です。
その他、必要な統制・セキュリティ強化策について
これらの他にも以下の様に必要な設定はまだありますのでいずれ掲載していきたいと思います。
・AWS Transit GatewayやDirectConnectGatewayを用いた共通ネットワーク設定
・共通監視の通知設定
・サービス制限、アクセス元IP制限、外部組織アクセス制限等の個別予防設定
・AWS Config Rules Proactive Complianceを用いたコンプライアンス違反の予測検知
AWS Control Towerの導入が難しい状態で統制・セキュリティを強化したい場合等もお気軽に弊社にご相談ください。
また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>
<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>
※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。