Administración de los recursos eliminados para reglas de Lambda personalizadas de AWS Config - AWS Config

Administración de los recursos eliminados para reglas de Lambda personalizadas de AWS Config

Las reglas que informen sobre los recursos eliminados deben devolver el resultado de la evaluación de NOT_APPLICABLE para evitar evaluaciones innecesarias de las reglas.

Al eliminar un recurso, AWS Config crea un configurationItem con ResourceDeleted para el configurationItemStatus. Puede utilizar estos metadatos para comprobar si una regla informa sobre un recurso eliminado. Para obtener más información sobre los elementos de configuración, consulte Conceptos | Elementos de configuración.

Incluye los siguientes fragmentos de código para comprobar si hay recursos eliminados y establece el resultado de la evaluación de una regla de Lambda personalizada de AWS Config en NOT_APPLICABLE si informa sobre un recurso eliminado:

Custom Lambda Rules (Node.js)
// Check whether the resource has been deleted. If the resource was deleted, then the evaluation returns not applicable. function isApplicable(configurationItem, event) { checkDefined(configurationItem, 'configurationItem'); checkDefined(event, 'event'); const status = configurationItem.configurationItemStatus; const eventLeftScope = event.eventLeftScope; return (status === 'OK' || status === 'ResourceDiscovered') && eventLeftScope === false; }
Custom Lambda Rules (Python)
# Check whether the resource has been deleted. If the resource was deleted, then the evaluation returns not applicable. def is_applicable(configurationItem, event): try: check_defined(configurationItem, 'configurationItem') check_defined(event, 'event') except: return True status = configurationItem['configurationItemStatus'] eventLeftScope = event['eventLeftScope'] if status == 'ResourceDeleted': print("Resource Deleted, setting Compliance Status to NOT_APPLICABLE.") return (status == 'OK' or status == 'ResourceDiscovered') and not eventLeftScope
nota

Las reglas de AWS Config administradas y las reglas de políticas personalizadas de AWS Config controlan este comportamiento de forma predeterminada.

Si crea una regla de Lambda personalizada de AWS Config con Python mediante el kit de desarrollo de AWS Config (RDK) y la biblioteca del kit de desarrollo de AWS Config (RDKLib), la clase Evaluator importada comprobará este comportamiento. Para obtener información sobre cómo escribir reglas con el RDK y la RDKLib, consulte Writing rules with the RDK and RDKlib.