使用 檢視AWS資源的合規資訊和評估結果AWS Config - AWS Config

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

使用 檢視AWS資源的合規資訊和評估結果AWS Config

重要

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

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

檢視合規性 (主控台)

  1. 登入AWS 管理主控台並在 https://https://console.aws.amazon.com/config/home 開啟AWS Config主控台。

  2. 在AWS 管理主控台選單中,確認區域選擇器已設定為支援AWS Config規則的區域。如需受支援區域的清單,請參閱《Amazon Web Services 一般參考》中的 AWS Config區域與端點

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

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

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

    注意

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

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

檢視合規 (AWS SDKs)

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

CLI
AWS CLI

取得AWS資源的合規資訊

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

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
Tools for PowerShell V4

範例 1:此範例會檢查 'COMPLIANT' 合規類型的 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
Tools for PowerShell V5

範例 1:此範例會檢查 'COMPLIANT' 合規類型的 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
Tools for PowerShell V4

範例 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 } }
Tools for PowerShell V5

範例 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
Tools for PowerShell V4

範例 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 :
Tools for PowerShell V5

範例 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 :