런타임 시 대상 멤버십 수정 - Amazon CloudWatch Logs

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

런타임 시 대상 멤버십 수정

소유한 대상에서 로그 발신자를 추가 또는 제거해야 하는 상황에 직면할 수 있습니다. 새 액세스 정책에서는 대상에 대해 PutDestinationPolicyPutAccountPolicy 작업을 사용할 수 있습니다. 다음 예제에서는 이전에 추가한 계정인 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","logs:PutAccountPolicy"], "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에서 로그 이벤트가 비활성화됩니다. 계정 ID 333333333333에서 나온 로그 이벤트는 계정 333333333333의 소유자가 구독 필터를 생성하고 나면 그 즉시 대상으로 이동하기 시작합니다.