Modificação da associação de destino no runtime
Pode haver situações em que você precise adicionar ou remover remetentes de log de um destino que você possua. Você pode usar a ação PutDestinationPolicy em seu destino com uma nova política de acesso. No exemplo a seguir, uma conta 111111111111 recém-adicionada é impedida de enviar mais dados de log e a conta 333333333333 é habilitada.
-
Busque a política que está atualmente associada ao destino testDestination e anote a 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 } ] } -
Atualize a política para refletir que a conta 111111111111 foi interrompida e a conta 333333333333 está habilitada. Coloque esta política no arquivo ~/NewAccessPolicy.json:
-
Use o seguinte comando para associar a política definida no arquivo NewAccessPolicy.json ao destino:
aws logs put-destination-policy \ --destination-name "testFirehoseDestination" \ --access-policy file://~/NewAccessPolicy.jsonPor fim, isso desativa os eventos de log do ID da conta 111111111111. Os eventos de log da ID da conta 333333333333 começarão a fluir para o destino assim que o proprietário da conta 333333333333 criar um filtro de assinatura.