AWS Config
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

查看配置合规性

您可以使用 AWS Config 控制台、AWS CLI 或 AWS Config API 查看您的规则及资源的合规性状态。

查看合规性 (控制台)

  1. 登录 AWS 管理控制台 并通过以下网址打开 AWS Config 控制台:https://console.amazonaws.cn/config/

  2. 在 AWS 管理控制台菜单上,验证区域选择器是否设置为支持 AWS Config 规则的区域。有关支持区域的列表,请参阅 Amazon Web Services 一般参考 中的 AWS Config 区域和终端节点

  3. 在导航窗格中,选择 Rules。控制台将显示 Rules 页面,其中列出了您的规则及每个规则的合规性状态。

  4. 选择一个规则,以查看它的 Rule details 页面。此页面将显示该规则的配置、状态及任何不符合该规则的 AWS 资源。

  5. 如果 Rule details 显示任何不合规资源,请针对资源选择 Config timeline 图标 (  “Config timeline”图标。 ),以查看其配置时间线页面。当 AWS Config 检测到资源不合规时,该页面将显示其记录的配置设置。此信息可帮助您确定资源不符合规则的原因。有关更多信息,请参阅 在 AWS Config 控制台中查看配置详细信息

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

例 查看合规性 (AWS CLI)

要查看合规性,请使用以下任一 CLI 命令:

  • 要查看您的每个规则的合规性状态,请使用 describe-compliance-by-config-rule 命令,如以下示例所示:

    Copy
    $ aws configservice describe-compliance-by-config-rule { "ComplianceByConfigRules": [ { "Compliance": { "ComplianceContributorCount": { "CappedCount": 2, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" }, "ConfigRuleName": "instances-in-vpc" }, { "Compliance": { "ComplianceType": "COMPLIANT" }, "ConfigRuleName": "restricted-common-ports" }, ...

    对于合规性类型为 NON_COMPLIANT 的每个规则,AWS Config 将通过 CappedCount 参数返回不合规资源的数量。

  • 要查看 AWS Config 根据特定规则评估的每个资源的合规性状态,请使用 get-compliance-details-by-config-rule 命令,如以下示例所示:

    Copy
    $ aws configservice get-compliance-details-by-config-rule --config-rule-name ConfigRuleName{ "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1443610576.349, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-nnnnnnnn", "ConfigRuleName": "ConfigRuleName" } }, "ResultRecordedTime": 1443751424.969, "ConfigRuleInvokedTime": 1443751421.208, "ComplianceType": "COMPLIANT" }, { "EvaluationResultIdentifier": { "OrderingTimestamp": 1443610576.349, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-nnnnnnnn", "ConfigRuleName": "ConfigRuleName" } }, "ResultRecordedTime": 1443751425.083, "ConfigRuleInvokedTime": 1443751421.301, "ComplianceType": "NON_COMPLIANT" }, ...
  • 要查看每个特定类型的 AWS 资源的合规性状态,请使用 describe-compliance-by-resource 命令,如以下示例所示:

    Copy
    $ aws configservice describe-compliance-by-resource --resource-type AWS::EC2::Instance { "ComplianceByResources": [ { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-nnnnnnnn", "Compliance": { "ComplianceContributorCount": { "CappedCount": 1, "CapExceeded": false }, "ComplianceType": "NON_COMPLIANT" } }, { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-nnnnnnnn", "Compliance": { "ComplianceType": "COMPLIANT" } }, ...
  • 要查看单个 AWS 资源的合规性详细信息,请使用 get-compliance-details-by-resource 命令。

    Copy
    $ aws configservice get-compliance-details-by-resource --resource-type AWS::EC2::Instance --resource-id i-nnnnnnnn { "EvaluationResults": [ { "EvaluationResultIdentifier": { "OrderingTimestamp": 1443610576.349, "EvaluationResultQualifier": { "ResourceType": "AWS::EC2::Instance", "ResourceId": "i-nnnnnnnn", "ConfigRuleName": "instances-in-vpc" } }, "ResultRecordedTime": 1443751425.083, "ConfigRuleInvokedTime": 1443751421.301, "ComplianceType": "NON_COMPLIANT" } ] }

例 查看合规性 (AWS Config API)

要查看合规性,请使用以下任一 API 操作:

  • 要查看您的每个规则的合规性状态,请使用 DescribeComplianceByConfigRule 操作。

  • 要查看 AWS Config 根据特定规则评估的每个资源的合规性状态,请使用 GetComplianceDetailsByConfigRule 操作。

  • 要查看每个特定类型的 AWS 资源的合规性状态,请使用 DescribeComplianceByResource 操作。

  • 要查看单个 AWS 资源的合规性详细信息,请使用 GetComplianceDetailsByResource 操作。详细信息包括:用于评估资源的 AWS Config 规则有哪些、每个规则最后一次评估资源的时间,以及资源是否符合每个规则。