Modification de l'abonnement à la destination au moment de l'exécution - Amazon CloudWatch Logs

Modification de l'abonnement à la destination au moment de l'exécution

Vous pouvez rencontrer des situations où vous devez ajouter ou supprimer des expéditeurs de journaux d'une destination qui vous appartient. Vous pouvez utiliser l'action PutDestinationPolicy sur votre destination avec la nouvelle stratégie d'accès. Dans l'exemple suivant, un compte précédemment ajouté 111111111111 est écarté de l'envoi de données du journal supplémentaires, et le compte 333333333333 est activé.

  1. Recherchez la stratégie qui est actuellement associée à la destination testDestination et notez le paramètre AccessPolicy :

    aws logs describe-destinations \ --destination-name-prefix "testFirehoseDestination" { "destinations": [ { "destinationName": "testFirehoseDestination", "targetArn": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream", "roleArn": "arn:aws:iam:: 222222222222:role/CWLtoKinesisFirehoseRole", "accessPolicy": "{\n \"Version\" : \"2012-10-17\",\n \"Statement\" : [\n {\n \"Sid\" : \"\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"111111111111 \"\n },\n \"Action\" : \"logs:PutSubscriptionFilter\",\n \"Resource\" : \"arn:aws:logs:us-east-1:222222222222:destination:testFirehoseDestination\"\n }\n ]\n}\n\n", "arn": "arn:aws:logs:us-east-1: 222222222222:destination:testFirehoseDestination", "creationTime": 1612256124430 } ] }
  2. Mettez à jour la politique de façon à refléter l'arrêt du compte 111111111111 et l'activation du compte 333333333333. Placez cette stratégie dans le fichier ~/NewAccessPolicy.json :

    { "Version" : "2012-10-17", "Statement" : [ { "Sid" : "", "Effect" : "Allow", "Principal" : { "AWS" : "333333333333 " }, "Action" : "logs:PutSubscriptionFilter", "Resource" : "arn:aws:logs:us-east-1:222222222222:destination:testFirehoseDestination" } ] }
  3. Utilisez la commande suivante pour associer la politique définie dans le fichier NewAccessPolicy.json à la destination :

    aws logs put-destination-policy \ --destination-name "testFirehoseDestination" \ --access-policy file://~/NewAccessPolicy.json

    Cela désactive éventuellement les événements du journal à partir de l'ID de compte 111111111111. Les événements du journal de l'ID de compte 333333333333 commencent à passer à la destination dès que le propriétaire du compte 333333333333 crée un filtre d'abonnement.