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

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

런타임 시 대상 멤버십 수정

소유한 대상에서 몇몇 사용자의 멤버십을 추가 또는 제거해야 하는 상황에 직면할 수 있습니다. 새 액세스 정책과 함께 대상에 put-destination-policy 명령을 사용할 수 있습니다. 다음 예제에서는 이전에 추가한 계정인 111111111111이 추가적인 로그 데이터 전송을 중단하고 계정 222222222222가 활성화됩니다.

  1. 대상 testDestination에 현재 연결된 정책을 가져와서 AccessPolicy를 적어둡니다.

    aws logs describe-destinations \ --destination-name-prefix "testDestination" { "Destinations": [ { "DestinationName": "testDestination", "RoleArn": "arn:aws:iam::999999999999:role/CWLtoKinesisRole", "DestinationArn": "arn:aws:logs:region:999999999999:destination:testDestination", "TargetArn": "arn:aws:kinesis:region:999999999999:stream/RecipientStream", "AccessPolicy": "{\"Version\": \"2012-10-17\", \"Statement\": [{\"Sid\": \"\", \"Effect\": \"Allow\", \"Principal\": {\"AWS\": \"111111111111\"}, \"Action\": \"logs:PutSubscriptionFilter\", \"Resource\": \"arn:aws:logs:region:999999999999:destination:testDestination\"}] }" } ] }
  2. 계정 111111111111이 중단되고 계정 222222222222가 활성화되었음을 반영하도록 이 정책을 업데이트합니다. ~/NewAccessPolicy.json 파일에 이 정책을 저장합니다.

    { "Version" : "2012-10-17", "Statement" : [ { "Sid" : "", "Effect" : "Allow", "Principal" : { "AWS" : "222222222222" }, "Action" : ["logs:PutSubscriptionFilter","logs:PutAccountPolicy"], "Resource" : "arn:aws:logs:region:999999999999:destination:testDestination" } ] }
  3. PutDestinationPolicy를 호출하여 NewAccessPolicy.json 파일에 정의된 정책을 대상에 연결합니다.

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

    이렇게 하면 계정 ID 111111111111에서 로그 이벤트가 비활성화됩니다. 계정 ID 222222222222에서 나온 로그 이벤트는 계정 222222222222 의 소유자가 구독 필터를 생성하고 나면 그 즉시 대상으로 이동하기 시작합니다.