Comment recréer un canal de livraison AWS Config ?

Lecture de 8 minute(s)
0

J'ai supprimé mon canal de livraison AWS Config. Comment le recréer ?

Brève description

Lorsque vous configurez AWS Config à l'aide de la console AWS Config, un processus de configuration vous guide pour configurer les ressources AWS afin d'envoyer des notifications au canal de livraison. La configuration d'AWS Config inclut la configuration d'un compartiment Amazon Simple Storage Service (Amazon S3), d'une rubrique Amazon Simple Notification Service (Amazon SNS), d'un rôle AWS Identity and Access Management (IAM) et des types de ressources à enregistrer.

Si vous supprimez un canal de livraison AWS Config à l'aide de la commande delete-delivery-channel de l'interface de la ligne de commande AWS (AWS CLI), l'enregistreur de configuration se désactive. Toute nouvelle tentative d'activation de l'enregistreur de configuration renvoie le message d'erreur « AWS Config cannot start recording because the delivery channel was not found » (« AWS Config ne peut pas démarrer l'enregistrement, car le canal de livraison est introuvable »).

Remarque : vous ne pouvez pas recréer le canal de livraison à l'aide de la console AWS Config.

Solution

Suivez ces instructions pour recréer manuellement le canal de livraison AWS Config et activer l'enregistreur de configuration.

Remarque : si vous n'avez pas supprimé le compartiment Amazon S3, la rubrique S3 et le rôle IAM associés au canal de livraison AWS Config supprimé, vous pouvez ignorer ces étapes.

Créer le compartiment Amazon S3

1.    Ouvrez la console Amazon S3 dans la même région que votre service AWS Config, puis sélectionnez Create bucket (Créer un compartiment).

2.    Dans Bucket name (Nom du compartiment), saisissez un nom pour le compartiment S3, puis sélectionnez Next (Suivant).

3.    Sélectionnez Next (Suivant), puis à nouveau Next (Suivant), et enfin Create bucket (Créer un compartiment).

4.    Dans S3 buckets (Compartiments S3), sélectionnez le compartiment S3 que vous venez de créer à l'étape 3.

5.    Sélectionnez Permissions (Autorisations), puis Edit (Modifier).

6.    Copiez et collez l'exemple de politique de compartiment suivant, puis sélectionnez Save (Enregistrer).

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "AWSConfigBucketPermissionsCheck",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:GetBucketAcl",
   "Resource": "arn:aws:s3:::targetBucketName",
   "Condition": {
    "StringEquals": {
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  },
  {
   "Sid": "AWSConfigBucketExistenceCheck",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:ListBucket",
   "Resource": "arn:aws:s3:::targetBucketName",
   "Condition": {
    "StringEquals": {
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  },
  {
   "Sid": "AWSConfigBucketDelivery",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:PutObject",
   "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID/Config/*",
   "Condition": {
    "StringEquals": {
     "s3:x-amz-acl": "bucket-owner-full-control",
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  }
 ]
}

Créer la rubrique SNS

1.    Ouvrez la console Amazon SNS dans la même région que votre service AWS Config, puis sélectionnez Topics (Rubriques).

2.    Sélectionnez Créer une rubrique.

3.    Pour Name (Nom), saisissez un nom pour votre rubrique SNS. Sélectionnez ensuite Create topic (Créer une rubrique).

4.    Sélectionnez Create subscription(Créer un abonnement).

5.    Pour Protocol (Protocole), sélectionnez Email.

6.    Pour Endpoint (Point de terminaison), saisissez l'adresse e-mail que vous souhaitez associer à cette rubrique SNS, puis sélectionnez Create subscription (Créer un abonnement).

7.    Vérifiez si vous avez reçu la confirmation d'abonnement dans votre messagerie électronique, puis sélectionnez Confirm subscription (Confirmer l'abonnement).

8.    Vous recevez le message Subscription confirmed! (Abonnement confirmé !)

Remarque : assurez-vous de posséder les autorisations requises pour utiliser votre rubrique SNS.

Créer le rôle IAM

1.    Ouvrez la console IAM.

2.    Cliquez sur Roles (Rôles), puis sur Create Role (Créer un rôle).

3.    Pour Select type of trusted entity (Sélectionner le type d'entité de confiance), sélectionnez AWS service (Service AWS).

4.    Sous Cas d'utilisation pour d'autres services AWS, choisissez Config.

5.    Pour Select your use case (Sélectionner votre cas d'utilisation), sélectionnez Config - Customizable (Config - Personnalisable), puis Next: Permissions (Étape suivante : autorisations).

6.    Sélectionnez Next: Tags (Étape suivante : balises), puis Next: Review (Étape suivante : vérification).

7.    Pour Role name (Nom de rôle), saisissez un nom, puis sélectionnez Create a role (Créer un rôle).

8.    Sélectionnez le rôle que vous avez créé à l'étape 7, puis Add inline policy (Ajouter une politique en ligne) et enfin l'onglet JSON.

9.    Copiez et collez l'exemple de politique suivant :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/*"
      ],
      "Condition": {
        "StringLike": {
          "s3:x-amz-acl": "bucket-owner-full-control"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketAcl"
      ],
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Effect": "Allow",
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:region:account_number:targetTopicName"
    }
  ]
}

Création de la clé KMS

Nous vous recommandons d'utiliser le chiffrement AWS Key Management Service (AWS KMS) sur les objets transmis par AWS Config à un compartiment Amazon S3. Créez une clé KMS dans la même région que votre service AWS Config. Assurez-vous de posséder les autorisations requises pour votre clé KMS.

Si vous décidez de ne pas chiffrer les objets, ignorez ces étapes et passez à la section Créer le canal de livraison.

1.    Ouvrez la console AWS KMS.

2.    Dans le volet de navigation, choisissez Customer managed keys (Clés gérées par le client).

3.    Choisissez Create key (Créer une clé).

4.    Pour Key type (Type de clé), sélectionnez Symmetric (Symétrique) pour créer une clé KMS de chiffrement symétrique. Consultez la section Création de clés KMS asymétriques (console) pour en savoir plus à propos des clés KMS asymétriques.

5.    Pour Key usage (Utilisation de la clé), l'option Encrypt and decrypt (Chiffrer et déchiffrer) est sélectionnée par défaut. Confirmez la sélection, puis cliquez sur Next (Suivant).

6.    Saisissez un alias pour votre clé KMS. Ensuite, sélectionnez Next (Suivant). Remarque : votre nom d'alias ne doit pas commencer par aws/.

7.    Sélectionnez les utilisateurs et les rôles IAM qui peuvent administrer la clé KMS. Ensuite, sélectionnez Next (Suivant).

8.    Sélectionnez les utilisateurs et les rôles IAM qui peuvent utiliser la clé dans le cadre d'opérations cryptographiques. Ensuite, sélectionnez Next (Suivant).

9.    Sélectionnez Finish (Terminer) pour créer la clé KMS.

10.    Dans le volet de navigation, choisissez Customer managed keys (Clés gérées par le client). Ensuite, sélectionnez la clé que vous venez de créer dans la section Customer managed keys (Clés gérées par le client)

11.    Dans l'onglet Key policy(Politique de clé), sélectionnez Switch to policy view (Passer à l'affichage des politiques). Ensuite, sélectionnez Edit (Modifier).

12.    Si vous utilisez un rôle IAM personnalisé pour AWS Config, copiez et collez cette déclaration de politique en tant que déclaration de politique de clé supplémentaire. Sélectionnez ensuite Save Changes (Enregistrer les modifications).

{
  "Statement": [
    {
      "Sid": "AWSConfigKMSPolicy",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Effect": "Allow",
      "Resource": "myKMSKeyARN",
      "Principal": {
        "AWS": [
          "arn:aws:iam:account_id:role/my-config-role-name"
        ]
      }
    }
  ]
}

-ou-

Si vous utilisez des rôles liés au service (SLR) pour AWS Config, utilisez la déclaration de politique suivante pour mettre à jour la politique de clé KMS :

{
  "Statement": [
    {
      "Sid": "AWSConfigKMSPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "config.amazonaws.com"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "myKMSKeyARN",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "sourceAccountID"
        }
      }
    }
  ]
}

Créer le canal de livraison

1.    À l'aide d'un éditeur de texte, copiez et collez l'exemple de modèle suivant, puis enregistrez-le en tant que fichier JSON. Vous pouvez modifier la valeur deliveryFrequency pour qu'elle corresponde à votre cas d'utilisation. Si vous choisissez de ne pas activer le chiffrement, omettez la valeur s3KmsKeyArn du fichier JSON.

Important : si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de la ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente d'AWS CLI.

{
    "name": "default",
    "s3BucketName": "targetBucketName",
    "s3KeyPrefix": "Optionalprefix",
    "snsTopicARN": "arn:aws:sns:region:account_ID:targetTopicName",
    "s3KmsKeyArn": "arn:aws:kms:region:account_ID:KmsKey",
    "configSnapshotDeliveryProperties": {
        "deliveryFrequency": "Twelve_Hours"
    }
}

Remarque : Le préfixe S3KeyPrefix doit être fourni si la politique de compartiment S3 limite PutObject à un certain préfixe, plutôt qu'au préfixe par défaut.

2.    Exécutez la commande de CLI AWS suivante :

$ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

3.    Exécutez la commande de CLI AWS suivante pour confirmer que le canal de livraison a été créé :

$ aws configservice describe-delivery-channels

Démarrer l'enregistreur de configuration

1.    Ouvrez la console AWS Config.

2.    Dans le volet de navigation, sélectionnez Settings (Paramètres).

3.    Dans Recording is off (L'enregistrement est désactivé), sélectionnez Turn on, (Activer), puis Continue (Continuer).

-ou-

Exécutez la commande de CLI AWS suivante :

$ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName

Pour plus d'informations, veuillez consulter les rubriques Gestion de l'enregistreur de configuration et Gestion de vos règles AWS Config.


Informations connexes

Configuration d'AWS Config avec la console

Comment résoudre les messages d'erreur de la console AWS Config ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans