AWS Command Line Interface を使用したアグリゲータのセットアップ - AWS Config

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Command Line Interface を使用したアグリゲータのセットアップ

AWS Command Line Interface (AWS CLI) を使用して、AWS Config アグリゲータデータを作成、表示、更新、削除できます。

AWS CLI は、AWS サービスを管理するための統合ツールです。ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用してそれらを自動化できます。AWS CLI の詳細と AWS CLI ツールのインストール手順については、AWS Command Line Interface ユーザーガイドを参照してください。

必要に応じて、「aws configure」と入力し、AWS CLI が AWS Config アグリゲータを利用できる AWS リージョンを使用するように設定します。

個別のアカウントを使用したアグリゲータの追加

  1. コマンドプロンプトまたはターミナルウィンドウを開きます。

  2. 次のコマンドを入力して、MyAggregator という名前のアグリゲータを作成します。

    aws configservice put-configuration-aggregator --configuration-aggregator-name MyAggregator --account-aggregation-sources "[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]"

    account-aggregation-sources については、次のいずれかを入力します。

    • データを集約する AWS アカウント ID のカンマ区切りリスト。アカウント ID を角括弧で囲み、必ず疑問符をエスケープします (例: "[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]")。

    • カンマ区切りの AWS アカウント ID の JSON ファイルをアップロードすることもできます。次の構文を使用して、ファイルをアップロードします。--account-aggregation-sources MyFilePath/MyFile.json

      JSON ファイルの形式は、次のようになります。

    [ { "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ], "AllAwsRegions": true } ]
  3. Enter キーを選択して、コマンドを実行します。

    次のような出力が表示されます:

    { "ConfigurationAggregator": { "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "MyAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.442 } }

AWS Organizations を使用したアグリゲータの追加

この手順を開始する前に、管理アカウントまたは登録済みの委任された管理者にサインインしていて、すべての機能が組織で有効になっている必要があります。

注記

委任された管理者がアグリゲータを作成する前に、管理アカウントで AWS Config サービスプリンシパル名 (config.amazonaws.com および config-multiaccountsetup.amazonaws.com の両方) に、委任された管理者が登録されていることを確認します。委任された管理者を登録するには、委任された管理者の登録 を参照してください。

  1. コマンドプロンプトまたはターミナルウィンドウを開きます。

  2. AWS Config アグリゲータ用の IAM ロールを作成していない場合は、次のコマンドを入力します。

    aws iam create-role --role-name OrgConfigRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"config.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}" --description "Role for organizational AWS Config aggregator"
    注記

    AWS Config アグリゲータを作成するときに使用する Amazon リソースネーム (ARN) を、この IAM ロールからコピーします。ARN はレスポンスオブジェクト内にあります。

  3. IAM ロールにポリシーをアタッチしていない場合は、 AWSConfigRoleForOrganizations管理ポリシーをアタッチするか、次のコマンドを入力します。

    aws iam create-policy --policy-name OrgConfigPolicy --policy-document "{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["organizations:ListAccounts","organizations:DescribeOrganization","organizations:ListAWSServiceAccessForOrganization","organizations:ListDelegatedAdministrators"],"Resource":"*"}]}
  4. 次のコマンドを入力して、MyAggregator という名前のアグリゲータを作成します。

    aws configservice put-configuration-aggregator --configuration-aggregator-name MyAggregator --organization-aggregation-source "{\"RoleArn\": \"Complete-Arn\",\"AllAwsRegions\": true}"
  5. Enter キーを選択して、コマンドを実行します。

    次のような出力が表示されます:

    { "ConfigurationAggregator": { "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "MyAggregator", "OrganizationAggregationSource": { "AllAwsRegions": true, "RoleArn": "arn:aws:iam::account-of-role-to-assume:role/name-of-role" }, "LastUpdatedTime": 1517942461.442 } }

委任された管理者の登録

委任された管理者は、指定された AWS 組織内のアカウントであり、特定の AWS のサービスに対する追加の管理権限が付与されています。

  1. 管理アカウントの認証情報を使用してログインします。

  2. コマンドプロンプトまたはターミナルウィンドウを開きます。

  3. 組織が、組織全体の AWS Config ルールとコンフォーマンスパックをデプロイおよび管理するために、委任された管理者としてサービスアクセスを有効にするには、次のコマンドを入力します。

    aws organizations enable-aws-service-access --service-principal=config-multiaccountsetup.amazonaws.com
  4. 組織が、組織全体の AWS Config データを集約するために、委任された管理者としてサービスアクセスを有効にするには、次のコマンドを入力します。

    aws organizations enable-aws-service-access --service-principal=config.amazonaws.com
  5. サービスアクセスの有効化が完了したかどうかを確認するには、次のコマンドを入力し、Enter キーを押してコマンドを実行します。

    aws organizations list-aws-service-access-for-organization

    次のような出力が表示されます:

    { "EnabledServicePrincipals": [ { "ServicePrincipal": [ "config.amazonaws.com", "config-multiaccountsetup.amazonaws.com" ], "DateEnabled": 1607020860.881 } ] }
  6. 次に、次のコマンドを入力して、メンバーアカウントを AWS Config の委任された管理者として登録します。

    aws organizations register-delegated-administrator --service-principal=config-multiaccountsetup.amazonaws.com --account-id MemberAccountID

    また、

    aws organizations register-delegated-administrator --service-principal=config.amazonaws.com --account-id MemberAccountID
  7. 委任された管理者の登録が完了したかどうかを確認するには、管理アカウントから次のコマンドを入力し、Enter キーを押してコマンドを実行します。

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

    また、

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

    次のような出力が表示されます:

    { "DelegatedAdministrators": [ { "Id": "MemberAccountID", "Arn": "arn:aws:organizations::MemberAccountID:account/o-c7esubdi38/MemberAccountID", "Email": "name@amazon.com", "Name": "name", "Status": "ACTIVE", "JoinedMethod": "INVITED", "JoinedTimestamp": 1604867734.48, "DelegationEnabledDate": 1607020986.801 } ] }

アグリゲータの表示

  1. 次の コマンドを入力します。

    aws configservice describe-configuration-aggregators
  2. ソースアカウントに応じて、次のような出力が表示されます。

    個別のアカウントの場合

    { "ConfigurationAggregators": [ { "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "MyAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 } ] }

    または

    組織の場合

    { "ConfigurationAggregator": { "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "MyAggregator", "OrganizationAggregationSource": { "AllAwsRegions": true, "RoleArn": "arn:aws:iam::account-of-role-to-assume:role/name-of-role" }, "LastUpdatedTime": 1517942461.442 } }

アグリゲータの編集

  1. 設定アグリゲータを更新または編集するには、put-configuration-aggregator コマンドを使用できます。

    次のコマンドを入力して、新しいアカウント ID を MyAggregator に追加します。

    aws configservice put-configuration-aggregator --configuration-aggregator-name MyAggregator --account-aggregation-sources "[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]"
  2. ソースアカウントに応じて、次のような出力が表示されます。

    個別のアカウントの場合

    { "ConfigurationAggregator": { "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-xz2upuu6", "CreationTime": 1517952090.769, "ConfigurationAggregatorName": "MyAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3", "AccountID4" ] } ], "LastUpdatedTime": 1517952566.445 } }

    または

    組織の場合

    { "ConfigurationAggregator": { "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "MyAggregator", "OrganizationAggregationSource": { "AllAwsRegions": true, "RoleArn": "arn:aws:iam::account-of-role-to-assume:role/name-of-role" }, "LastUpdatedTime": 1517942461.442 } }

アグリゲータを削除します。

AWS CLI を使用して設定アグリゲータを削除するには
  • 次の コマンドを入力します。

    aws configservice delete-configuration-aggregator --configuration-aggregator-name MyAggregator

    成功すると、コマンドは追加の出力なしで実行されます。

詳細はこちら