AWS Config ルールでのリソースの評価
カスタムルールを作成するか、マネージドルールを使用すると、AWS Config ではこれらのルールを適用してリソースを評価します。ルールを適用してリソースのオンデマンド評価を行うことができます。オンデマンド評価は、カスタムルールを作成して AWS Config がリソースを正常に評価していることを確認したり、AWS Lambda 関数の評価ロジックに問題があるかどうかを確認したりする場合に便利です。
例
-
IAM ユーザーがアクティブなアクセスキーを持っているかどうかを評価するカスタムルールを作成します。
-
AWS Config は、このカスタムルールを適用してリソースを評価します。
-
アクティブなアクセスキーがない IAM ユーザーがアカウント内に存在します。ルールでは、このリソースに NON_COMPLIANT のフラグが正しく付けられません。
-
ルールを修正して評価をやり直します。
-
ルールを修正したので、リソースが正常に評価され、IAM ユーザーリソースに NON_COMPLIANT のフラグが付けられます。
アカウントにルールを追加すると、リソースの作成および管理プロセスで、AWS Config にリソースを評価させるタイミングを指定できます。リソースの作成と管理のプロセスは、リソースプロビジョニングと呼ばれます。評価モードを選択して、このプロセスのどの時点で、AWS Config によってリソースを評価するかを指定します。
ルールに応じて、AWS Config は、リソースのデプロイ前、デプロイ後、またはその両方でリソース設定を評価できます。デプロイ前にリソースを評価するのは、プロアクティブ評価です。デプロイ後にリソースを評価するのは、検出評価です。
プロアクティブ評価は、デプロイ前にリソースを評価するために使用します。これにより、AWS リソースを定義するために使用した一連のリソースプロパティが、リージョンのアカウントにあるプロアクティブなルールセットに照らして、COMPLIANT または NON_COMPLIANT であるかを評価できます。
リソースタイプスキーマは、リソースのプロパティを記述します。リソースタイプスキーマは、AWS CloudFormation レジストリ内の「AWS public extensions」または次の CLI コマンドで確認できます。
aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type
RESOURCE
詳細については、AWS CloudFormation ユーザーガイドの「AWS CloudFormation レジストリを使用した拡張機能の管理」と「AWS リソースおよびプロパティタイプのリファレンス」を参照してください。
注記
プロアクティブルールは、NON_COMPLIANT のフラグが付けられたリソースを修正したり、これらのリソースのデプロイを妨げたりしません。
リソースの評価
プロアクティブな評価を有効にするには
AWS Management Console にサインインして、AWS Config コンソール (https://console.aws.amazon.com/config/
) を開きます。 -
AWS Management Console メニューで、リージョンセレクターが AWS Config ルールをサポートするリージョンに設定されていることを確認します。サポートされている AWS リージョンのリストについては、Amazon Web Services 全般のリファレンス の「AWS Config のリージョンとエンドポイント」を参照してください。
-
左のナビゲーションで、ルール を選択します。プロアクティブ評価をサポートするマネージドルールのリストについては、「評価モード別の AWS Config マネージドルールのリスト」を参照してください。
-
ルールを選択し、更新するルールの [Edit rule] (ルールの編集) をクリックします。
-
[Evaluation mode] (評価モード) で、[Turn on proactive evaluation] (プロアクティブな評価をオンにする) を選択し、デプロイ前のリソースの構成設定に対して評価を実行します。
-
[Save (保存)] を選択します。
注記
プロアクティブな評価をオンにするには、put-config-rule
コマンドを使用して EvaluationModes
の PROACTIVE
を有効にするか、PutConfigRule アクションを使用して EvaluationModes
の PROACTIVE
を有効にすることもできます。
プロアクティブ評価をオンにすると、StartResourceEvaluation APIと GetResourceEvaluationSummary APIを使用して、これらのコマンドで指定したリソースが、リソースのアカウントのプロアクティブルールに基づいて NON_COMPLIANT としてフラグが設定されるかどうかを確認できます。
例えば、StartResourceEvaluation API を開始します。
aws configservice start-resource-evaluation --evaluation-mode PROACTIVE --resource-details '{"ResourceId":"
MY_RESOURCE_ID
", "ResourceType":"AWS::RESOURCE::TYPE
", "ResourceConfiguration":"RESOURCE_DEFINITION_AS_PER_THE_RESOURCE_CONFIGURATION_SCHEMA
", "ResourceConfigurationSchemaType":"CFN_RESOURCE_SCHEMA"}'
出力に ResourceEvaluationId
が表示されます。
{ "ResourceEvaluationId": "MY_RESOURCE_EVALUATION_ID" }
次に、ResourceEvaluationId
を GetResourceEvaluationSummary API で使用して評価結果を確認します。
aws configservice get-resource-evaluation-summary --resource-evaluation-id
MY_RESOURCE_EVALUATION_ID
次のような出力が表示されます。
{ "ResourceEvaluationId": "MY_RESOURCE_EVALUATION_ID", "EvaluationMode": "PROACTIVE", "EvaluationStatus": { "Status": "SUCCEEDED" }, "EvaluationStartTimestamp": "2022-11-15T19:13:46.029000+00:00", "Compliance": "COMPLIANT", "ResourceDetails": { "ResourceId": "MY_RESOURCE_ID", "ResourceType": "AWS::RESOURCE::TYPE", "ResourceConfiguration": "RESOURCE_DEFINITION_AS_PER_THE_RESOURCE_CONFIGURATION_SCHEMA" } }
どのルールがリソースに NON_COMPLIANT のフラグを付けたかなど、評価結果に関する詳細を確認するには、GetComplianceDetailsByResource API を使用します。
検出評価は、デプロイ済みのリソースを評価するために使用します。これにより、既存のリソース構成の設定を評価できます。
リソースの評価 (コンソール)
AWS Management Console にサインインして、AWS Config コンソール (https://console.aws.amazon.com/config/
) を開きます。 -
AWS Management Console メニューで、リージョンセレクターが AWS Config ルールをサポートするリージョンに設定されていることを確認します。サポートされているリージョンのリストについては、AWS Config の「Amazon Web Services 全般のリファレンス のリージョンとエンドポイント」を参照してください。
-
ナビゲーションペインで ルール を選択します。[Rule] (ルール) ページには、各ルールの名前、関連する修復アクション、およびコンプライアンスステータスが表示されます。
-
テーブルからルールを選択します。
-
[Actions] (アクション) ドロップダウンリストから、[Re-evaluate] (再評価) を選択します。
-
AWS Config は、ルールを適用してリソースの評価を開始します。
注記
ルールの再評価は 1 分ごとに 1 回実行できます。AWS Config でルールの評価が完了するのを待ってから、別の評価を開始する必要があります。ルールの更新中または削除中に評価を実行することはできません。
リソースの評価 (CLI)
-
start-config-rules-evaluationコマンドを使用します。
$ aws configservice start-config-rules-evaluation --config-rule-names
ConfigRuleName
AWS Config は、ルールを適用して記録済みのリソース設定の評価を開始します。リクエストで複数のルールを指定することもできます。
$ aws configservice start-config-rules-evaluation --config-rule-names
ConfigRuleName1
ConfigRuleName2
ConfigRuleName3
リソースの評価 (API)
StartConfigRulesEvaluation アクションを使用します。