기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
1단계: 구독 필터 업데이트
참고
이 단계는 AWS 서비스에서 로깅 활성화에 나열된 서비스에서 생성된 로그에 대한 교차 계정 구독에만 필요합니다. 해당 로그 그룹 중 하나에서 생성된 로그로 작업하지 않는 경우 2단계: 기존 대상 액세스 정책 업데이트 섹션으로 건너뛸 수 있습니다.
경우에 따라 대상 계정으로 로그를 보내는 모든 발신자 계정의 구독 필터를 업데이트해야 합니다. 업데이트에는 IAM 역할이 추가됩니다. IAM 역할은 CloudWatch에서 발신자 계정이 수신자 계정에 로그를 보낼 수 있는 권한이 있는지를 수임하고 검증할 수 있습니다.
교차 계정 구독 권한에 대해 조직 ID를 사용하도록 업데이트하려는 모든 발신자 계정에 대해서는 이 섹션의 단계를 따릅니다.
이 섹션의 예제에서 두 개의 111111111111
계정 및 222222222222
계정은 999999999999
계정에 로그를 전송하기 위해 생성된 구독 필터를 이미 가지고 있습니다. 기존 구독 필터 값은 다음과 같습니다.
## Existing Subscription Filter parameter values { "DestinationArn": "arn:aws:logs:region:999999999999:destination:testDestination", "FilterPattern": "{$.userIdentity.type = Root}", "Distribution": "Random" }
현재 구독 필터 파라미터 값을 찾아야 하는 경우 다음 명령을 입력합니다.
aws logs describe-account-policies \ --policy-type "SUBSCRIPTION_FILTER_POLICY" \ --policy-name "CrossAccountStreamsExamplePolicy"
교차 계정 로그 권한에 대한 조직 ID 사용을 시작하도록 구독 필터 업데이트
~/TrustPolicyForCWL.json
파일에 다음 트러스트 정책을 생성합니다. 텍스트 편집기를 사용하여 이 정책 파일을 생성하고, IAM 콘솔은 사용하지 마세요.{ "Statement": { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } }
이 정책을 사용하는 IAM 역할을 생성합니다. 명령에 의해 반환되는
Arn
값의Arn
값은 이 절차의 뒷부분에 필요하므로 메모해 둡니다. 이 예제에서 생성하는 역할의 이름으로는CWLtoSubscriptionFilterRole
을 사용합니다.aws iam create-role \ --role-name CWLtoSubscriptionFilterRole \ --assume-role-policy-document file://~/TrustPolicyForCWL.json
CloudWatch Logs가 계정에서 수행할 수 있는 작업을 정의하는 권한 정책을 생성합니다.
먼저 텍스트 편집기를 사용하여 다음 권한 정책을 이름이
/PermissionsForCWLSubscriptionFilter.json
인 파일로 생성합니다.{ "Statement": [ { "Effect": "Allow", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:region:111111111111:log-group:LogGroupOnWhichSubscriptionFilterIsCreated:*" } ] }
다음 명령을 입력하여 방금 생성한 권한 정책을 2단계에서 생성한 역할에 연결합니다.
aws iam put-role-policy --role-name CWLtoSubscriptionFilterRole --policy-name Permissions-Policy-For-CWL-Subscription-filter --policy-document file://~/PermissionsForCWLSubscriptionFilter.json
다음 명령을 입력하여 구독 필터 정책을 업데이트합니다.
aws logs put-account-policy \ --policy-name "CrossAccountStreamsExamplePolicy" \ --policy-type "SUBSCRIPTION_FILTER_POLICY" \ --policy-document '{"DestinationArn":"arn:aws:logs:region:999999999999:destination:testDestination", "FilterPattern": "{$.userIdentity.type = Root}", "Distribution": "Random"}' \ --selection-criteria 'LogGroupName NOT IN ["LogGroupToExclude1", "LogGroupToExclude2"]' \ --scope "ALL"