Visualización de detalles e información de conformidad en las reglas de AWS Config - AWS Config

Visualización de detalles e información de conformidad en las reglas de AWS Config

importante

Para obtener informes precisos sobre el estado de cumplimiento, debe registrar el tipo de recurso de AWS::Config::ResourceCompliance. Para obtener más información, consulte Recording AWS Resources.

Puede usar la consola de AWS Config o los AWS SDK para ver las reglas.

Visualización de las reglas (consola)

La página Reglas muestra las reglas y los resultados de conformidad actuales en una tabla. El resultado para cada regla es Evaluating... hasta que AWS Config acaba de evaluar los recursos con respecto a la regla. Puede actualizar los resultados con el botón de actualizar. Cuando AWS Config termina las evaluaciones, puede ver las reglas y los tipos de recursos que son conformes o no conformes. Para obtener más información, consulte Visualización de información de cumplimiento y resultados de evaluación para los recursos de AWS con AWS Config.

nota

AWS Config evalúa solo los tipos de recursos que está registrando. Por ejemplo, si añade la regla cloudtrail-enabled pero no registra el tipo de recurso de registro de seguimiento de CloudTrail, AWS Config no puede evaluar si los registros de seguimiento en la cuenta son o no conformes. Para obtener más información, consulte Registro de recursos de AWS con AWS Config.

Para ver las reglas
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Config en https://console.aws.amazon.com/config/home.

  2. En el menú de Consola de administración de AWS, compruebe que el selector de región está establecido en una región que admite reglas de AWS Config. Para ver una lista de las regiones admitidas, consulte Regiones y puntos de enlace de AWS Config en la Referencia general de Amazon Web Services.

  3. En el panel de navegación izquierdo, seleccione Rules (Reglas).

  4. La página Reglas muestra todas las reglas que tiene actualmente su Cuenta de AWS. En ella se muestra el nombre, la acción correctiva asociada y el estado de conformidad de cada regla.

    • Elija Add rule (Añadir regla) para comenzar la creación de una regla.

    • Elija una regla para ver su configuración o elija una regla y Ver detalles.

    • Consulte el estado de conformidad de la regla cuando se evalúan los recursos.

    • Elija una regla y Editar la regla para cambiar los ajustes de configuración de la regla y establecer una acción correctiva para una regla no conforme.

Visualización de las reglas (AWS SDK)

Los siguientes ejemplos de código muestran cómo utilizar DescribeConfigRules.

CLI
AWS CLI

Obtención de detalles de una regla de configuración de AWS

El siguiente comando devuelve los detalles de una regla de configuración de AWS denominada InstanceTypesAreT2micro:

aws configservice describe-config-rules --config-rule-names InstanceTypesAreT2micro

Salida:

{ "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" } ] }
  • Para obtener información sobre la API, consulte DescribeConfigRules en la Referencia de comandos de la AWS CLI.

PowerShell
Herramientas para PowerShell V4

Ejemplo 1: En este ejemplo, se enumeran las reglas de configuración de la cuenta, con las propiedades seleccionadas.

Get-CFGConfigRule | Select-Object ConfigRuleName, ConfigRuleId, ConfigRuleArn, ConfigRuleState

Salida:

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
  • Para obtener información sobre la API, consulte DescribeConfigRules en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).

Herramientas para PowerShell V5

Ejemplo 1: En este ejemplo, se enumeran las reglas de configuración de la cuenta, con las propiedades seleccionadas.

Get-CFGConfigRule | Select-Object ConfigRuleName, ConfigRuleId, ConfigRuleArn, ConfigRuleState

Salida:

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
  • Para obtener información sobre la API, consulte DescribeConfigRules en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V5).

Python
SDK para Python (Boto3)
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

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
  • Para obtener información sobre la API, consulte DescribeConfigRules en la Referencia de la API de AWS SDK para Python (Boto3).

Los siguientes ejemplos de código muestran cómo utilizar DescribeComplianceByConfigRule.

CLI
AWS CLI

Información sobre el cumplimiento de las reglas de AWS Config

El siguiente comando devuelve la información de conformidad de cada regla de AWS Config infringida por uno o más recursos de AWS:

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

En el resultado, el valor de cada atributo de CappedCount indica cuántos recursos no cumplen con la regla relacionada. Por ejemplo, el siguiente resultado indica que tres recursos no cumplen con la regla denominada InstanceTypesAreT2micro.

Salida:

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

Ejemplo 1: Este ejemplo recupera los detalles de conformidad de la regla ebs-optimized-instance, para la que no hay resultados de evaluación actuales, por lo que devuelve INSUFFICIENT_DATA

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

Salida:

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

Ejemplo 2: Este ejemplo devuelve el número de recursos no conformes para la regla ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK.

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

Salida:

CapExceeded CappedCount ----------- ----------- False 2
  • Para obtener información sobre la API, consulte DescribeComplianceByConfigRule en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).

Herramientas para PowerShell V5

Ejemplo 1: Este ejemplo recupera los detalles de conformidad de la regla ebs-optimized-instance, para la que no hay resultados de evaluación actuales, por lo que devuelve INSUFFICIENT_DATA

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

Salida:

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

Ejemplo 2: Este ejemplo devuelve el número de recursos no conformes para la regla ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK.

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

Salida:

CapExceeded CappedCount ----------- ----------- False 2
  • Para obtener información sobre la API, consulte DescribeComplianceByConfigRule en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V5).

Los siguientes ejemplos de código muestran cómo utilizar GetComplianceSummaryByConfigRule.

CLI
AWS CLI

Resumen de conformidad para las reglas de AWS Config

El comando siguiente devuelve el número de reglas conformes y el de las reglas no conformes:

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

En el resultado, el valor de cada atributo CappedCount indica el número de reglas conformes o no conformes.

Salida:

{ "ComplianceSummary": { "NonCompliantResourceCount": { "CappedCount": 3, "CapExceeded": false }, "ComplianceSummaryTimestamp": 1452204131.493, "CompliantResourceCount": { "CappedCount": 2, "CapExceeded": false } } }
PowerShell
Herramientas para PowerShell V4

Ejemplo 1: Este ejemplo devuelve el número de reglas de Config que no son conformes.

Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount

Salida:

CapExceeded CappedCount ----------- ----------- False 9
Herramientas para PowerShell V5

Ejemplo 1: Este ejemplo devuelve el número de reglas de Config que no son conformes.

Get-CFGComplianceSummaryByConfigRule -Select ComplianceSummary.NonCompliantResourceCount

Salida:

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

Los siguientes ejemplos de código muestran cómo utilizar GetComplianceDetailsByConfigRule.

CLI
AWS CLI

Resultados de la evaluación de una regla de AWS Config

El siguiente comando devuelve los resultados de la evaluación de todos los recursos que no cumplan con una regla de AWS Config denominada InstanceTypesAreT2micro:

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

Salida:

{ "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
Herramientas para PowerShell V4

Ejemplo 1: En este ejemplo, se obtienen los resultados de la evaluación de la regla access-keys-rotated, y se devuelve el resultado agrupado por tipo de conformidad

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

Salida:

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

Ejemplo 2: En este ejemplo, se consultan los detalles de cumplimiento de la regla access-keys-rotated para los recursos COMPLIANT.

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

Salida:

ConfigRuleName ResourceId ResourceType -------------- ---------- ------------ access-keys-rotated BCAB1CDJ2LITAPVEW3JAH AWS::IAM::User access-keys-rotated BCAB1CDJ2LITL3EHREM4Q AWS::IAM::User
Herramientas para PowerShell V5

Ejemplo 1: En este ejemplo, se obtienen los resultados de la evaluación de la regla access-keys-rotated, y se devuelve el resultado agrupado por tipo de conformidad

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

Salida:

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

Ejemplo 2: En este ejemplo, se consultan los detalles de cumplimiento de la regla access-keys-rotated para los recursos COMPLIANT.

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

Salida:

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