在运行时修改目标成员资格 - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在运行时修改目标成员资格

您可能会遇到必须在您拥有的目标中添加或删除日志发送者的情况。您可通过新访问策略对您的目标使用 PutDestinationPolicy 操作。在以下示例中,将阻止之前添加的账户 111111111111 再发送任何日志数据,并将启用账户 333333333333

  1. 提取当前与目标 testDestination 关联的策略并记下 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. 更新该策略,以体现已阻止账户 111111111111,并且账户 333333333333 已启用。将此策略放入 ~/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. 使用以下命令,将 NewAccessPolicy.json 文件中定义的策略与目标关联:

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

    这样就会最终禁用账户 ID 111111111111 中的日志事件。在账户 333333333333 的所有者创建订阅筛选条件后,账户 ID 333333333333 中的日志事件就会立即开始流向目标。