Gestion des ressources supprimées pour les règles Lambda AWS Config personnalisées - AWS Config

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des ressources supprimées pour les règles Lambda AWS Config personnalisées

Les règles signalant les ressources supprimées doivent renvoyer le résultat de l'évaluation NOT_APPLICABLE afin d'éviter des évaluations de règles inutiles.

Lorsque vous supprimez une ressource, AWS Config crée un configurationItem avec ResourceDeleted pourconfigurationItemStatus. Vous pouvez utiliser ces métadonnées pour vérifier si une règle signale une ressource supprimée. Pour plus d'informations sur les éléments de configuration, consultez Concepts | Éléments de configuration.

Incluez les extraits de code suivants pour vérifier les ressources supprimées et définissez le résultat de l'évaluation d'une règle Lambda AWS Config personnalisée sur le fait qu'elle indique une ressource supprimée : NOT_APPLICABLE

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
Note

AWS Config les règles gérées et les règles de politique AWS Config personnalisées gèrent ce comportement par défaut.

Si vous créez une règle lambd AWS Config personnalisée avec Python à l'aide du kit de AWS Config développement (RDK) et de la bibliothèque AWS Config du kit de développement (RDKlib), la classe Evaluator importée vérifiera ce comportement. Pour en savoir plus sur l'écriture des règles avec le RDK et le RDKLib, consultez Écriture de règles avec le RDK et le RDKLib.