設定コンプライアンスの使用 - AWS Systems Manager

設定コンプライアンスの使用

AWS Systems Manager の一機能である Compliance は、Patch Manager パッチ適用のステータスと State Manager の関連付けに関するデータを収集して報告します。(Patch Manager と State Manager も AWS Systems Manager の機能です。) Compliance では、マネージドノードに対して指定したカスタムコンプライアンスタイプについてもレポートします。このセクションでは、各コンプライアンスタイプに関する詳細および Systems Manager のコンプライアンスデータを表示する方法について説明します。このセクションでは、コンプライアンス履歴および変更の追跡を表示する方法についても説明します。

注記

Systems Manager は、Chef InSpec と統合します。InSpec は、オープンソースのランタイムフレームワークであり、人間が読み取れるプロファイルを GitHub または Amazon Simple Storage Service (Amazon S3) で作成できます。その後、Systems Manager を使用してコンプライアンススキャンを実行し、準拠または非準拠のインスタンスを表示できます。詳細については、「Systems Manager Compliance で Chef InSpec プロファイルを使用する」を参照してください。

パッチコンプライアンスについて

Patch Manager を使用してインスタンスにパッチをインストールすると、コンソールでも、AWS Command Line Interface (AWS CLI) コマンドまたは対応する Systems Manager API オペレーションへのレスポンスでも、コンプライアンスステータス情報をすぐに表示できるようになります。

パッチのコンプライアンスステータス値については、「パッチコンプライアンス状態の値について」を参照してください。

State Manager 関連付けのコンプライアンスについて

State Manager の関連付けを 1 つまたは複数作成すると、コンソールでも、 AWS CLI コマンドまたは対応する Systems Manager API オペレーションへのレスポンスでも、コンプライアンスステータス情報をすぐに表示できるようになります。関連付けについては、設定コンプライアンスが Compliant または Non-compliant のステータス、および Critical または Medium などの関連付けに割り当てられた重大度レベルを表示します。

カスタムコンプライアンスについて

マネージドノードにコンプライアンスメタデータを割り当てることができます。このメタデータは、次にコンプライアンスの報告の目的で、他のコンプライアンスデータと集計できます。たとえば、ビジネスでソフトウェア X のバージョン 2.0、3.0、および 4.0 をマネージドノードで実行しているとします。会社はバージョン 4.0 で標準化したいと考えています。つまり、バージョン 2.0 と 3.0 を実行しているインスタンスは非準拠です。PutComplianceItems API オペレーションを使用して、古いバージョンのソフトウェア X を実行しているマネージドノードを明示的に確認できます。AWS CLI、AWS Tools for Windows PowerShell、または SDK のみを使用して、コンプライアンスのメタデータを割り当てることができます。次の CLI サンプルコマンドは、マネージドインスタンスにコンプライアンスメタデータを割り当て、必要な形式 Custom: でコンプライアンスタイプを指定します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

Linux & macOS
aws ssm put-compliance-items \ --resource-id i-1234567890abcdef0 \ --resource-type ManagedInstance \ --compliance-type Custom:SoftwareXCheck \ --execution-summary ExecutionTime=AnyStringToDenoteTimeOrDate \ --items Id=Version2.0,Title=SoftwareXVersion,Severity=CRITICAL,Status=NON_COMPLIANT
Windows
aws ssm put-compliance-items ^ --resource-id i-1234567890abcdef0 ^ --resource-type ManagedInstance ^ --compliance-type Custom:SoftwareXCheck ^ --execution-summary ExecutionTime=AnyStringToDenoteTimeOrDate ^ --items Id=Version2.0,Title=SoftwareXVersion,Severity=CRITICAL,Status=NON_COMPLIANT
注記

ResourceType パラメータは ManagedInstance のみをサポートしています。マネージド AWS IoT Greengrass コアデバイスにカスタムコンプライアンスを追加する場合は、ManagedInstanceResourceType を指定する必要があります。

次に、コンプライアンスマネージャーは、準拠しているマネージドノードと準拠していないマネージドノードに関する概要を表示するか、レポートを作成できます。マネージドノードには最大 10 個の異なるカスタムコンプライアンスタイプを割り当てることができます。

カスタムコンプライアンスタイプの作成と、コンプライアンスデータの表示の例については、「設定コンプライアンスのチュートリアル (AWS CLI)」を参照してください。

現在のコンプライアンスデータの表示

このセクションでは、Systems Manager コンソールおよび AWS CLI を使用してコンプライアンスデータを表示する方法について説明します。パッチおよび関連付けのコンプライアンス履歴および変更の追跡を表示する方法については、「コンプライアンスの設定履歴と変更の追跡の表示」を参照してください。

現在のコンプライアンスデータの表示 (コンソール)

Systems Manager コンソールでコンプライアンスデータを表示するには、以下の手順に従います。

Systems Manager コンソールで現在のコンプライアンスレポートを表示するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[コンプライアンス] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( 
    The menu icon
  ) を選択してナビゲーションペインを開き、[Compliance] を選択します。

  3. [Compliance dashboard filtering] (コンプライアンスダッシュボードのフィルタリング) セクションで、コンプライアンスデータをフィルタリングするオプションを選択します。[Compliance resources summary] (コンプライアンスリソースの概要) セクションに、選択したフィルタに基づくコンプライアンスデータの数が表示されます。

  4. リソースにドリルダウンして詳細を表示するには、[Details overview for resources] (リソースの詳細概要) エリアをクリックし、マネージドノードの ID を選択します。

  5. [Instance ID] (インスタンス ID) または [Name] (名前) の詳細ページで [Configuration compliance] (設定コンプライアンス) タブを選択し、マネージドノードの詳細な設定コンプライアンスレポートを表示します。

注記

コンプライアンスの問題の修正については、「EventBridge を使用してコンプライアンス問題を修復する」を参照してください。

現在のコンプライアンスデータの表示 (AWS CLI)

次の AWS CLI コマンドを使用して、パッチ適用、関連付け、およびカスタムコンプライアンスタイプのコンプライアンスデータの概要を AWS CLI に表示できます。

list-compliance-summaries

指定したフィルタに従って、準拠しているパッチステータスと準拠していないパッチステータスの集計カウントを返します。(API: ListComplianceSummaries)

list-resource-compliance-summaries

リソースレベルの集計カウントを返します。概要には、指定したフィルタ基準に従って、準拠しているステータスと準拠していないステータス、およびコンプライアンス項目の重大度のカウントに関する情報が含まれます。(API: ListResourceComplianceSummaries)

次の AWS CLI コマンドを使用すると、パッチ適用に対する追加のコンプライアンスデータを表示できます。

describe-patch-group-state

パッチグループの集計されたパッチコンプライアンス状態の概要を返します。(API: DescribePatchGroupState)

describe-instance-patch-states-for-patch-group

指定したパッチグループのインスタンスに関するパッチ状態の概要を返します。(API: DescribeInstancePatchStatesForPatchGroup)

注記

AWS CLI を使用してパッチ適用を設定する方法およびパッチコンプライアンスの詳細を表示する方法については、「チュートリアル: サーバー環境にパッチを適用する (AWS CLI)」を参照してください。

コンプライアンスの設定履歴と変更の追跡の表示

Systems Manager Compliance では、マネージドノードに対する現在のパッチ適用と関連付けに関するコンプライアンスデータが表示されます。AWS Config を使用して、パッチ適用と関連付けのコンプライアンス履歴と変更の追跡を表示できます。AWS Config は、AWS アカウント の AWS リソースの設定の詳細な表示を提供します。これには、リソース間の関係と設定の履歴が含まれるため、時間の経過と共に設定と関係がどのように変わるかを確認できます。パッチ適用および関連付けのコンプライアンス履歴および変更の追跡を表示するには、AWS Config で以下のリソースを有効にしておく必要があります。

  • SSM:PatchCompliance

  • SSM:AssociationCompliance

AWS Config でこれらの特定のリソースを選択および設定する方法については、AWS Config デベロッパーガイドの「AWS Configで記録するリソースの選択」を参照してください。

注記

AWS Config の料金については、「 の料金」を参照してください。