AWS Config ルールの評価モードとトリガータイプ - AWS Config

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

AWS Config ルールの評価モードとトリガータイプ

アカウントにルールを追加するときに、リソースの作成および管理プロセスでリソース AWS Config を評価するタイミングを指定できます。リソースの作成と管理のプロセスは、リソースプロビジョニングと呼ばれます。評価モードを選択して、このプロセスでリソース AWS Config を評価するタイミングを指定します。

ルールに応じて、 はリソースがデプロイされる前、リソースがデプロイされた後、またはその両方でリソース設定を評価 AWS Config できます。デプロイ前にリソースを評価するのは、プロアクティブ評価です。デプロイ後にリソースを評価するのは、検出評価です。

トリガータイプを選択して、 AWS Config ルールでリソースを評価する頻度を指定することもできます。リソースは、設定変更時、定期的、あるいはその両方で評価できます。

トリガータイプ

アカウントにルールを追加すると、 はリソースをルールの条件 AWS Config と比較します。この最初の評価の後、 は評価がトリガーされるたびに評価の実行 AWS Config を続行します。評価のトリガーは、ルールの一部として定義されます。以下のタイプを含めることができます。

トリガータイプ 説明
設定変更 AWS Config は、ルールのスコープに一致するリソースがあり、リソースの設定が変更された場合に、ルールの評価を実行します。評価は、 が設定項目の変更通知 AWS Config を送信した後に実行されます。

どのリソースで評価を開始するかは、ルールのスコープで定義します。スコープには以下を含めることができます。

  • 1 つ以上のリソースタイプ

  • リソースタイプとリソース ID の組み合わせ

  • タグキーとタグ値の組み合わせ

  • 記録対象リソースの作成、更新、または削除時

AWS Config は、ルールのスコープに一致するリソースへの変更を検出すると、評価を実行します。スコープを使用して評価を開始するリソースを定義できます。

定期的 AWS Config は、24 時間ごとなど、選択した頻度でルールの評価を実行します。
ハイブリッド 一部のルールでは、設定変更と定期的なトリガーの両方があります。これらのルールでは、 は、設定の変更を検出したときと、指定した頻度でリソース AWS Config を評価します。

評価モード

評価モードには 2 種類あります。

プロアクティブ評価は、デプロイ前にリソースを評価するために使用します。これにより、 リージョンのアカウントにある一連のプロアクティブルールを考慮すると、 AWS リソースを定義するためにリソースプロパティのセットが COMPLIANTまたは NON_COMPLIANT であるかどうかを評価できます。

リソースタイプスキーマは、リソースのプロパティを記述します。リソースタイプスキーマは、 AWS CloudFormation レジストリ内のAWS 「パブリック拡張」または次のCLIコマンドで確認できます。

aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type RESOURCE

詳細については、「 AWS CloudFormation ユーザーガイド」の AWS CloudFormation 「レジストリとリソースおよびプロパティタイプのリファレンスによる拡張機能の管理」を参照してください。 AWS

注記

プロアクティブルールは、NON_COMPLIANT とフラグ付けされたリソースを修正したり、デプロイを妨げたりしません。

プロアクティブ評価によるマネージドルールのリスト

プロアクティブ評価をサポートするマネージドルールのリストについては、「評価モード別の AWS Config マネージドルールのリスト」を参照してください。

プロアクティブ評価がサポートされているリソースタイプのリスト

プロアクティブ評価がサポートされているリソースタイプのリストを以下に示します。

  • AWS::ApiGateway::Stage

  • AWS::AutoScaling::AutoScalingGroup

  • AWS::EC2::EIP

  • AWS::EC2::Instance

  • AWS::EC2::Subnet

  • AWS::Elasticsearch::Domain

  • AWS::Lambda::Function

  • AWS::RDS::DBInstance

  • AWS::Redshift::Cluster

  • AWS::S3::Bucket

  • AWS::SNS::Topic

プロアクティブ評価によるルールの例

プロアクティブルールの例
  1. AWS Config マネージドルール をアカウントに追加してS3_BUCKET_LOGGING_ENABLED、S3 バケットでログ記録が有効になっているかどうかを確認します。

  2. 評価モードでは、 AWS マネジメントコンソールでプロアクティブ評価を有効にするか、 EvaluationModesPutConfigRule PROACTIVEを有効にしますAPI。

プロアクティブ評価を有効にしたら、 StartResourceEvaluationAPIと GetResourceEvaluationSummary API を使用して、本稼働環境にデプロイされていないアカウントのバケットでログ記録が有効になっていないかどうかを確認できます。これにより、デプロイ前にリソースの設定をテストし、リソースを本番環境にデプロイするかどうかを再評価できます。

例えば、以下から始めます StartResourceEvaluation API。

aws configservice start-resource-evaluation --evaluation-mode PROACTIVE --resource-details '{"ResourceId":"MY_RESOURCE_ID", "ResourceType":"AWS::S3::Bucket", "ResourceConfiguration": "{\"BucketName\": \"amzn-s3-demo-bucket1\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"amzn-s3-demo-bucket2\",\"LogFilePrefix\":\"my-log\"}}", "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": "{\"BucketName\": \"amzn-s3-demo-bucket\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"amzn-s3-demo-destination-bucket1\",\"LogFilePrefix\":\"my-log\"}}", } }

リソースに NON_ というフラグを付けたルールなど、評価結果に関する追加情報を表示するにはCOMPLIANT、 GetComplianceDetailsByResource を使用しますAPI。

検出評価は、デプロイ済みのリソースを評価するために使用します。これにより、既存のリソース構成の設定を評価できます。

検出評価によるルールの例

変更によってトリガーされるルールの例
  1. マネージドルールの S3_BUCKET_LOGGING_ENABLED をアカウントに追加し、S3 バケットのログ記録が有効になっているかどうかを確認します。

  2. ルールのトリガータイプは設定変更です。S3 バケットが作成、変更、または削除されると、 はルールの評価 AWS Config を実行します。

  3. バケットが更新されると、この設定変更によってルールが開始され、バケットがルールに準拠しているかどうかが AWS Config で評価されます。

定期的なルールの例
  1. マネージドルールの IAM_PASSWORD_POLICY をアカウントに追加します。このルールは、IAMユーザーのパスワードポリシーが、最小長や特定の文字を要求するなど、アカウントポリシーに準拠しているかどうかを確認します。

  2. ルールのトリガータイプは、24 時間ごとなど、指定した頻度でルールの評価 AWS Config を実行します。

  3. 24 時間ごとにルールが開始され、IAMユーザーのパスワードがルールに準拠しているかどうかが AWS Config 評価されます。

設定変更トリガーと定期的なトリガーの両方によるハイブリッドルールの例
  1. アカウントの AWS CloudTrail 証跡が有効になっているかどうかと、すべてのリージョンのログ記録を評価するカスタムルールを作成します。

  2. 証跡が作成 AWS Config 、更新、または削除されるたびに、ルールの評価を実行する必要があります。また AWS Config 、12 時間ごとにルールを実行する必要があります。

  3. トリガータイプには、設定変更と定期的なトリガーの両方のロジックを記述します。詳細については、「 AWS Config ルールのコンポーネント: ルールの記述」を参照してください。

設定レコーダーがオフになっているときのルールの評価

設定レコーダーをオフにすると、 はリソース設定の変更の記録を AWS Config 停止します。これは以下のようにルールの評価ルールに影響します。

  • 定期的なトリガールールにより、指定された間隔で継続して評価が実行されます。

  • 変更によってトリガーされたルールでは評価を実行しません。

  • ハイブリッドルールでは、指定された間隔でのみ評価を実行します。設定変更のルールでは評価が実行されません。

  • 設定変更トリガーのルールのオンデマンド評価を実行すると、リソースの最後の知られている状態 (前回記録された設定項目) が評価されます。

重要

不要な AWS Config 評価を回避する

定期ルールとハイブリッドルールは、設定レコーダーをオフにした場合でも、削除しない限り実行を継続します。これらのルールは、設定レコーダーがオフになる前に記録された設定項目のみを評価します。つまり、これらのルールは、新しい情報なしで同じ評価結果を再現します。設定レコーダーをオフにする場合は、不必要なアクティビティやルール評価が行われないようにするため、定期ルールとハイブリッドルールを削除してください。