查看 Amazon Config 规则的详细信息和合规信息
重要
要准确报告合规性状态,必须记录 AWS::Config::ResourceCompliance 资源类型。有关更多信息,请参阅记录 Amazon 资源。
您可以使用 Amazon Config 控制台或 Amazon SDK 查看规则。
查看规则(控制台)
规则页面在一个表中显示您的规则及其当前的合规性结果。在 根据规则完成对您的资源的评估前,每个规则的结果都显示为 Evaluating...Amazon Config。您可以使用刷新按钮更新结果。当 Amazon Config 完成评估时,您可以看到合规或不合规的规则和资源类型。有关更多信息,请参阅 使用 Amazon Config 查看 Amazon 资源的合规信息和评估结果
注意
Amazon Config 仅评估它所记录的资源类型。例如,如果您添加 cloudtrail-enabled 规则,但未记录 CloudTrail 跟踪资源类型,Amazon Config 将无法评估您账户中的跟踪是否合规。有关更多信息,请参阅 使用 Amazon Config 记录 Amazon 资源
查看您的规则
登录到,Amazon Web Services 管理控制台然后通过以下网址打开 Amazon Config 控制台:https://console.aws.amazon.com/config/home。
-
在 Amazon Web Services 管理控制台菜单上,验证区域选择器是否设置为支持 Amazon Config 规则的区域。有关支持的区域的列表,请参阅《Amazon Web Services 一般参考》中的 Amazon Config 区域和终端节点。
-
在左侧导航窗格中,选择 Rules。
-
规则页面显示您的 Amazon Web Services 账户中当前存在的所有规则。其中列出每条规则的名称、关联的修正操作和合规性状态。
-
选择 Add rule 以开始创建规则。
-
选择规则可查看其设置,或者选择规则,然后选择查看详细信息。
-
当规则评估资源时,请查看规则的合规性状态。
-
选择规则,然后选择编辑规则以更改该规则的配置设置,并为不合规的规则设置修正操作。
-
查看规则(Amazon SDK)
以下代码示例演示如何使用。DescribeConfigRules
- CLI
-
- Amazon CLI
-
获取 Amazon Config 规则的详细信息
以下命令将返回名为
InstanceTypesAreT2micro的 Amazon Config 规则的详细信息:aws configservice describe-config-rules --config-rule-namesInstanceTypesAreT2micro输出:
{ "ConfigRules": [ { "ConfigRuleState": "ACTIVE", "Description": "Evaluates whether EC2 instances are the t2.micro type.", "ConfigRuleName": "InstanceTypesAreT2micro", "ConfigRuleArn": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abcdef", "Source": { "Owner": "CUSTOM_LAMBDA", "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck", "SourceDetails": [ { "EventSource": "aws.config", "MessageType": "ConfigurationItemChangeNotification" } ] }, "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}", "Scope": { "ComplianceResourceTypes": [ "AWS::EC2::Instance" ] }, "ConfigRuleId": "config-rule-abcdef" } ] }-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 DescribeConfigRules
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 1:此示例列出账户的配置规则以及选定属性。
Get-CFGConfigRule | Select-Object ConfigRuleName, ConfigRuleId, ConfigRuleArn, ConfigRuleState输出:
ConfigRuleName ConfigRuleId ConfigRuleArn ConfigRuleState -------------- ------------ ------------- --------------- ALB_REDIRECTION_CHECK config-rule-12iyn3 arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-12iyn3 ACTIVE access-keys-rotated config-rule-aospfr arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-aospfr ACTIVE autoscaling-group-elb-healthcheck-required config-rule-cn1f2x arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-cn1f2x ACTIVE-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V4)》中的 DescribeConfigRules。
-
- Tools for PowerShell V5
-
示例 1:此示例列出账户的配置规则以及选定属性。
Get-CFGConfigRule | Select-Object ConfigRuleName, ConfigRuleId, ConfigRuleArn, ConfigRuleState输出:
ConfigRuleName ConfigRuleId ConfigRuleArn ConfigRuleState -------------- ------------ ------------- --------------- ALB_REDIRECTION_CHECK config-rule-12iyn3 arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-12iyn3 ACTIVE access-keys-rotated config-rule-aospfr arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-aospfr ACTIVE autoscaling-group-elb-healthcheck-required config-rule-cn1f2x arn:aws:config-service:eu-west-1:123456789012:config-rule/config-rule-cn1f2x ACTIVE-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V5)》中的 DescribeConfigRules。
-
- Python
-
- 适用于 Python 的 SDK(Boto3)
-
注意
查看 GitHub,了解更多信息。在 Amazon 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 class ConfigWrapper: """ Encapsulates AWS Config functions. """ def __init__(self, config_client): """ :param config_client: A Boto3 AWS Config client. """ self.config_client = config_client def describe_config_rule(self, rule_name): """ Gets data for the specified rule. :param rule_name: The name of the rule to retrieve. :return: The rule data. """ try: response = self.config_client.describe_config_rules( ConfigRuleNames=[rule_name] ) rule = response["ConfigRules"] logger.info("Got data for rule %s.", rule_name) except ClientError: logger.exception("Couldn't get data for rule %s.", rule_name) raise else: return rule-
有关 API 详细信息,请参阅《Amazon SDK for Python(Boto3)API 参考》中的 DescribeConfigRules。
-
以下代码示例演示如何使用。DescribeComplianceByConfigRule
- CLI
-
- Amazon CLI
-
获取 Amazon Config 规则的合规性信息
以下命令返回一个或多个 Amazon 资源违反的每个 Amazon Config 规则的合规性信息:
aws configservice describe-compliance-by-config-rule --compliance-typesNON_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" } ] }-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 DescribeComplianceByConfigRule
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 1:此示例检索规则 ebs-optimized-instance 的合规性详细信息,该规则当前没有评估结果,因此返回 INSUFFICIENT_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-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V4)》中的 DescribeComplianceByConfigRule。
-
- Tools for PowerShell V5
-
示例 1:此示例检索规则 ebs-optimized-instance 的合规性详细信息,该规则当前没有评估结果,因此返回 INSUFFICIENT_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-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V5)》中的 DescribeComplianceByConfigRule。
-
以下代码示例演示如何使用。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 } } }-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 GetComplianceSummaryByConfigRule
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 1:此示例返回不合规的 Config 规则的数量。
Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount输出:
CapExceeded CappedCount ----------- ----------- False 9-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V4)》中的 GetComplianceSummaryByConfigRule。
-
- Tools for PowerShell V5
-
示例 1:此示例返回不合规的 Config 规则的数量。
Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount输出:
CapExceeded CappedCount ----------- ----------- False 9-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V5)》中的 GetComplianceSummaryByConfigRule。
-
以下代码示例演示如何使用。GetComplianceDetailsByConfigRule
- CLI
-
- Amazon CLI
-
获取 Amazon Config 规则的评估结果
以下命令返回所有不符合名为
InstanceTypesAreT2micro的 Amazon Config 规则的资源的评估结果:aws configservice get-compliance-details-by-config-rule --config-rule-nameInstanceTypesAreT2micro--compliance-typesNON_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" } ] }-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 GetComplianceDetailsByConfigRule
。
-
- PowerShell
-
- Tools for PowerShell V4
-
示例 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-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V4)》中的 GetComplianceDetailsByConfigRule。
-
- Tools for PowerShell V5
-
示例 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-
有关 API 详细信息,请参阅《Amazon Tools for PowerShell Cmdlet Reference(V5)》中的 GetComplianceDetailsByConfigRule。
-