Visualización de detalles e información de conformidad en las reglas de AWS Config
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.
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
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.
-
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.
-
En el panel de navegación izquierdo, seleccione Rules (Reglas).
-
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"
}
]
}
- 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
- 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
- Python
-
- SDK para Python (Boto3)
-
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
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
- 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
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