查看合规信息和评估结果 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看合规信息和评估结果

重要

要准确报告合规性状态,必须记录 AWS::Config::ResourceCompliance 资源类型。有关更多信息,请参阅重新编码 Amazon 资源

您可以使用 Amazon Config 控制台或 Amazon 软件开发工具包查看您的规则和资源的合规性信息以及评估结果。

查看合规性(控制台)

  1. 登录 Amazon Web Services Management Console 并打开 Amazon Config 控制台,网址为 https://console.aws.amazon.com/config/

  2. 在 Amazon Web Services Management Console 菜单中,确认区域选择器设置为支持 Amazon Config 规则的区域。有关支持的区域的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon Config 区域和终端节点

  3. 在导航窗格中,选择资源。在“资源”清单页面上,您可以按资源类别、资源类型和合规性状态进行筛选。根据需要选择包括已删除的资源。该表显示了资源类型的资源标识符和该资源的资源合规性状态。资源标识符可以是资源 ID,也可以是资源名称。

  4. 从资源标识符列中选择资源。

  5. 选择资源时间表按钮。您可以按配置事件、合规性事件或 CloudTrail 事件进行筛选。

    注意

    或者,在“资源”清单页面上,您可以直接选择资源名称。要从资源详细信息页面访问资源时间表,请选择资源时间表按钮。

此外,您还可以在 Resource inventory 页面查找您的资源,以查看其合规性。有关更多信息,请参阅 查找由以下人员发现的资源 Amazon Config

查看合规性 (Amazon SDK)

以下代码示例演示如何使用 DescribeComplianceByConfigRule

CLI
Amazon CLI

获取您的 Amazon Config 规则的合规性信息

以下命令返回一个或多个 Amazon 资源违反的每个 Amazon Config 规则的合规性信息:

aws configservice describe-compliance-by-config-rule --compliance-types NON_COMPLIANT

在输出中,每个CappedCount属性的值都表示有多少资源不符合相关规则。例如,以下输出表明 3 个资源不符合名为的规则InstanceTypesAreT2micro

输出:

{ "ComplianceByConfigRules": [ { "Compliance": { "ComplianceContributorCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "InstanceTypesAreT2micro" }, { "Compliance": { "ComplianceContributorCount": { "CappedCount": 10, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "RequiredTagsForVolumes" } ] }
PowerShell
用于 PowerShell

示例 1:此示例检索规则的合规性详细信息,该规则当前没有评估结果 ebs-optimized-instance,因此它返回 INSUFKIENT_DATA

(Get-CFGComplianceByConfigRule -ConfigRuleName ebs-optimized-instance).Compliance

输出:

ComplianceContributorCount ComplianceType -------------------------- -------------- INSUFFICIENT_DATA

示例 2:此示例返回规则 ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK 的不合规资源数量。

(Get-CFGComplianceByConfigRule -ConfigRuleName ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK -ComplianceType NON_COMPLIANT).Compliance.ComplianceContributorCount

输出:

CapExceeded CappedCount ----------- ----------- False 2

以下代码示例演示如何使用 DescribeComplianceByResource

CLI
Amazon CLI

获取 Amazon 资源的合规性信息

以下命令返回由 Amazon 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

以下代码示例演示如何使用 GetComplianceSummaryByConfigRule

CLI
Amazon CLI

获取您的 Amazon Config 规则的合规性摘要

以下命令返回合规规则的数量和不合规的规则数量:

aws configservice get-compliance-summary-by-config-rule

在输出中,每个CappedCount属性的值表示有多少规则合规或不合规。

输出:

{ "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204131.493, "CompliantResourceCount": { "CappedCount": 2, "CapExceeded": false } } }
PowerShell
用于 PowerShell

示例 1:此示例返回不合规的 Config 规则的数量。

Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount

输出:

CapExceeded CappedCount ----------- ----------- False 9

以下代码示例演示如何使用 GetComplianceSummaryByResourceType

CLI
Amazon CLI

获取所有资源类型的合规性摘要

以下命令返回不合规的 Amazon 资源数量和合规资源的数量:

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 } }

以下代码示例演示如何使用 GetComplianceDetailsByConfigRule

CLI
Amazon CLI

获取 Amazon Config 规则的评估结果

以下命令返回所有不符合名为的 Amazon Config 规则的资源的评估结果InstanceTypesAreT2micro

aws configservice get-compliance-details-by-config-rule --config-rule-name InstanceTypesAreT2micro --compliance-types NON_COMPLIANT

输出:

{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-1a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314645.261, "ConfigRuleInvokedTime": 1450314642.948, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-2a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314645.18, "ConfigRuleInvokedTime": 1450314642.902, "ComplianceType": "NON_COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1450314635.065, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-3a2b3c4d", "ConfigRuleName": "InstanceTypesAreT2micro" } }, "ResultRecordedTime": 1450314643.346, "ConfigRuleInvokedTime": 1450314643.124, "ComplianceType": "NON_COMPLIANT" } ] }
PowerShell
用于 PowerShell

示例 1:此示例获取规则的评估结果 access-keys-rotated 并返回按合规类型分组的输出

Get-CFGComplianceDetailsByConfigRule -ConfigRuleName access-keys-rotated | Group-Object ComplianceType

输出:

Count Name Group ----- ---- ----- 2 COMPLIANT {Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationResult} 5 NON_COMPLIANT {Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationResult, Amazon.ConfigService.Model.EvaluationRes...

示例 2:此示例查询合规资源的规则 access-keys-rotated 的合规性详细信息。

Get-CFGComplianceDetailsByConfigRule -ConfigRuleName access-keys-rotated -ComplianceType COMPLIANT | ForEach-Object {$_.EvaluationResultIdentifier.EvaluationResultQualifier}

输出:

ConfigRuleName ResourceId ResourceType -------------- ---------- ------------ access-keys-rotated BCAB1CDJ2LITAPVEW3JAH AWS::IAM::User access-keys-rotated BCAB1CDJ2LITL3EHREM4Q AWS::IAM::User

以下代码示例演示如何使用 GetComplianceDetailsByResource

CLI
Amazon CLI

获取 Amazon 资源的评估结果

以下命令返回 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 :