Reglas y corrección de AWS Config
Implemente reglas administradas y personalizadas de Config para detectar recursos que no cumplen las normas y utilice documentos de automatización de SSM para corregirlos automáticamente
Reglas y corrección de AWS Config es una lección gratuita de AWS Solutions Architect en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AWS Solutions Architect, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AWS Solutions Architect incluye 4 lecciones en total.
¿Qué es AWS Config?
AWS Config es un servicio de auditoría continua de configuraciones que registra a lo largo del tiempo el estado de configuración de sus recursos de AWS y evalúa esas configuraciones según las reglas deseadas. A diferencia de CloudTrail (que registra quién hizo qué), AWS Config responde a ¿cómo es este recurso ahora mismo? y ¿cómo era en cualquier momento del pasado?. También responde a la pregunta ¿cumple esta configuración mi política?, lo que lo convierte en el servicio de referencia para la gobernanza y el cumplimiento.
Elementos de configuración e historial de configuración
Cuando AWS Config registra un recurso, crea un elemento de configuración (CI): una instantánea de los atributos, las relaciones y los metadatos del recurso en un momento determinado. Cada vez que cambia un recurso, se registra un nuevo CI. AWS Config mantiene un historial de configuración completo de cada recurso, lo que le permite ver cómo evolucionó un grupo de seguridad durante meses y exactamente cuándo se añadió o eliminó una regla. Los CI se entregan a un bucket de S3 y, opcionalmente, a CloudWatch Events.
# Get the full configuration history for an EC2 security group
aws configservice get-resource-config-history \
--resource-type AWS::EC2::SecurityGroup \
--resource-id sg-0abc1234def567890 \
--limit 10 \
--query 'configurationItems[].{Time:configurationItemCaptureTime,Status:configurationItemStatus}'Habilitación de AWS Config
Para empezar a utilizar AWS Config, debe crear un registrador de configuración (especificando qué tipos de recursos se registrarán) y un canal de entrega (especificando un bucket de S3 y, opcionalmente, un tema de SNS para las notificaciones de cambios). Puede registrar todos los tipos de recursos compatibles o un subconjunto específico. Un agregador de configuración permite consolidar los datos de Config de varias cuentas y regiones en una sola vista para elaborar informes de cumplimiento de toda la organización.
# Enable AWS Config recording for all resource types
aws configservice put-configuration-recorder \
--configuration-recorder \
name=default,roleARN=arn:aws:iam::111122223333:role/AWSConfigRole \
--recording-group allSupported=true,includeGlobalResourceTypes=true
# Set up delivery channel
aws configservice put-delivery-channel \
--delivery-channel \
name=default,s3BucketName=my-config-bucket-111122223333,snsTopicARN=arn:aws:sns:us-east-1:111122223333:ConfigChanges
aws configservice start-configuration-recorder --configuration-recorder-name defaultReglas de AWS Config: reglas administradas
Las reglas de Config definen el estado de configuración deseado para sus recursos. Las reglas administradas de AWS Config son reglas prediseñadas proporcionadas por AWS que cubren comprobaciones de cumplimiento habituales; por ejemplo, s3-bucket-public-read-prohibited comprueba que los buckets de S3 no sean legibles públicamente, ec2-instance-no-public-ip comprueba que las instancias de EC2 no tengan direcciones IP públicas y iam-password-policy verifica que la política de contraseñas de su cuenta cumpla los requisitos de complejidad. Hay más de 300 reglas administradas disponibles.
# Add the managed rule to check S3 buckets are not publicly readable
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"Source": {
"Owner": "AWS",
"SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
},
"Scope": {
"ComplianceResourceTypes": ["AWS::S3::Bucket"]
}
}'
# View compliance status of all rules
aws configservice describe-compliance-by-config-rule \
--query 'ComplianceByConfigRules[].{Rule:ConfigRuleName,Compliance:Compliance.ComplianceType}'Reglas personalizadas de Config con Lambda
Cuando ninguna regla administrada de AWS cubre su requisito, puede escribir una regla personalizada de Config mediante una función de AWS Lambda. Lambda recibe los elementos de configuración como cargas de eventos y debe devolver un veredicto COMPLIANT o NON_COMPLIANT. Las reglas personalizadas pueden imponer convenciones de nomenclatura específicas de la organización, etiquetas obligatorias, ID de AMI aprobados o cualquier lógica que requiera su equipo de cumplimiento. Las reglas pueden evaluarse al producirse un cambio (cuando cambia el recurso), periódicamente (cada 1/3/6/12/24 horas) o de ambas formas.
# Register a custom Lambda-backed Config rule
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "required-tags-enforcer",
"Source": {
"Owner": "CUSTOM_LAMBDA",
"SourceIdentifier": "arn:aws:lambda:us-east-1:111122223333:function:RequiredTagsChecker",
"SourceDetails": [{
"EventSource": "aws.config",
"MessageType": "ConfigurationItemChangeNotification"
}]
},
"Scope": {
"ComplianceResourceTypes": ["AWS::EC2::Instance","AWS::S3::Bucket"]
}
}'Reglas proactivas con CloudFormation Guard
Config también admite reglas proactivas mediante AWS CloudFormation Guard, un lenguaje de políticas como código. Las reglas proactivas evalúan los recursos antes de que se creen mediante CloudFormation, AWS CDK o Terraform Cloud, y detectan las configuraciones que no cumplen los requisitos en el momento de la implementación, en lugar de hacerlo después de que existan en producción. Esto desplaza el cumplimiento hacia fases más tempranas de la canalización de infraestructura. La evaluación proactiva es una función más reciente que el examen SAA-C03 puede mencionar en situaciones de gobernanza con enfoque shift-left.
Corrección automatizada con SSM
Las reglas de Config pueden combinarse con acciones de corrección automática para reparar los recursos que no cumplen los requisitos sin intervención humana. Las acciones de corrección son documentos de automatización de AWS Systems Manager (SSM). Por ejemplo, si un bucket de S3 deja de cumplir los requisitos porque alguien habilita el acceso público, Config puede ejecutar automáticamente el documento de SSM AWS-DisableS3BucketPublicReadWrite para volver a habilitar el bloqueo del acceso público del bucket. La corrección puede ser automática (inmediata) o manual (activada bajo demanda).
# Add automatic remediation to a Config rule
aws configservice put-remediation-configurations \
--remediation-configurations '[
{
"ConfigRuleName": "s3-bucket-public-read-prohibited",
"TargetType": "SSM_DOCUMENT",
"TargetId": "AWS-DisableS3BucketPublicReadWrite",
"Parameters": {
"S3BucketName": {"ResourceValue": {"Value": "RESOURCE_ID"}},
"AutomationAssumeRole": {"StaticValue": {"Values": ["arn:aws:iam::111122223333:role/ConfigRemediationRole"]}}
},
"Automatic": true,
"MaximumAutomaticAttempts": 3,
"RetryAttemptSeconds": 60
}
]'Línea de tiempo de configuración y relaciones entre recursos
La línea de tiempo del recurso de AWS Config en la consola muestra cada cambio de configuración de un recurso en forma de línea de tiempo; puede retroceder hasta cualquier momento y ver exactamente cómo era el recurso, incluidas sus relaciones con otros recursos (por ejemplo, qué grupos de seguridad estaban asociados y qué rol de IAM estaba vinculado). Al hacer clic en una relación, se accede a la línea de tiempo del recurso relacionado. Esto hace que Config sea invaluable para el análisis de causa raíz: puede determinar exactamente qué cambio provocó la interrupción en producción.
# Get current compliance status for all EC2 instances
aws configservice get-compliance-details-by-resource \
--resource-type AWS::EC2::Instance \
--resource-id i-0123456789abcdef0 \
--query 'EvaluationResults[].{Rule:EvaluationResultIdentifier.EvaluationResultQualifier.ConfigRuleName,Compliance:ComplianceType}'Agregación de Config entre cuentas
Un agregador de configuración recopila datos de Config de varias cuentas y Regiones de AWS en una sola cuenta para generar informes de cumplimiento centralizados. En una AWS Organization, puede crear un agregador en la cuenta de administración que incluya automáticamente todas las cuentas miembro sin requerir autorización individual. Los agregadores admiten consultas mediante Advanced Queries, una interfaz similar a SQL que permite encontrar en cuestión de segundos todos los recursos que no cumplen las normas en toda la organización.
# Query all non-compliant resources across an organisation using Advanced Query
aws configservice select-aggregate-resource-config \
--configuration-aggregator-name OrgAggregator \
--expression "SELECT resourceId, resourceType, accountId, awsRegion
WHERE complianceType = 'NON_COMPLIANT'
AND resourceType = 'AWS::S3::Bucket'"
--query 'Results'Corrección a escala
Cuando tiene miles de recursos que no cumplen las normas, las excepciones de corrección de Config le permiten eximir recursos específicos durante un periodo definido y con un motivo documentado, lo que evita corregir falsos positivos en casos límite legítimos. Para la limpieza a gran escala, puede activar manualmente la corrección masiva desde la consola o utilizar asociaciones de Systems Manager State Manager para aplicar las configuraciones deseadas a flotas de instancias EC2 según una programación, combinando la detección de Config con la aplicación de SSM.
# Add a remediation exception for a specific resource
aws configservice put-remediation-exceptions \
--config-rule-name s3-bucket-public-read-prohibited \
--resource-keys ResourceType=AWS::S3::Bucket,ResourceId=my-public-website-bucket \
--message 'Static website hosting requires public access' \
--expiration-time 2025-01-01T00:00:00ZComparación entre AWS Config y CloudTrail
Una pregunta habitual del examen SAA-C03 consiste en distinguir Config de CloudTrail. CloudTrail responde a las preguntas: quién hizo qué, cuándo y desde dónde (registro de auditoría de llamadas a la API). AWS Config responde a estas otras: ¿cómo es el recurso ahora y cómo ha sido a lo largo del tiempo? (historial del estado de configuración y cumplimiento). Son servicios complementarios: CloudTrail le indica que alguien llamó a ModifySecurityGroup a las 15:00, mientras que Config muestra el estado del grupo de seguridad antes y después. Utilice ambos conjuntamente para una gobernanza de seguridad completa.
Comprobación rápida
Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Repaso de la lección
En esta lección ha aprendido que AWS Config registra el estado de la configuración a lo largo del tiempo y evalúa los recursos según las reglas de cumplimiento; las reglas administradas y personalizadas comprueban cientos de atributos de recursos mediante evaluaciones automáticas o bajo demanda; y la corrección mediante SSM Automation puede reparar automáticamente los recursos que no cumplen las normas sin intervención humana. A continuación, exploraremos Conformance Packs y Organisation Trails para la gobernanza a escala empresarial.
Preguntas frecuentes
¿La lección «Reglas y corrección de AWS Config» es gratis?
Sí — el texto completo de «Reglas y corrección de AWS Config» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AWS Solutions Architect, actualiza a CoddyKit PRO. El curso de AWS Solutions Architect incluye 4 lecciones en total.
¿Qué aprenderé en «Reglas y corrección de AWS Config»?
Implemente reglas administradas y personalizadas de Config para detectar recursos que no cumplen las normas y utilice documentos de automatización de SSM para corregirlos automáticamente Practicas AWS Solutions Architect con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AWS Solutions Architect?
No se requiere experiencia previa. AWS Solutions Architect en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Reglas y corrección de AWS Config»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AWS Solutions Architect?
Sí. Cada lección de AWS Solutions Architect incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Trails e historial de eventos de CloudTrail
- CloudTrail Insights e integridad de archivos de log
- Reglas y corrección de AWS Config
- Conformance Packs y trails de la organización