Étape 1 : Mettre à jour les filtres d'abonnement - Amazon CloudWatch Logs

Étape 1 : Mettre à jour les filtres d'abonnement

Vous devez mettre à jour les filtres d'abonnement dans tous les comptes de l'expéditeur qui envoient des journaux au compte de destination. La mise à jour ajoute un rôle IAM, que CloudWatch peut remplir et vérifier que le compte de l'expéditeur est autorisé à envoyer des journaux au compte du destinataire.

Suivez les étapes de cette section pour chaque compte de l’expéditeur que vous souhaitez mettre à jour afin d'utiliser l'ID d'organisation pour les autorisations de l'abonnement entre comptes.

Dans les exemples présentés dans cette section, deux comptes, 111111111111 et 222222222222 disposent déjà de filtres d'abonnement pour envoyer des journaux au compte 999999999999. Les valeurs de filtre d'abonnement existantes sont les suivantes :

## Existing Subscription Filter parameter values \ --log-group-name "my-log-group-name" \ --filter-name "RecipientStream" \ --filter-pattern "{$.userIdentity.type = Root}" \ --destination-arn "arn:aws:logs:region:999999999999:destination:testDestination"

Si vous devez rechercher les valeurs actuelles des paramètres de filtre d'abonnement, saisissez la commande suivante.

aws logs describe-subscription-filters \ --log-group-name "my-log-group-name"

Pour mettre à jour un filtre d'abonnement afin de commencer à utiliser les ID d'organisations pour les autorisations du journal entre comptes

  1. Créez la politique d'approbation suivante dans un fichier /TrustPolicyForCWLSubscriptionFilter.json. Utilisez un éditeur de texte pour créer ce fichier de politique, n'utilisez pas la console IAM.

    { "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  2. Créez le rôle IAM qui utilise cette politique. Notez la valeur Arn de la valeur Arn qui est renvoyée par la commande, vous en aurez besoin ultérieurement dans cette procédure. Dans cet exemple, nous utilisons CWLtoSubscriptionFilterRole pour connaître le nom du rôle que nous créons.

    aws iam create-role \ --role-name CWLtoSubscriptionFilterRole \ --assume-role-policy-document file://~/TrustPolicyForCWL.json
  3. Créez une politique d'autorisations pour définir les actions effectuées par CloudWatch Logs sur votre compte.

    1. Utilisez d’abord un éditeur de texte pour créer la politique d'autorisations dans un fichier nommé /PermissionsForCWLSubscriptionFilter.json.

      { "Statement": [ { "Effect": "Allow", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:region:111111111111:log-group:LogGroupOnWhichSubscriptionFilterIsCreated:*" } ] }
    2. Saisissez la commande suivante pour associer la politique d'autorisations que vous venez de créer au rôle que vous avez créé à l'étape 2.

      aws iam put-role-policy \ --role-name CWLtoSubscriptionFilterRole \ --policy-name Permissions-Policy-For-CWL-Subscription-filter \ --policy-document file://~/PermissionsForCWLSubscriptionFilter.json
  4. Saisissez la commande suivante pour mettre à jour le filtre d'abonnement.

    aws logs put-subscription-filter \ --log-group-name "my-log-group-name" \ --filter-name "RecipientStream" \ --filter-pattern "{$.userIdentity.type = Root}" \ --destination-arn "arn:aws:logs:region:999999999999:destination:testDestination" \ --role-arn "arn:aws:iam::111111111111:role/CWLtoSubscriptionFilterRole"