組織の config rules を作成または削除できないのはなぜですか?

最終更新日: 2021 年 5 月 28 日

AWS Organizations の AWS config rules を作成または削除しようとすると、CREATE_FAILED または DELETE_FAILED エラーが表示されます。組織の config rules に関する問題のトラブルシューティング方法を教えてください。

解決方法

さまざまな問題により、アクセス許可、非アクティブ状態のメンバーアカウント、または構成レコーダーが見つからないなど、組織の config rules が機能しなくなる可能性があります。

: AWS コマンドラインインターフェイス (AWS CLI) のコマンド実行時にエラーが発生した場合は、最新バージョンの AWS CLI を使用していることを確認してください

組織の config rules のエラーを解決するには、まず次のコマンドを実行して、メンバーアカウントルールの失敗と成功ステータスの詳細を取得します。Your-rule-name を組織の config rules 名に置き換えます。コマンドは、ルールが失敗した特定のメンバーアカウントを識別します。

aws configservice get-organization-config-rule-detailed-status --organization-config-rule-name your-rule-name

出力の ErrorCodeErrorMessage を確認し、次のトラブルシューティング手順を実行します。

  • 次の AWS CLI コマンドを実行するか、 組織のコンソールを使用して 、すべてのメンバーアカウントのステータスが Active であることを確認します。
aws organizations list-accounts --query 'Accounts[*].[Id, Status]' --output table
  • 各メンバーアカウントに AWS Config が設定されていることを確認します。コンソールAWS CLI、または AWS CloudFormation のいずれかを使用して、特定のメンバーアカウントに対して AWS Config を手動で設定できます。すべてのメンバーアカウントに対して AWS Config が設定されたら、再度ルールをデプロイします
  • CloudTrail コンソールを開き、ナビゲーションペインで [Event history] ( イベント履歴 ) を選択します。ログをフィルタリングするには、ドロップダウンから [ イベント名 ] を選択し、検索フィールドに PutOrganizationConfigRule または DeleteOrganizationConfigRule と入力します。OrganizationAccessDeniedException エラーについて、フィルタされたログ結果を確認します。
  • 組織のプライマリアカウントまたは委任された管理者メンバアカウントから PutOrganizationConfigRule API または DeleteOrganizationConfigRule API を呼び出していることを確認します。プライマリアカウントから次のコマンドを実行して、委任された管理者メンバーアカウントを識別します。
aws organizations list-delegated-administrators --service-principal=config-multiaccountsetup.amazonaws.com
  • OrganizationAccessDeniedException エラーが表示された場合は、必要なアクセス許可があることを確認してください。AWS Config の AWS Identity and Access Management (IAM) ロールには、組織の config rules を作成および削除するための、PutConfigRulePutOrganizationConfigRule、および DeleteOrganizationConfigRule へのアクセス許可が含まれている必要があります。
  • ResourceInUseException エラーが表示された場合は、エラーメッセージを確認して、原因を特定します。エラーメッセージに、是正アクションがルールに関連付けられていることが示されている場合は、是正アクションを解決します。エラーメッセージでルールのステータスが CREATE_SUCCESSFUL でないことが示されている場合は、AWS Config メンバーアカウントの IAM ロールに DeleteConfigRule アクセス許可が含まれていることを確認します。

カスタム組織の config rule の作成

カスタム組織の config rule を作成するには、AWS Config IAM ロールに Lambda 関数を呼びだすアクセス許可を含める必要があります。必要なアクセス許可がない場合は、次の add-permission コマンドを実行します。

: function-name を Lambda 関数名、リージョンを AWS リージョン、source-account をプライマリメンバーアカウント ID に置き換えます。

aws lambda add-permission --function-name --region --action "lambda:InvokeFunction" --principal config.amazonaws.com --source-account --statement-id Allow