Saltar al contenido

¿Por qué mi regla de AWS Config no funciona?

4 minutos de lectura
0

Mi regla de AWS Config no funciona y quiero solucionar el problema.

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Es posible que la regla de AWS Config que administraste no funcione debido a problemas de permisos, alcance de recursos o elementos de cambio de configuración. Usa la siguiente solución de problemas para resolver estos problemas.

Revisa tu grabador de configuración

Compruebe que el grabador de configuración registre todos los tipos de recursos que requiere la regla (por ejemplo,** AWS::EC2::Instance**).

Actualización de la opción de cumplimiento de la regla

En la consola de AWS Config, la opción Conformidad de tu regla puede mostrar Sin resultados publicados o No hay recursos en el ámbito. Para obtener los resultados de la evaluación, es posible que debas actualizar la regla, cambiar su alcance o agregar recursos. Para obtener información sobre cómo resolver este problema, consulta Adding rules (console) (Agregar reglas [consola]).

Revisión de evaluaciones

Si AWS Config no informa de un tiempo de evaluación y muestra Error en las evaluaciones, revisa la llamada a la API PutEvaluations en los registros de AWS CloudTrail para ver si hay errores.

Revisión del historial de eventos

En CloudTrail, puedes revisar tu historial de eventos para ver los eventos de AWS Config. Filtra el origen del evento para config.amazonaws.com y busca errores de tipo «Access denied» en los resultados del registro filtrados. A continuación, revisa los errores para obtener más información sobre el problema.

También puedes revisar el historial de eventos para ver los desencadenantes de las evaluaciones periódicas. Para resolver estos problemas, asegúrate de que el recurso pueda acceder a las API de servicio correspondientes.

Revisión de la configuración

Revisa los plazos de configuración y cumplimiento de los recursos. Asegúrate de que el elemento de configuración de u recurso refleje correctamente los cambios en las reglas de AWS Config con un desencadenador basado en los cambios de configuración.

Actualizción de los permisos del rol de grabador

Asegúreate de que el rol de grabador tenga los permisos correctos de AWS Identity and Access Management (IAM). Estos permisos utilizan la API PutEvaluations para describir la configuración de los recursos y el cumplimiento de la publicación.

Revisión del estado de evaluación de las reglas

Para ver el estado de la regla, ejecuta el siguiente comando describe-config-rule-evaluation-status y revisa el valor LastErrorMessage:

aws configservice describe-config-rule-evaluation-status --config-rule-names ConfigRuleName --region RegionID

Nota: Sustituye ConfigRuleName por el nombre de tu regla de AWS Config y RegionID por tu región de AWS.

Solución de problemas con las reglas personalizadas de AWS Config

Para las reglas personalizadas de AWS Config, AWS Config debe tener los permisos correctos para invocar la función de AWS Lambda. Si no tienes los permisos correctos, aparece el siguiente mensaje de error:

«Unable to execute lambda function»

A continuación se muestra un ejemplo de política de recursos de la función de Lambda:

{
    "Version": "2012-10-17",
    "Id": "default",
    "Statement": [
        {
            "Sid": "allow_config",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "lambda-function-arn",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "AWS-accountID"
                }
            }
        }
    ]
}

Para obtener más información sobre el error, revisa los eventos PutEvaluations de tus registros que tengan un valor de nombre de usuario que coincida con el nombre de la función de Lambda. A continuación, revisa errorMessage para obtener más información.

Si no autorizaste al rol de servicio de la función de Lambda para que ejecutara config:PutEvaluations, ejecuta el siguiente comando add-permission:

aws lambda add-permission --function-name function_name --region RegionID --statement-id allow_config --action lambda:InvokeFunction --principal config.amazonaws.com --source-account AWS-accountID

Nota: Sustituye function_name por el nombre de tu función de Lambda, RegionID por tu región de AWS y AWS-AccountID por tu ID de cuenta de AWS.

Si los permisos del rol son correctos, revisa el código de la función de Lambda para ver las excepciones generadas. Para obtener más información, revisa los registros del grupo de registros de Amazon CloudWatch /aws/lambda/FunctionName asociado a la función de Lambda.

Nota: Para generar más registros de depuración, añade una instrucción de impresión al código Lambda.

Información relacionada

¿Por qué no puedo crear o eliminar reglas de configuración para AWS Organizations en AWS Config?

OFICIAL DE AWSActualizada hace un año