[アップデート] 委任したメンバーアカウントで AWS Config アグリゲーターを使った Organizations 組織レベルのデータ収集が可能になりました

Organizations メンバーアカウントから Config アグリゲーターを作成、組織の Configデータを確認できるようになりました
2020.12.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

特定のメンバーアカウントを Organizations 組織の「委任管理者」に 指定することで、 メンバーアカウントから 組織レベルでデータ収集を行う Config アグリゲーターを作成 できるようになりました。

なにが嬉しいのか?

AWS Config を活用した組織全体の「リソースの把握」や「Configルールのコンプライアンスルール状況の把握」をメンバーアカウントで行えるようになります。

「最小限の特権の原則」のセキュリティベストプラクティスに基づいて、メンバーアカウントに委任できます。

ちなみに、Configルール/適合パックの展開・管理はメンバーアカウントに委任できていました。 (詳細は以下参照)

本アップデートでめでたく Configの主要機能すべてを委任したメンバーアカウントで行える ようになりました。

もう少し詳しく

AWS Config アグリゲーターを使って 複数アカウント・複数リージョンのAWS Config データを 1画面に集約することができます。

img

– 画像: Multi-Account Multi-Region Data Aggregation | AWS

この アグリゲーターは Organizations連携しています。 Organizations マネジメントアカウントで ソースアカウントを「組織」としたアグリゲータ を作成することで、簡単に組織内全アカウントの Configデータを集約できます。

img

今回のアップデートで、この「組織アグリゲータ」を委任したメンバーアカウントで作れるようになりました。

img

実際にやってみる

以下ステップで Configアグリゲータを作ってみます。

  1. 前提
  2. Organizationsの「信頼されたアクセス」を編集する
  3. 委任管理者の設定
  4. アグリゲータの作成

前提

  • Config記録は全リージョン・全アカウントで有効になっていること
  • 私が実施したときの AWS CLIバージョンは 2.1.6

Organizationsの「信頼されたアクセス」を編集する

"マネジメントアカウント環境" での作業です。 AWS Config のアクセス有効化としていない場合は、有効化しましょう。

AWS CLIで実施する場合は以下コマンド実施します。

aws organizations enable-aws-service-access --service-principal config.amazonaws.com
aws organizations enable-aws-service-access --service-principal config-multiaccountsetup.amazonaws.com

(補足) "config.amazonaws.com" 部分 は AWS Config、 "config-multiaccountsetup.amazonaws.com" 部分 は AWS Config rules のための設定です。

▼ 確認コマンド

$ aws organizations list-aws-service-access-for-organization --output text | grep config
ENABLEDSERVICEPRINCIPALS	2020-06-04T11:53:02.081000+09:00	config-multiaccountsetup.amazonaws.com
ENABLEDSERVICEPRINCIPALS	2020-04-13T11:12:48.212000+09:00	config.amazonaws.com

委任管理者の設定

"マネジメントアカウント環境" での作業です。 以下のようなコマンドを実行します。

aws organizations register-delegated-administrator --account-id ${委任管理者アカウントID} --service-principal config.amazonaws.com
aws organizations register-delegated-administrator --account-id ${委任管理者アカウントID} --service-principal config-multiaccountsetup.amazonaws.com

${委任管理者アカウントID} 部分に委任管理者とするメンバーアカウントのアカウントIDを入力してください。

▼ 確認コマンド

$ aws organizations list-delegated-services-for-account --account-id ${委任管理者アカウントID} --output text | grep config
DELEGATEDSERVICES	2020-06-04T12:03:29.249000+09:00	config-multiaccountsetup.amazonaws.com
DELEGATEDSERVICES	2020-12-02T17:32:03.368000+09:00	config.amazonaws.com

アグリゲータの作成

委任されたメンバーアカウント環境 での作業です。

AWS Config > アグリゲータ > アグリゲータの追加 からアグリゲータ作成画面へ行きます。

▼ 「データレプリケーションの許可」にチェック、アグリゲータ名を入力します。

img

▼ ソースアカウントの選択では「組織を追加する」にチェックを入れます。IAMロールは新規作成で進めました

img

img

▼ 対象リージョンは全リージョン、および将来のAWSリージョンとします

img

以上、「保存」を選択すればアグリゲータが作成されます。

確認

アグリゲーター作成後、しばらくデータ収集・表示まで時間がかかります。待ちましょう。

しばらく待つと、以下のような集約ビューを確認できました。

img

委任されたメンバーアカウントから、 組織内の リソース構成情報や Configルールのコンプライアンス状況を把握することができます。

おわりに

Config アグリゲータを 委任されたメンバーアカウント上で作成してみました。

AWS Configは、 今まで Configルール/適合パックの展開・管理だけ委任管理者設定ができていましたが、 今回晴れてアグリゲータ作成もできるようになりました。

マルチアカウントのリソース把握・セキュリティ統制に活用したいところです。

少しでもどなたかのお役に立てば幸いです。

参考