Modificación de la suscripción al destino en tiempo de ejecución
Puede encontrar situaciones en las que tenga que agregar o eliminar remitentes de registros de un destino de su propiedad. Puede utilizar la acción PutDestinationPolicy en su destino con la nueva política de acceso. En el siguiente ejemplo, una cuenta 111111111111 agregada anteriormente deja de enviar datos de registro y se habilita la cuenta 333333333333.
-
Obtenga la política que está asociada actualmente al destino testDestination y anote la 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 } ] } -
Actualice la política para reflejar que la cuenta 111111111111 está detenida y que la cuenta 333333333333 está habilitada. Incluya esta política en el archivo ~/NewAccessPolicy.json:
-
Utilice el siguiente comando para asociar la política definida en el archivo NewAccessPolicy.json con el destino:
aws logs put-destination-policy \ --destination-name "testFirehoseDestination" \ --access-policy file://~/NewAccessPolicy.jsonEsto finalmente deshabilita los eventos de registro del ID de cuenta 111111111111. Los eventos de registro del ID de cuenta 333333333333 empiezan a fluir al destino en cuanto el propietario de la cuenta 333333333333 crea un filtro de suscripción.