Comment puis-je être prévenu lorsque mes certificats importés ACM sont sur le point d'expirer ?

Dernière mise à jour : 19/07/2022

J'ai importé un certificat AWS Certificate Manager (ACM). Je souhaite réimporter le certificat avant qu'il expire. Comment puis-je être prévenu avant l'expiration de mon certificat importé ?

Brève description

ACM ne fournit pas de renouvellement géré pour les certificats importés. Pour renouveler un certificat importé, demandez tout d'abord un nouveau certificat auprès de l'émetteur de votre certificat. Ensuite, réimportez manuellement le certificat dans ACM.

Solution

Vous pouvez utiliser AWS Config pour vérifier si des certificats sont sur le point d’expirer. Vous pouvez également utiliser Amazon EventBridge pour recevoir des notifications par e-mail lorsque la date d'expiration des certificats approche.

Remarque :

  • L'activation d'AWS Config entraîne un coût supplémentaire en fonction de l'utilisation. Pour plus d'informations, consultez la section Tarification AWS Config.
  • Assurez-vous que la rubrique Amazon Simple Notification Service (Amazon SNS) et la règle Amazon EventBridge sont créées avant la configuration de la règle AWS Config. Cette action permet de garantir que tous les certificats non conformes déclenchent une notification avant la date d'expiration.

Créer une règle EventBridge

Utilisez un modèle d'événement personnalisé avec une règle EventBridge pour correspondre à la règle gérée par AWS Config acm-certificate-expiration-check. Dirigez ensuite la réponse vers une rubrique Amazon Simple Notification Service

1.    Si vous n'avez pas déjà créé de rubrique Amazon SNS, suivez les instructions de mise en route d'Amazon SNS.

Remarque : la rubrique Amazon SNS doit se trouver dans la même région que votre service AWS Config.

2.    Ouvrez la console EventBridge, puis choisissez Rules (Règles).

3.    Choisissez Créer une règle.

4.    Pour Name (Nom), saisissez le nom de la règle.

5.    Dans Rule type (Type de règle), sélectionnez Rule with an event pattern (Règle avec un modèle d'événement), puis Next (Suivant).

6.    Dans Event source (Source d'événement), choisissez AWS events or EventBridge partner events (Événements AWS ou événements partenaires EventBridge).

7.    Dans Event pattern (Modèle d'événement), choisissez Custom patterns (JSON editor) (Modèles personnalisés (éditeur JSON)).

8.    Dans le volet d'aperçu Event pattern (Modèle d'événement), copiez et collez le modèle d'événement suivant :

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Rules Compliance Change"
  ],
  "detail": {
    "messageType": [
      "ComplianceChangeNotification"
    ],
    "configRuleName": [
      "acm-certificate-expiration-check"
    ],
    "resourceType": [
      "AWS::ACM::Certificate"
    ],
    "newEvaluationResult": {
      "complianceType": [
        "NON_COMPLIANT"
      ]
    }
  }
}

8.    Sélectionnez Suivant.

9.    Pour Select a target (Sélectionner une cible), choisissez SNS topic (Rubrique SNS).

10.    Pour Topic (Rubrique), choisissez votre rubrique SNS.

11.    Dans la liste déroulante Configure target input (Configurer l'entrée cible), sélectionnez Input transformer (Convertisseur d'entrées).

12.    Choisissez Configure input transformer (Configurer le Convertisseur d'entrées).

13.    Dans la zone de texte Input path (Chemin d'entrée), copiez et collez le chemin suivant :

{
  "awsRegion": "$.detail.awsRegion",
  "resourceId": "$.detail.resourceId",
  "awsAccountId": "$.detail.awsAccountId",
  "compliance": "$.detail.newEvaluationResult.complianceType",
  "rule": "$.detail.configRuleName",
  "time": "$.detail.newEvaluationResult.resultRecordedTime",
  "resourceType": "$.detail.resourceType"
}

14.    Copiez et collez le modèle suivant dans la zone de texte  Input Template (Modèle d'entrée) :

"On <time> AWS Config rule <rule> evaluated the <resourceType> with Id <resourceId> in the account <awsAccountId> region <awsRegion> as <compliance>."

"For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resourceType>/<resourceId>/configuration."

15.    Choisissez Confirm (Confirmer), Next (Suivant), Next,Create rule (Créer une règle).

16.    Si un type d'événement est déclenché, vous recevez une notification par e-mail SNS avec les champs personnalisés renseignés de l'étape 14, comme suit :

"On ExampleTime AWS Config rule ExampleRuleName evaluated the ExampleResourceType with Id ExampleResource_ID in the account ExampleAccount_Id in Region ExampleRegion as ExamplecomplianceType. 

For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=ExampleRegion#/timeline/ExampleResourceType/ExampleResource_ID/configuration"

Créer une règle AWS Config

1.    Ouvrez la console AWS Config, choisissez Rules (Règles), puis Add rule (Créer une règle).

2.    Dans Select rule type (Sélectionner le type de règle), choisissez Add AWS managed rule (Ajouter une règle gérée par AWS).

3.    Dans AWS Managed Rules (Règles gérées par AWS), choisissez acm-certificate-expiration-check, puis Next (Suivant).

4.    Dans Parameters (Paramètres), pour la clé daysToExpiration, dans Value (Valeur), saisissez le nombre de jours pendant lesquels vous souhaitez que la règle soit déclenchée avant l'expiration.

5.    Choisissez Next (Suivant), puis Add rule (Ajouter une règle).

La règle AWS Config acm-certificate-expiration-check est marquée comme Noncompliant (Non conforme) pour les certificats dont la date d'expiration approche du nombre de jours saisi à l'étape 4.