檢視資源的相容性 AWS 資訊與評估結果 - AWS Config

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢視資源的相容性 AWS 資訊與評估結果

重要

若要準確報告合規狀態,您必須記錄 AWS::Config::ResourceCompliance 資源類型。如需詳細資訊,請參閱錄製 AWS 資源

您可以使用 AWS Config 主控台或 AWS SDK 來檢視資源的合規性資訊和評估結果。

檢視合規性 (主控台)

  1. 請登入 AWS Management Console 並開啟 AWS Config 主控台,網址為 https://console.aws.amazon.com/config/

  2. 在 AWS Management Console 功能表中,確認區域選取器已設定為支援 AWS Config 規則的區域。如需受支援區域的清單,請參閱《Amazon Web Services 一般參考》中的 AWS Config 區域與端點

  3. 在導覽窗格中,選擇 Resources (資源)。在「資源庫存」頁面上,您可以依資源類別、資源類型和合規狀態進行篩選。如果適用,請選擇 納入已刪除的資源。下表顯示資源類型和適用於該資源之資源合規狀態的資源識別符。資源識別符可能是資源 ID 或資源名稱。

  4. 從資源識別符資料行選取資源。

  5. 選擇 資源時間軸 按鈕。您可以依組態事件、規範遵循事件或 CloudTrail 事件進行篩選。

    注意

    或者,您可以直接在「資源庫存」頁面選擇資源名稱。若要從「資源詳細資訊」頁面存取資源時間軸,請選擇 資源時間軸 按鈕。

您也可以透過在 Resource inventory (資源清查) 頁面上查詢它們,來檢視您資源的合規。如需詳細資訊,請參閱 查找發現的資源 AWS Config

檢視合規性 (AWS SDK)

下列程式碼範例會示範如何使用DescribeComplianceByResource

CLI
AWS CLI

取得資源的法規遵循 AWS 資訊

下列命令會針對 AWS Config 記錄且違反一或多個規則的每個 EC2 執行個體傳回合規資訊:

aws configservice describe-compliance-by-resource --resource-type AWS::EC2::Instance --compliance-types NON_COMPLIANT

在輸出中,每個CappedCount屬性的值指示資源違反了多少規則。例如,下列輸出表示執行個體i-1a2b3c4d違反了 2 個規則。

輸出:

{ "ComplianceByResources": [ { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "Compliance": { "ComplianceContributorCount": { "CappedCount": 2, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } }, { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-2a2b3c4d ", "Compliance": { "ComplianceContributorCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } } ] }
PowerShell
適用的工具 PowerShell

範例 1:此範例會檢查AWS::SSM::ManagedInstanceInventory資源類型是否符合「相容」相容性類型。

Get-CFGComplianceByResource -ComplianceType COMPLIANT -ResourceType AWS::SSM::ManagedInstanceInventory

輸出:

Compliance ResourceId ResourceType ---------- ---------- ------------ Amazon.ConfigService.Model.Compliance i-0123bcf4b567890e3 AWS::SSM::ManagedInstanceInventory Amazon.ConfigService.Model.Compliance i-0a1234f6f5d6b78f7 AWS::SSM::ManagedInstanceInventory

下列程式碼範例會示範如何使用GetComplianceSummaryByResourceType

CLI
AWS CLI

取得所有資源類型的符合性摘要

下列命令會傳回不相容的 AWS 資源數目以及相容的編號:

aws configservice get-compliance-summary-by-resource-type

在輸出中,每個CappedCount屬性的值表示有多少資源相容或不相容。

輸出:

{ "ComplianceSummariesByResourceType": [ { "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 16, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1453237464.543, "CompliantResourceCount": { "CappedCount": 10, "CapExceeded": false } } } ] }

取得特定資源類型的符合性摘要

下列命令會傳回不相容的 EC2 執行個體數目以及符合規定的數目:

aws configservice get-compliance-summary-by-resource-type --resource-types AWS::EC2::Instance

在輸出中,每個CappedCount屬性的值表示有多少資源相容或不相容。

輸出:

{ "ComplianceSummariesByResourceType": [ { "ResourceType": "AWS::EC2::Instance", "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204923.518, "CompliantResourceCount": { "CappedCount": 7, "CapExceeded": false } } } ] }
PowerShell
適用的工具 PowerShell

範例 1:此範例會傳回相容或不相容的資源數量,並將輸出轉換為 json。

Get-CFGComplianceSummaryByResourceType -Select ComplianceSummariesByResourceType.ComplianceSummary | ConvertTo-Json { "ComplianceSummaryTimestamp": "2019-12-14T06:14:49.778Z", "CompliantResourceCount": { "CapExceeded": false, "CappedCount": 2 }, "NonCompliantResourceCount": { "CapExceeded": true, "CappedCount": 100 } }

下列程式碼範例會示範如何使用GetComplianceDetailsByResource

CLI
AWS CLI

若要取得 AWS 資源的評估結果

下列命令會針對 EC2 執行個體i-1a2b3c4d不符合的每個規則傳回評估結果:

aws configservice get-compliance-details-by-resource --resource-type AWS::EC2::Instance --resource-id i-1a2b3c4d --compliance-types NON_COMPLIANT

輸出:

{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314643.288, "ConfigRuleInvokedTime": 1450314643.034, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "RequiredTagForEC2Instances" } }, "ResultRecordedTime": 1450314645.261, "ConfigRuleInvokedTime": 1450314642.948, "ComplianceType": "NON_COMPLIANT" } ] }
PowerShell
適用的工具 PowerShell

範例 1:指定資源的此範例迴避結果。

Get-CFGComplianceDetailsByResource -ResourceId ABCD5STJ4EFGHIVEW6JAH -ResourceType 'AWS::IAM::User'

輸出:

Annotation : ComplianceType : COMPLIANT ConfigRuleInvokedTime : 8/25/2019 11:34:56 PM EvaluationResultIdentifier : Amazon.ConfigService.Model.EvaluationResultIdentifier ResultRecordedTime : 8/25/2019 11:34:56 PM ResultToken :