

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

# 1단계: 구독 필터 업데이트
<a name="Cross-Account-Log_Subscription-Update-filter-Account"></a>

**참고**  
이 단계는 [AWS 서비스에서 로깅 활성화](AWS-logs-and-resource-policy.md)에 나열된 서비스에서 생성된 로그에 대한 교차 계정 구독에만 필요합니다. 해당 로그 그룹 중 하나에서 생성된 로그로 작업하지 않는 경우 [2단계: 기존 대상 액세스 정책 업데이트](Cross-Account-Log_Subscription-Update-policy-Account.md) 섹션으로 건너뛸 수 있습니다.

경우에 따라 대상 계정으로 로그를 보내는 모든 발신자 계정의 구독 필터를 업데이트해야 합니다. 업데이트에는 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 사용을 시작하도록 구독 필터 업데이트**

1. `~/TrustPolicyForCWL.json` 파일에 다음 트러스트 정책을 생성합니다. 텍스트 편집기를 사용하여 이 정책 파일을 생성하고, IAM 콘솔은 사용하지 마세요.

   ```
   {
     "Statement": {
       "Effect": "Allow",
       "Principal": { "Service": "logs.amazonaws.com" },
       "Action": "sts:AssumeRole"
     }
   }
   ```

1. 이 정책을 사용하는 IAM 역할을 생성합니다. 명령에 의해 반환되는 `Arn` 값의 `Arn` 값은 이 절차의 뒷부분에 필요하므로 메모해 둡니다. 이 예제에서 생성하는 역할의 이름으로는 `CWLtoSubscriptionFilterRole`을 사용합니다.

   ```
   aws iam create-role 
       \ --role-name CWLtoSubscriptionFilterRole 
       \ --assume-role-policy-document file://~/TrustPolicyForCWL.json
   ```

1. CloudWatch Logs가 계정에서 수행할 수 있는 작업을 정의하는 권한 정책을 생성합니다.

   1. 먼저 텍스트 편집기를 사용하여 다음 권한 정책을 이름이 `/PermissionsForCWLSubscriptionFilter.json`인 파일로 생성합니다.

      ```
      { 
          "Statement": [ 
              { 
                  "Effect": "Allow", 
                  "Action": "logs:PutLogEvents", 
                  "Resource": "arn:aws:logs:region:111111111111:log-group:LogGroupOnWhichSubscriptionFilterIsCreated:*" 
              } 
          ] 
      }
      ```

   1. 다음 명령을 입력하여 방금 생성한 권한 정책을 2단계에서 생성한 역할에 연결합니다.

      ```
      aws iam put-role-policy 
          --role-name CWLtoSubscriptionFilterRole 
          --policy-name Permissions-Policy-For-CWL-Subscription-filter 
          --policy-document file://~/PermissionsForCWLSubscriptionFilter.json
      ```

1. 다음 명령을 입력하여 구독 필터 정책을 업데이트합니다.

   ```
   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"
   ```