Amazon Web Services ブログ

委任された管理者からAWS Configルールと適合パックをデプロイする

AWS Configルールの使用により、リソースの構成をベストプラクティスに照らし合せて評価し、決められた構成ポリシーに従っていない場合は修正することができます。 AWS Config適合パックを使用すると、AWS Organizations全体に適用されるAWS Configルールと修復アクションのセットを単一のパックで作成できます。これにより、Configルールの集中管理と展開が可能になります。

今までは、組織全体にまたがる適合パックとConfigルールの展開は、組織のマスターアカウントのみが実施できました。しかし、マスターアカウントを一括請求にのみ使用するお客様も多数おられます。お客様がセキュリティ、監査、コンプライアンスのための専用アカウントを持っている場合、代わりにその専用アカウントを使って組織全体にわたるConfigの展開を管理したいと考えるでしょう。このようなご要望にお応えして、AWS Organizationsの非マスターアカウントからConfigルールと適合パックのデプロイができるようになりました。このAWS Config新機能を使用すると、これらのConfigリソースをAWS Organizations全体に展開し管理できる権限を委任する管理者アカウントを登録できます。

このブログ投稿では、委任された管理者アカウントにて、組織全体に適合パックを展開し、AWS Configルールと適合パックを管理する方法について示します。

ソリューションの概要

このブログ投稿では、適合パックを使用した組織全体へのAWS Configルールの展開を、AWS Organizationsの委任された管理者アカウントから実施する方法について説明します。ウォークスルーでは、CIS運用ベストプラクティスのサンプル適合パックを展開します。この適合パックには、すべてのユーザーに対してMFAが有効になっていること、アクセスキーが90日以内にローテーションされていること、パスワードが指定された要件を満たすこと、複数のリージョンでAWS CloudTrailが有効になっていることなどのルールが含まれます。

ウォークスルー

このブログ投稿では、以下の手順について説明します。

  • 適合パックの前提条件のセットアップ
  • AWS Organizstionsに対して適合パックをデプロイおよび管理するために、委任管理者アカウントを登録する
  • AWS Organizationsに適合パックをデプロイする
  • 環境のクリーンアップ

前提条件

このウォークスルーでは、AWS OrganizationsのすべてのアカウントでAWS Configを有効にし(StackSetsを使用してAWS Organizationsのすべてのアカウントで有効にできます)、Organizationsのすべての機能を有効にします。

適合パックの前提条件のセットアップ

適切に適合パックの前提条件をセットアップします。必ず、Amazon S3バケットに、”組織コンフォーマンスパックの前提条件“で指定されている名前を付けてください。

AWS ConfigサービスがAWS Organizationsへアクセスできるようにする

組織のマスターアカウントから次のコマンドを実行します。

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

委任管理者アカウントを登録する

非マスターアカウントからAWS Organizations全体に対して適合パックを展開・管理するには、AWS Organizationsのメンバーアカウントを委任管理者アカウントとして登録する必要があります。マスターアカウントから次のコマンドを実行し、委任管理者アカウントを登録します。Admin-Account-IDを適切なIDに変更して実行します。

aws organizations register-delegated-administrator --service-principal=config-multiaccountsetup.amazonaws.com --account-id="{Admin-Account-ID}"

マスターアカウントから次のコマンドを実行して、委任管理者アカウントが正常に登録されたことを確認します。

aws organizations list-delegated-administrators --service-principal=config-multiaccountsetup.amazonaws.com

次のような出力が確認できます。

{
    "DelegatedAdministrators": [
        {
            "Id": "{delegated-admin-account-id}",
            "Arn": "arn:aws:organizations::{master-account-id}:account/{org-id}/{delegated-admin-account-id}",
            "Email": "{delegated-admin-email}",
            "Name": "child",
            "Status": "ACTIVE",
            "JoinedMethod": "INVITED",
            "JoinedTimestamp": "2020-03-05T11:23:21.521000-08:00",
            "DelegationEnabledDate": "2020-05-20T12:42:17.683000-07:00"
        }
    ]
}

適合パックをデプロイする

次に、委任管理者アカウントからCIS運用ベストプラクティスのサンプル適合パックをデプロイします。

  1. CIS運用ベストプラクティスのサンプル適合パックをコピーして、ローカルに保存します。
  2. 次のコマンドをコピーし、template-bodyを適合パックの保存場所に変更します。 Amazon S3バケットを、”適合パックの前提条件のセットアップ”セクションで設定したバケットに変更します。これらの変更を行った後、委任管理者アカウントからコマンドを実行します。

aws configservice put-organization-conformance-pack --organization-conformance-pack-name="CISPack" --template-body="file://CISConformancePack.yaml" --delivery-s3-bucket="{awsconfigconforms-your-bucket}"

コマンドのレスポンスには適合パックのARNが含まれています。

{
    "OrganizationConformancePackArn": "arn:aws:config:us-east-1:{delegated-admin-account-id}:organization-conformance-pack/CISPack-ncg61ejt"
}

作成されたルールを見る

AWS Organizationsのすべてのメンバーアカウントで、作成した適合パック及び適合パックで展開されたConfigルールを確認できます。メンバーアカウントにて適合パックを表示するには、AWS Configの画面から「適合パック」に移動します。ここで、委任された管理者アカウントにより展開された適合パックが表示されます。

適合パック名をクリックすると、適合パックとして作成されたすべてのルールを表示できます。

さて、委任管理者アカウントから、組織内のすべてのメンバーアカウントに適合パックを適用し、AWS Configルールを正常に展開することができました。組織に新しいアカウントが追加された際は、AWS Configは新しいメンバーアカウントに自動的に適合パックを展開し、委任された管理者はそのアカウントの適合パックを管理できます。逆に、メンバーアカウントがAWS Organizationsを離れると、AWS Configはそのメンバーアカウントから適合パックを削除します。委任された管理者は作成した適合パックに関してフルコントロール可能ですが、マスターアカウントが委任管理者を登録解除した場合には、委任管理者によって作成された組織の適合パックがすべてのメンバーアカウントから削除されます。

クリーンアップ

このウォークスルーで作成されたすべてのリソースを削除するには、委任管理者アカウントから次のコマンドを実行して、適合パックを削除します。

aws configservice delete-organization-conformance-pack --organization-conformance-pack-name "CISPack"

委任管理者を登録解除するには、マスターアカウントから次のコマンドを実行します。account-idは委任管理者アカウントIDに変更してください。

aws organizations deregister-delegated-administrator --account-id={ACCOUNT_ID_OF_DELEGATED_ADMIN} --service-principal=config-multiaccountsetup.amazonaws.com

まとめ

このブログ投稿では、非マスターアカウントを委任管理者アカウントとして登録し、適合パックを展開する方法を示しました。委任された管理者は、適合パックを更新、変更、削除し、AWS Organizations全体にConfigルールを展開する権限を持っています。 AWS Config適合パックの詳細については、AWSのドキュメントをご覧ください。

著者について

 

Shaked Rotleviは、ワシントンDCに拠点を置く連邦政府のお客様を担当するソリューションアーキテクトです。 Shakedは、AWSのベストプラクティスをお客様にお届けすること、そしてAWSで新しいソリューションを作ることを楽しんでいます。余暇には旅行やサーフィンを楽しんでいます。

原文はこちら。翻訳はSA石橋が担当しました。