

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

# 로그 그룹 및 로그 스트림 작업
<a name="Working-with-log-groups-and-streams"></a>

 로그 스트림은 동일한 소스를 공유하는 로그 이벤트 시퀀스입니다. CloudWatch Logs에서 각 별도의 로그 소스가 별도의 로그 스트림을 구성합니다.

 로그 그룹은 동일한 보존 기간, 모니터링 및 액세스 제어 설정을 공유하는 로그 스트림 그룹입니다. 로그 그룹을 정의하고 각 그룹에 배치할 스트림을 지정할 수 있습니다. 하나의 로그 그룹이 가질 수 있는 로그 스트림의 수는 제한이 없습니다.

여러 계정 및 리전의 로그 데이터를 통합해야 하는 조직의 경우 CloudWatch Logs Centralization을 사용하여 로그 그룹을 중앙 계정에 자동으로 복제할 수 있습니다. 자세한 내용은 [교차 계정 교차 리전 로그 중앙 집중화](CloudWatchLogs_Centralization.md) 단원을 참조하십시오.

 이 섹션에 나오는 절차를 사용하여 로그 그룹 및 로그 스트림 작업을 수행할 수 있습니다.

## CloudWatch Logs에서의 로그 그룹 생성
<a name="Create-Log-Group"></a>

Amazon CloudWatch Logs 사용 설명서의 이전 섹션에 나온 단계를 사용하여 Amazon EC2 인스턴스에 CloudWatch Logs 에이전트를 설치하면 해당 프로세스의 일부로 로그 그룹이 생성됩니다. CloudWatch 콘솔에서 직접 로그 그룹을 생성할 수도 있습니다.

**로그 그룹을 생성하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1.  탐색 창에서 **로그 관리를** 선택합니다.

1.  **작업**을 선택한 다음, **로그 그룹 생성**을 선택합니다.

1.  로그 그룹의 이름을 입력한 다음, **로그 그룹 생성**을 선택합니다.

**작은 정보**  
 탐색 창의 ****** 메뉴에서 대시보드와 경보뿐만 아니라 로그 그룹을 즐겨찾기에 추가할 수 있습니다. ***최근 방문*** 열에서 즐겨찾기에 추가하려는 로그 그룹 위에 마우스 포인터를 놓고 그 옆에 있는 별 기호를 선택합니다.

## 로그 그룹에 로그 전송
<a name="SendingLogData"></a>

CloudWatch Logs는 여러 AWS 서비스에서 로그 이벤트를 자동으로 수신합니다. 다음 방법 중 하나를 사용하여 CloudWatch Logs로 다른 로그 이벤트를 전송할 수도 있습니다.
+ **CloudWatch 에이전트**— 통합 CloudWatch 에이전트는 지표와 로그를 모두 CloudWatch Logs에 전송할 수 있습니다. CloudWatch 에이전트 설치 및 사용에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)을 참조하세요.
+ **AWS CLI**—[put-log-events](https://docs.aws.amazon.com/cli/latest/reference/logs/put-log-events.html)는 CloudWatch Logs로 로그 이벤트 배치를 업로드합니다.
+ **프로그래밍 방식으로**—[PutLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html) API를 사용하면 프로그래밍 방식으로 로그 이벤트 배치를 CloudWatch Logs로 업로드할 수 있습니다.

## CloudWatch Logs로 전송된 로그 데이터 보기
<a name="ViewingLogData"></a>

CloudWatch Logs 에이전트가 CloudWatch Logs로 전송한 로그 데이터를 스트림별로 확인하고 스크롤할 수 있습니다. 확인할 로그 데이터에 대해 시간 범위를 지정할 수 있습니다.

**로그 데이터를 확인하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그 관리를** 선택합니다.

1. **로그 그룹**에서 스트림을 확인할 로그 그룹을 선택합니다.

1. 로그 그룹 목록에서 보려는 로그 그룹의 이름을 선택합니다.

1. 로그 스트림의 목록에서 보려는 로그 스트림의 이름을 선택합니다.

1. 로그 데이터의 표시 방법을 변경하려면 다음 중 하나를 수행합니다.
   + 단일 로그 이벤트를 확장하려면 해당 로그 이벤트 옆에 있는 화살표를 선택합니다.
   + 로그 이벤트 목록에서 모든 로그 이벤트를 확장하고 이를 일반 텍스트 버전으로 확인하려면 **텍스트**를 선택합니다.
   + 로그 이벤트를 필터링하려면 검색 필드에 원하는 검색 필터를 입력합니다. 자세한 정보는 [필터를 사용하여 로그 이벤트에서 지표 생성](MonitoringLogData.md) 섹션을 참조하세요.
   + 지정된 날짜/시간 범위의 로그 데이터를 확인하려면 검색 필터 옆의 날짜/시간 옆에 있는 화살표를 선택합니다. 날짜/시간 범위를 지정하려면 **Absolute(절대)**를 선택합니다. 미리 정의된 분, 시간, 일 또는 주의 횟수를 선택하려면 **상대**를 선택합니다. UTC와 현지 시간대 간을 전환할 수도 있습니다.

# 필터 패턴을 사용하여 로그 데이터 검색
<a name="SearchDataFilterPattern"></a>

[지표 필터, 구독 필터, 필터 로그 이벤트 및 Live Tail에 대한 필터 패턴 구문](FilterAndPatternSyntax.md)을 사용하여 로그 데이터를 검색할 수 있습니다. 로그 그룹 내의 모든 로그 스트림을 검색하거나를 사용하여 특정 로그 스트림을 검색할 AWS CLI 수도 있습니다. 각각의 검색이 실행되면서 데이터의 다음 페이지를 검색하거나 검색을 계속할 수 있도록 발견된 데이터의 첫 페이지와 토큰이 반환됩니다. 결과가 반환되지 않은 경우에는 계속 검색을 할 수 있습니다.

검색 범위를 제한하기 위해 쿼리하고자 하는 시간 범위를 설정할 수 있습니다. 처음에는 시간 범위를 넓게 잡아서 관심 있는 로그 줄이 어디에 있는지 확인한 다음, 시간 범위를 좁혀서 관심 있는 시간 범위로 로그에 대한 뷰의 범위를 지정할 수 있습니다.

로그에서 추출된 지표에서 해당 로그로 직접 피벗을 적용할 수도 있습니다.

CloudWatch 크로스 계정 관측성에서 모니터링 계정으로 설정된 계정에 로그인하면, 이 모니터링 계정에 연결된 소스 계정에서 로그 이벤트를 검색하고 필터링할 수 있습니다. 자세한 내용은 [CloudWatch 크로스 계정 관찰성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)을 참조하세요.

## 콘솔을 사용하여 로그 항목 검색
<a name="search-log-entries"></a>

콘솔을 이용하여 지정된 기준을 충족하는 로그 항목을 검색할 수 있습니다.

**콘솔을 이용하여 로그 항목을 검색하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그 관리를** 선택합니다.

1. **로그 그룹**에서 검색할 로그 스트림이 포함된 로그 그룹의 이름을 선택합니다.

1. **로그 스트림**에서 검색할 로그 스트림의 이름을 선택합니다.

1. **로그 이벤트**에서 사용할 필터 구문을 입력합니다.

**콘솔을 이용하여 시간 범위에 대한 모든 로그 항목을 검색하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그 관리를** 선택합니다.

1. **로그 그룹**에서 검색할 로그 스트림이 포함된 로그 그룹의 이름을 선택합니다.

1. **로그 그룹 검색**을 선택합니다.

1. **로그 이벤트**에서 날짜/시간 범위를 선택하고 필터 구문을 입력합니다.

## 를 사용하여 로그 항목 검색 AWS CLI
<a name="search-log-entries-cli"></a>

를 사용하여 지정된 기준을 충족하는 로그 항목을 검색할 수 있습니다 AWS CLI.

**를 사용하여 로그 항목을 검색하려면 AWS CLI**  
명령 프롬프트에서 아래 [filter-log-events](https://docs.aws.amazon.com/cli/latest/reference/logs/filter-log-events.html) 명령을 실행합니다. `--filter-pattern`을 사용하여 지정된 필터 패턴으로 결과를 제한하고 `--log-stream-names`를 사용하여 지정된 로그 스트림으로 결과를 제한합니다.

```
aws logs filter-log-events --log-group-name my-group [--log-stream-names LIST_OF_STREAMS_TO_SEARCH] [--filter-pattern VALID_METRIC_FILTER_PATTERN]
```

**를 사용하여 지정된 시간 범위에서 로그 항목을 검색하려면 AWS CLI**  
명령 프롬프트에서 아래 [filter-log-events](https://docs.aws.amazon.com/cli/latest/reference/logs/filter-log-events.html) 명령을 실행합니다.

```
aws logs filter-log-events --log-group-name my-group [--log-stream-names LIST_OF_STREAMS_TO_SEARCH] [--start-time 1482197400000] [--end-time 1482217558365] [--filter-pattern VALID_METRIC_FILTER_PATTERN]
```

## 지표에서 로그로 피벗 적용
<a name="pivot-metrics-logs"></a>

콘솔의 다른 부분에서 특정 로그 항목으로 이동할 수 있습니다.

**대시보드 위젯에서 로그로 이동하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **대시보드**를 선택합니다.

1. 대시보드를 선택합니다.

1. 위젯에서 **로그 보기** 아이콘을 선택한 다음, **이 시간 범위에서 로그 보기**를 선택합니다. 지표 필터가 하나 이상 있는 경우 목록에서 하나를 선택합니다. 지표 필터의 수가 목록에 표시할 수 있는 것보다 많은 경우에는 **더 많은 지표 필터**를 선택하고 지표 필터를 선택 또는 검색합니다.

**지표에서 로그로 이동하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **지표**를 선택합니다.

1. **모든 지표** 탭의 검색 필드에 지표 이름을 입력하고 Enter 키를 누릅니다.

1. 검색 결과에서 지표를 하나 이상 선택합니다.

1. **작업**, **로그 보기**를 선택합니다. 지표 필터가 하나 이상 있는 경우 목록에서 하나를 선택합니다. 지표 필터의 수가 목록에 표시할 수 있는 것보다 많은 경우에는 **더 많은 지표 필터**를 선택하고 지표 필터를 선택 또는 검색합니다.

## 문제 해결
<a name="search-filter-troubleshooting"></a>

**검색 완료에 너무 많은 시간이 소요**

로그 데이터가 많은 경우에는 검색을 완료하는 데 긴 시간이 소요될 수 있습니다. 다음과 같은 방법으로 검색 속도를 높일 수 있습니다.
+ 를 사용하는 경우 관심 있는 로그 스트림으로만 검색을 제한 AWS CLI할 수 있습니다. 예를 들어 로그 그룹에 1,000개의 로그 스트림이 있지만 관련성이 있는 것으로 알려진 3개의 로그 스트림만 보려는 경우 AWS CLI 를 사용하여 로그 그룹 내 3개의 로그 스트림으로만 검색을 제한할 수 있습니다.
+ 더 짧고 세분화된 시간 범위를 사용하면 검색할 데이터양을 줄이고 쿼리 속도를 높일 수 있습니다.

## CloudWatch Logs에서 로그 데이터 보존 기간 변경
<a name="SttingLogRetention"></a>

기본적으로 CloudWatch Logs에서 로그 데이터는 무기한으로 저장됩니다. 그러나 로그 그룹에서 로그 데이터를 저장할 기간을 구성할 수 있습니다. 현재 보존 기간 설정보다 오래된 데이터는 모두 삭제됩니다. 언제든지 로그 그룹별로 로그 보존 기간을 변경할 수 있습니다.

**참고**  
CloudWatch Logs 는 보존 설정에 도달하면 로그 이벤트를 즉시 삭제하지 않습니다. 일반적으로 로그 이벤트가 삭제되기까지 최대 72시간이 걸리지만 드물게 그보다 더 오래 걸릴 수 있습니다.  
즉, 만료 날짜가 지났지만 실제로 삭제되지 않은 로그 이벤트를 포함하는 경우 더 긴 보존 설정을 갖도록 로그 그룹을 변경하면 새 보존 날짜에 도달한 후 해당 로그 이벤트가 삭제되는 데 최대 72시간이 걸립니다. 로그 데이터를 영구적으로 삭제하려면 이전 보존 기간이 종료된 후 72시간이 경과하거나 이전 로그 이벤트가 삭제되었음을 확인할 때까지 로그 그룹을 낮은 보존 설정으로 유지합니다.  
로그 이벤트가 보존 설정에 도달하면 삭제 대상으로 표시됩니다. 삭제 대상으로 표시된 후에는 이후에 실제로 삭제되지 않더라도 더 이상 아카이브 스토리지 비용에 추가되지 않습니다. 삭제 대상으로 표시된 로그 이벤트는 API를 통해 `storedBytes` 값을 검색하여 로그 그룹에 저장 중인 바이트 수를 확인할 때도 포함되지 않습니다.

**로그 보존 기간 설정을 변경하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그**, **로그 그룹**을 선택합니다.

1. 업데이트할 로그 그룹을 찾습니다.

1. 해당 로그 그룹의 **보존** 열에서 **만료되지 않음** 같은 현재 보존 설정을 선택합니다.

1. **보존 설정**의 **이벤트 만료 시점**에서 로그 보존 값을 선택한 다음 **저장**을 선택합니다.

## 로그 그룹이 삭제되지 않도록 보호
<a name="protecting-log-groups-from-deletion-overview"></a>

필요에 따라 삭제 방지를 활성화하여 중요한 로그 그룹이 실수로 삭제되지 않도록 할 수 있습니다. 삭제 방지에 대한 자세한 내용은 섹션을 참조하세요[로그 그룹이 삭제되지 않도록 보호](protecting-log-groups-from-deletion.md).

# 로그 그룹이 삭제되지 않도록 보호
<a name="protecting-log-groups-from-deletion"></a>

## 삭제 방지 활성화
<a name="enabling-deletion-protection"></a>

새 로그 그룹을 생성할 때 또는 기존 로그 그룹에서 삭제 방지를 활성화할 수 있습니다. 로그 그룹을 생성하는 동안 "활성화된 삭제 보호"를 선택하거나 파라미터를 전달하여를 선택합니다`--deletion-protection-enabled`. 기본적으로 삭제 방지는 활성화되어 있지 않습니다.

**기존 로그 그룹에서 삭제 방지를 활성화 또는 비활성화하려면(콘솔)**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그 관리를** 선택합니다.

1. 보호하려는 로그 그룹을 선택합니다.

1. **작업**, **삭제 방지 편집**을 선택합니다.

1. 대화 상자에서 변경 사항을 검토한 다음 제출합니다.

를 사용하는 경우 기존 로그 그룹에서 삭제 방지를 활성화 AWS CLI하려면:

```
aws logs put-log-group-deletion-protection \
--log-group-identifier "/my-application/logs" \
--deletion-protection-enabled
```

기존 로그 그룹에서 삭제 방지를 제거하려면:

```
aws logs put-log-group-deletion-protection \
--log-group-identifier "/my-application/logs" \
--no-deletion-protection-enabled
```

### 오류 처리
<a name="deletion-protection-error-handling"></a>

삭제 방지 기능이 활성화된 로그 그룹을 삭제하려고 하면 `ValidationException` "삭제 방지 기능이 활성화된 로그 그룹은 삭제할 수 없습니다. 먼저 삭제 방지 기능을 비활성화합니다.”

## Amazon CloudWatch Logs의 로그 그룹에 태그 지정
<a name="log-group-tagging"></a>

Amazon CloudWatch Logs에서 생성하는 로그 그룹에 고유한 메타데이터를 *태그* 형식으로 할당할 수 있습니다. 태그는 로그 그룹에 대해 정의된 키-값 쌍입니다. 태그를 사용하는 것은 AWS 리소스를 관리하고 결제 데이터를 포함한 데이터를 구성하는 간단하지만 강력한 방법입니다.

**참고**  
태그를 사용하여 로그 그룹 및 대상을 비롯한 CloudWatch Logs 리소스에 대한 액세스를 제어할 수 있습니다. 로그 그룹과 로그 스트림 간의 계층적 관계로 인해 로그 스트림에 대한 액세스는 로그 그룹 수준에서 제어됩니다. 태그를 사용하여 액세스를 제어하는 방법에 대한 자세한 내용은 [태그를 사용하여 Amazon Web Services 리소스에 대한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)를 참조하세요.

**Topics**
+ [태그 기본 사항](#tagging-basics)
+ [태그 지정을 사용하여 비용 추적](#tagging-billing)
+ [태그 제한 사항](#tagging-restrictions)
+ [를 사용하여 로그 그룹에 태그 지정 AWS CLI](#log-group-tagging-cli)
+ [CloudWatch Logs API를 사용하여 로그 그룹에 태그 지정](#log-group-tagging-api)

### 태그 기본 사항
<a name="tagging-basics"></a>

 AWS CloudFormation AWS CLI또는 CloudWatch Logs API를 사용하여 다음 작업을 완료합니다.
+ 생성 시 로그 그룹에 태그를 추가합니다.
+ 기존 로그 그룹에 태그를 추가합니다.
+ 로그 그룹에 대한 태그를 나열합니다.
+ 로그 그룹에서 태그를 제거합니다.

태그를 사용하여 로그 그룹을 분류할 수 있습니다. 예를 들어, 용도, 소유자 또는 환경을 기준별로 로그 그룹을 분류할 수 있습니다. 각 태그에 대해 키 및 값이 정의되기 때문에 특정 요구 사항을 충족하는 사용자 지정 카테고리 집합을 생성할 수 있습니다. 예를 들어, 태그 집합을 정의하여 소유자와 연관 애플리케이션별 로그 그룹을 추적할 수 있습니다. 다음은 태그의 몇 가지 예제입니다.
+ 프로젝트: 프로젝트 이름
+ 소유자: 이름
+ 용도: 로드 테스트
+ 애플리케이션: 애플리케이션 이름
+ 환경: 프로덕션

### 태그 지정을 사용하여 비용 추적
<a name="tagging-billing"></a>

태그를 사용하여 AWS 비용을 분류하고 추적할 수 있습니다. 로그 그룹을 포함하여 AWS 리소스에 태그를 적용하면 AWS 비용 할당 보고서에 태그별로 집계된 사용량 및 비용이 포함됩니다. 비즈니스 카테고리를 나타내는 태그(예: 비용 센터, 애플리케이션 이름 또는 소유자)를 적용하여 여러 서비스에 대한 비용을 정리할 수 있습니다. 자세한 내용은 *AWS Billing 사용 설명서*의 [사용자 지정 결제 보고서에 비용 할당 태그 사용](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)을 참조하세요.

### 태그 제한 사항
<a name="tagging-restrictions"></a>

태그에 적용되는 제한은 다음과 같습니다.

**기본 제한 사항**
+ 로그 그룹당 최대 태그의 수는 50개입니다.
+ 태그 키와 값은 대소문자를 구분합니다.
+ 삭제된 로그 그룹에 대해 태그를 변경하거나 편집할 수 없습니다.

**태그 키 제한 사항**
+ 각 태그 키는 고유해야 합니다. 이미 사용 중인 키를 가진 태그를 추가하면 기존 키-값 쌍에 새 태그가 덮어쓰기 됩니다.
+ 이 접두사는에서 사용하도록 예약되어 `aws:` 있으므로 로 태그 키를 시작할 수 없습니다 AWS.는 사용자를 대신하여이 접두사로 시작하는 태그를 AWS 생성하지만 편집하거나 삭제할 수는 없습니다.
+ 태그 키의 길이는 유니코드 1\$1128자여야 합니다.
+ 태그 키의 문자로는 유니코드 문자, 숫자, 공백 그리고 `_ . / = + - @` 같은 특수 문자가 허용됩니다.

**태그 값 제한 사항**
+ 태그 값의 길이는 유니코드 0\$1255자여야 합니다.
+ 태그 값은 공백 상태로 둘 수 있습니다. 아니면 유니코드 문자, 숫자, 공백 그리고 `_ . / = + - @` 같은 특수 문자를 사용할 수 있습니다.

### 를 사용하여 로그 그룹에 태그 지정 AWS CLI
<a name="log-group-tagging-cli"></a>

 AWS CLI를 사용하여 태그를 추가, 나열 및 제거할 수 있습니다. 예제는 다음 설명서를 참조하세요.

[create-log-group](https://docs.aws.amazon.com/cli/latest/reference/logs/create-log-group.html)  
로그 그룹을 생성합니다. 로그 그룹 생성 시 태그를 선택에 따라 추가할 수 있습니다.

[tag-resource](https://docs.aws.amazon.com/cli/latest/reference/logs/tag-resource.html)  
지정된 CloudWatch Logs 리소스에 하나 이상의 태그(키-값 쌍)를 할당합니다.

[list-tags-for-resource](https://docs.aws.amazon.com/cli/latest/reference/logs/list-tags-for-resource.html)  
CloudWatch Logs 리소스와 연관된 태그를 표시합니다.

[untag-resource](https://docs.aws.amazon.com/cli/latest/reference/logs/untag-log-group.html)  
지정된 CloudWatch Logs 리소스에서 하나 이상의 태그를 제거합니다.

### CloudWatch Logs API를 사용하여 로그 그룹에 태그 지정
<a name="log-group-tagging-api"></a>

CloudWatch Logs API를 사용하여 태그를 추가, 나열 및 제거할 수 있습니다. 예제는 다음 설명서를 참조하세요.

[CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)  
로그 그룹을 생성합니다. 로그 그룹 생성 시 태그를 선택에 따라 추가할 수 있습니다.

[TagResource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagResource.html)  
지정된 CloudWatch Logs 리소스에 하나 이상의 태그(키-값 쌍)를 할당합니다.

[ListTagsForResource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsForResource.html)  
CloudWatch Logs 리소스와 연관된 태그를 표시합니다.

[UntagResource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagLogGroup.html)  
지정된 CloudWatch Logs 리소스에서 하나 이상의 태그를 제거합니다.

# 를 사용하여 CloudWatch Logs의 로그 데이터 암호화 AWS Key Management Service
<a name="encrypt-log-data-kms"></a>

로그 그룹 데이터는 항상 CloudWatch Logs에서 암호화됩니다. 기본적으로 CloudWatch Logs는 256비트 고급 암호화 표준 갈루아/카운터 모드(AES-GCM)를 사용하는 서버 측 암호화로 서버 측 암호화를 사용하여 저장 로그 데이터를 암호화합니다. 대신 이 암호화를 위해 AWS Key Management Service 을 사용할 수 있습니다. 이렇게 하면 AWS KMS 키를 사용하여 암호화가 완료됩니다. 를 사용한 암호화 AWS KMS 는 로그 그룹을 생성할 때 또는 로그 그룹이 존재한 후 KMS 키를 로그 그룹과 연결하여 로그 그룹 수준에서 활성화됩니다.

**중요**  
CloudWatch Logs에서는 이제 `kms:EncryptionContext:aws:logs:arn`을 키로 사용하고 로그 그룹의 ARN을 해당 키의 값으로 사용하여 암호화 컨텍스트를 지원합니다. KMS 키로 이미 암호화된 로그 그룹이 있고 단일 계정 및 로그 그룹에서 키를 사용하도록 제한하려면 IAM 정책에 조건을 포함하는 새 KMS 키를 할당해야 합니다. 자세한 내용은 [AWS KMS 키 및 암호화 컨텍스트](#encrypt-log-data-kms-policy) 단원을 참조하십시오.

**중요**  
이제 CloudWatch Logs는 로그`kms:ViaService`가 사용자를 대신하여 AWS KMS 호출할 수 있도록 허용하는를 지원합니다. 키 정책 또는 IAM에서 CloudWatch Logs를 직접 호출하는 역할에 이를 추가해야 합니다. 자세한 내용은 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service)를 참조하세요.

KMS 키를 로그 그룹에 연결한 후, 로그 그룹에 대해 새로 수집된 모든 데이터는 이 키를 사용하여 암호화됩니다. 이 데이터는 보존되는 동안 암호화된 형식으로 저장됩니다. CloudWatch Logs는 요청이 있을 때마다 이 데이터를 암호화 해제합니다. CloudWatch Logs에는 암호화된 데이터 요청이 발생할 때마다 KMS 키에 대한 권한이 있어야 합니다.

로그 그룹에서 KMS 키가 연결 해제되는 경우 CloudWatch Logs에서는 CloudWatch Logs의 기본 암호화 방법을 사용하여 새로 수집된 데이터를 암호화합니다. KMS 키로 암호화된 이전에 수집된 모든 데이터는 KMS 키로 암호화된 상태가 유지됩니다. CloudWatch Logs는 계속해서 키를 참조할 수 있으므로 CloudWatch Logs는 KMS 키의 연결이 끊어진 후에도 여전히 해당 데이터를 반환할 수 있습니다. 그러나 나중에 키를 비활성화하면 CloudWatch Logs는 해당 키로 암호화된 로그를 읽을 수 없습니다.

**중요**  
CloudWatch Logs는 대칭 KMS 키만 지원합니다. 비대칭 키를 사용하여 로그 그룹의 데이터를 암호화하지 마세요. 자세한 내용은 [대칭 및 비대칭 키 사용](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)을 참조하세요.

## 제한 사항
<a name="encryption-limits"></a>
+ 다음 단계를 수행하려면 `kms:CreateKey`, `kms:GetKeyPolicy` 및 `kms:PutKeyPolicy` 권한이 있어야 합니다.
+ 로그 그룹에서 키를 연결하거나 연결 해제하고 난 후 이러한 변경이 적용되기까지 최대 5분의 시간이 소요될 수 있습니다.
+ 연결된 키에 대한 CloudWatch Logs 액세스 권한을 취소하거나 연결된 KMS 키를 삭제한 경우에는 CloudWatch Logs에서 암호화된 데이터를 더 이상 검색할 수 없습니다.
+ CloudWatch 콘솔을 사용하여 KMS 키를 기존 로그 그룹과 연결할 수 없습니다.

## 1단계: AWS KMS 키 생성
<a name="create-cmk"></a>

다음 [create-key](https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html) 명령을 사용하여 KMS 키 생성:

```
aws kms create-key
```

이 명령의 출력 화면에는 키의 키 ID와 Amazon Resource Name(ARN)이 포함됩니다. 다음은 예제 출력입니다.

```
{
    "KeyMetadata": {
        "Origin": "AWS_KMS",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "Description": "",
        "KeyManager": "CUSTOMER",
        "Enabled": true,
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "Enabled",
        "CreationDate": 1478910250.94,
        "Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59",
        "AWSAccountId": "123456789012",
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ]
    }
}
```

## 2단계: KMS 키에 대한 권한 설정
<a name="cmk-permissions-lg"></a>

기본적으로 모든 AWS KMS 키는 프라이빗입니다. 리소스 소유자만 이를 사용하여 데이터를 암호화 및 해독할 수 있습니다. 그러나 리소스 소유자가 원한다면 다른 사용자 및 리소스에 KMS 키에 대한 액세스 권한을 부여할 수 있습니다. 이 단계에서는 CloudWatch Logs 서비스 보안 주체와 직접 호출자 역할에게 키를 사용할 수 있는 권한을 부여합니다. 이 서비스 보안 주체는 KMS 키가 저장된 리전과 동일한 AWS 리전에 있어야 합니다.

가장 좋은 방법은 KMS 키 사용을 지정한 AWS 계정 또는 로그 그룹으로만 제한하는 것입니다.

먼저 다음 [get-key-policy](https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html) 명령을 사용하는 `policy.json`로 KMS 키에 대한 기본 정책을 저장합니다.

```
aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
```

텍스트 편집기에서 `policy.json` 파일을 열고 다음 명령문 중 하나에서 굵은 글꼴로 표시된 섹션을 추가합니다. 기존 명령문과 새 명령문을 쉼표로 구분합니다. 이러한 문은 `Condition` 섹션을 사용하여 AWS KMS 키의 보안을 강화합니다. 자세한 내용은 [AWS KMS 키 및 암호화 컨텍스트](#encrypt-log-data-kms-policy) 단원을 참조하십시오.

이 예제의 `Condition` 섹션에서는 키를 단일 로그 그룹 ARN으로 제한합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-default-1",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::123456789012:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "logs.us-east-1.amazonaws.com"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:Describe*"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-east-1:111122223333:log-group:log-group-name"
                }
            }
        }
    ]
}
```

------

이 예제의 `Condition` 섹션에서는 AWS KMS 키 사용을 지정된 계정으로 제한하지만 모든 로그 그룹에 사용할 수 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-default-1",
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::123456789012:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Principal": {
            "Service": "logs.us-east-1.amazonaws.com"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:Describe*"
            ],
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

그런 다음 CloudWatch Logs를 직접 호출할 역할에 권한을 추가합니다. AWS KMS 키 정책에 추가 문을 추가하거나 역할 자체의 IAM을 통해이 작업을 수행할 수 있습니다. CloudWatch Logs는 `kms:ViaService`를 사용하여 고객을 대신하여 AWS KMS 에 전화를 겁니다. 자세한 내용은 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service)를 참조하세요.

 AWS KMS 키 정책에 권한을 추가하려면 키 정책에 다음 추가 문을 추가합니다. 이 방법을 사용하는 경우 가장 좋은 방법은 AWS KMS 암호화된 로그 그룹과 상호 작용할 역할로만 정책의 범위를 지정하는 것입니다.

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::account_id:role/role_name"
  },
  "Action": [
    "kms:Encrypt",
    "kms:ReEncrypt*",
    "kms:Decrypt",
    "kms:GenerateDataKey*",
    "kms:Describe*"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "kms:ViaService": [
        "logs.region.amazonaws.com"
      ]
    }
  }
}
```

또는 IAM에서 역할 권한을 관리하려는 경우 다음 정책을 통해 동등한 권한을 추가할 수 있습니다. 이는 기존 역할 정책에 추가하거나 역할에 별도의 추가 정책으로 연결할 수 있습니다. 이 방법을 사용하는 경우 모범 사례로 정책의 범위를 로그 암호화에 사용할 AWS KMS 키로만 지정합니다. 자세한 내용은 [IAM 정책 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)을 참조하세요.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:ReEncrypt*",
                "kms:Decrypt",
                "kms:GenerateDataKey*",
                "kms:Describe*"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "logs.us-east-1.amazonaws.com"
                    ]
                }
            },
            "Resource": "arn:aws:kms:us-east-1:444455556666:key/key_id"
        }
    ]
}
```

------

마지막으로 아래 [put-key-policy](https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html) 명령을 사용하여 업데이트된 정책을 추가합니다.

```
aws kms put-key-policy --key-id key-id --policy-name default --policy file://policy.json
```

## 3단계: KMS 키를 로그 그룹에 연결
<a name="associate-cmk"></a>

로그 그룹을 생성할 때와 그 이후에 KMS 키를 로그 그룹에 연결할 수 있습니다.

로그 그룹에 이미 KMS 키가 연결되어 있는지 확인하려면 다음 [describe-log-groups](https://docs.aws.amazon.com/cli/latest/reference/logs/describe-log-groups.html) 명령을 사용합니다.

```
aws logs describe-log-groups --log-group-name-prefix "log-group-name-prefix"
```

출력에 `kmsKeyId` 필드가 포함된 경우 로그 그룹은 해당 필드의 값에 대해 표시된 키와 연결됩니다.

**생성 시 로그 그룹에 KMS 키를 연결**  
다음과 같이 [create-log-group](https://docs.aws.amazon.com/cli/latest/reference/logs/create-log-group.html) 명령을 사용합니다.

```
aws logs create-log-group --log-group-name my-log-group --kms-key-id "key-arn"
```

**기존 로그 그룹에 KMS 키를 연결**  
다음과 같이 [associate-kms-key](https://docs.aws.amazon.com/cli/latest/reference/logs/associate-kms-key.html) 명령을 사용합니다.

```
aws logs associate-kms-key --log-group-name my-log-group --kms-key-id "key-arn"
```

## 4단계: 로그 그룹에서 키 연결 해제
<a name="disassociate-cmk"></a>

로그 그룹에 연결된 KMS 키의 연결을 해제하려면 아래 [disassociate-kms-key](https://docs.aws.amazon.com/cli/latest/reference/logs/disassociate-kms-key.html) 명령을 사용합니다.

```
aws logs disassociate-kms-key --log-group-name my-log-group
```

## AWS KMS 키 및 암호화 컨텍스트
<a name="encrypt-log-data-kms-policy"></a>

 AWS Key Management Service 키와 암호화된 로그 그룹의 보안을 강화하기 위해 CloudWatch Logs는 이제 로그 데이터를 암호화하는 데 사용되는 *암호화 컨텍스트*의 일부로 로그 그룹 ARNs을 배치합니다. 암호화 컨텍스트는 추가 인증 데이터로 사용되는 키-값 쌍의 집합입니다. 암호화 컨텍스트를 사용하면 IAM 정책 조건을 사용하여 계정 및 로그 그룹별로 AWS KMS AWS 키에 대한 액세스를 제한할 수 있습니다. 자세한 내용은 [암호화 컨텍스트](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) 및 [IAM JSON 정책 요소: 조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)을 참조하세요.

암호화된 각 로그 그룹에 대해 서로 다른 KMS 키를 사용하는 것이 좋습니다.

이전에 암호화한 로그 그룹이 있고 해당 로그 그룹에만 작동하는 새 KMS 키를 사용하도록 로그 그룹을 변경하려는 경우 다음 단계를 수행합니다.

**KMS 키를 해당 로그 그룹으로 제한하는 정책에 따라 사용하도록 암호화된 로그 그룹 변환**

1. 다음 명령을 입력하여 로그 그룹의 현재 키의 ARN을 찾습니다.

   ```
   aws logs describe-log-groups
   ```

   출력에는 다음 줄이 포함됩니다. ARN을 기록해 둡니다. 7단계에서 사용해야 합니다.

   ```
   ...
   "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef"
   ...
   ```

1. 다음 명령을 입력하여 새 KMS 키 생성:

   ```
   aws kms create-key
   ```

1. 다음 명령을 입력하여 새 키의 정책을 `policy.json` 파일에 저장합니다.

   ```
   aws kms get-key-policy --key-id new-key-id --policy-name default --output text > ./policy.json
   ```

1. 텍스트 편집기를 사용하여 `policy.json`을 열고 `Condition` 표현식을 정책에 추가합니다.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "key-default-1",
       "Statement": [
           {
               "Sid": "Enable IAM User Permissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "kms:*",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Principal": {
               "Service": "logs.us-east-1.amazonaws.com"
               },
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:Describe*"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnLike": {
                   "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-east-1:111122223333:log-group:LOG-GROUP-NAME"
                   }
               }
           }
       ]
   }
   ```

------

1. 다음 명령을 입력하여 업데이트된 정책을 새 KMS 키에 추가:

   ```
   aws kms put-key-policy --key-id new-key-ARN --policy-name default --policy file://policy.json
   ```

1. 다음 명령을 입력하여 정책을 로그 그룹과 연결합니다.

   ```
   aws logs associate-kms-key --log-group-name my-log-group --kms-key-id new-key-ARN
   ```

   CloudWatch Logs는 이제 새 키를 사용하여 모든 새 데이터를 암호화합니다.

1. 그런 다음 이전 키에서 `Decrypt`를 제외한 모든 권한을 취소합니다. 먼저 다음 명령을 입력하여 이전 정책을 검색합니다.

   ```
   aws kms get-key-policy --key-id old-key-ARN --policy-name default --output text > ./policy.json
   ```

1. 텍스트 편집기를 사용하여 `policy.json`을 열고 `Action` 목록에서 `kms:Decrypt`를 제외한 모든 값을 제거합니다.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "key-default-1",
       "Statement": [
           {
               "Sid": "Enable IAM User Permissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "kms:*",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "logs.region.amazonaws.com"
               },
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 다음 명령을 입력하여 업데이트된 정책을 이전 키에 추가합니다.

   ```
   aws kms put-key-policy --key-id old-key-ARN --policy-name default --policy file://policy.json
   ```

# 마스킹 처리를 통해 민감한 로그 데이터를 보호하도록 지원
<a name="mask-sensitive-log-data"></a>

로그 그룹 *데이터 보호 정책*을 사용하여 CloudWatch Logs에서 모든 민감한 데이터를 보호할 수 있습니다. 이러한 정책을 사용하면 계정의 로그 그룹에서 모은 로그 이벤트에 나타나는 민감한 데이터를 감사하고 마스킹할 수 있습니다.

데이터 보호 정책을 생성할 때 선택한 데이터 식별자와 일치하는 민감한 데이터가 기본적으로 CloudWatch Logs Insights, 지표 필터 및 구독 필터를 포함한 모든 송신 지점에서 마스킹됩니다. `logs:Unmask` IAM 권한이 있는 사용자만 마스킹 처리되지 않은 데이터를 볼 수 있습니다.

계정의 모든 로그 그룹에 대한 데이터 보호 정책을 생성할 수 있으며 개별 로그 그룹에 대한 데이터 보호 정책을 생성할 수도 있습니다. 전체 계정에 대한 정책을 생성하면 기존 로그 그룹과 향후 생성되는 로그 그룹 모두에 적용됩니다.

전체 계정에 대한 데이터 보호 정책을 생성하고 단일 로그 그룹에 대한 정책도 생성하는 경우 두 정책 모두 해당 로그 그룹에 적용됩니다. 두 정책 중 하나에 지정된 모든 관리형 데이터 식별자는 해당 로그 그룹에서 감사 및 마스킹 처리됩니다.

**참고**  
민감한 데이터 마스킹은 Standard 및 Infrequent Access 로그 클래스의 로그 그룹에 대해 지원됩니다. 로그 클래스에 대한 자세한 내용은 [로그 클래스](CloudWatch_Logs_Log_Classes.md)을 참조하세요.

각 로그 그룹에는 로그 그룹 수준의 데이터 보호 정책이 하나만 있을 수 있지만 해당 정책은 감사하고 마스킹할 여러 관리형 데이터 식별자를 지정할 수 있습니다. 데이터 보호 정책의 한도는 30,720자입니다.

**중요**  
민감한 데이터는 로그 그룹에 수집될 때 감지 및 마스킹 처리됩니다. 데이터 보호 정책을 설정하면 해당 시간 이전에 로그 그룹에 수집된 로그 이벤트는 마스킹 처리되지 않습니다.

CloudWatch Logs가 지원하는 여러 *관리형 데이터 식별자*는 금융 데이터, 개인 건강 정보(PHI), 개인 식별 정보(PII) 보호를 위해 선택할 수 있는 사전 구성된 데이터 유형을 제공합니다. CloudWatch Logs 데이터 보호를 통해 패턴 매칭 및 기계 학습 모델을 활용하여 중요한 데이터를 탐지할 수 있습니다. 일부 관리형 데이터 식별자 유형의 경우 민감한 데이터에 근접한 특정 키워드의 검색 결과에 따라 탐지가 달라집니다. 또한 사용자 지정 데이터 식별자를 사용하여 특정 사용 사례에 맞는 데이터 식별자를 생성할 수 있습니다.

선택한 데이터 식별자와 일치하는 중요한 데이터가 감지되면 지표를 CloudWatch로 내보냅니다. 이는 **LogEventsWithFindings** 지표이며 **AWS/Logs** 네임스페이스로 내보내집니다. 해당 지표를 사용하여 CloudWatch 경보를 생성하고 그래프와 대시보드로 시각화할 수 있습니다. 데이터 보호에서 내보낸 지표는 판매된 지표이며 무료입니다. CloudWatch Logs가 CloudWatch로 보내는 지표에 대한 자세한 내용은 [CloudWatch 지표를 사용한 모니터링](CloudWatch-Logs-Monitoring-CloudWatch-Metrics.md)을 참조하세요.

각 관리형 데이터 식별자는 신용 카드 번호, AWS 보안 액세스 키 또는 특정 국가 또는 지역의 여권 번호와 같은 특정 유형의 민감한 데이터를 감지하도록 설계되었습니다. 데이터 보호 정책을 생성할 때 이러한 식별자를 사용하여 로그 그룹에서 수집한 로그를 분석하고, 감지되면 조치를 취하도록 구성할 수 있습니다.

CloudWatch Logs 데이터 보호는 관리형 데이터 식별자를 사용하여 다음과 같은 민감한 데이터 카테고리를 감지할 수 있습니다.
+ 프라이빗 키 또는 AWS 보안 액세스 키와 같은 자격 증명 
+ 금융 정보(예: 신용 카드 번호)
+ 개인 식별 정보(PII)(예: 운전면허증 또는 사회 보장 번호)
+ 보호 대상 건강 정보(PHI)(예: 건강 보험 또는 의료 식별 번호)
+ 디바이스 식별자(예: IP 주소 또는 MAC 주소)

보호할 수 있는 데이터 유형에 대한 자세한 내용은 [보호할 수 있는 데이터 유형](protect-sensitive-log-data-types.md)을 참조하세요.

**Contents**
+ [데이터 보호 정책 이해](cloudwatch-logs-data-protection-policies.md)
  + [데이터 보호 정책이란 무엇입니까?](cloudwatch-logs-data-protection-policies.md#what-are-data-protection-policies)
  + [데이터 보호 정책은 어떻게 구성되어 있습니까?](cloudwatch-logs-data-protection-policies.md#overview-of-data-protection-policies)
    + [데이터 보호 정책의 JSON 속성](cloudwatch-logs-data-protection-policies.md#data-protection-policy-json-properties)
    + [정책 명령문을 위한 JSON 속성](cloudwatch-logs-data-protection-policies.md#policy-statement-json-properties)
    + [정책 명령문 작업을 위한 JSON 속성](cloudwatch-logs-data-protection-policies.md#statement-operation-json-properties)
+ [데이터 보호 정책을 생성하거나 사용하는 데 필요한 IAM 권한](data-protection-policy-permissions.md)
  + [계정 수준 데이터 보호 정책에 필요한 권한](data-protection-policy-permissions.md#data-protection-policy-permissions-accountlevel)
  + [단일 로그 그룹에 대한 데이터 보호 정책에 필요한 권한](data-protection-policy-permissions.md#data-protection-policy-permissions-loggroup)
  + [샘플 데이터 보호 정책](data-protection-policy-permissions.md#data-protection-policy-sample)
+ [계정 전체 데이터 보호 정책 생성](mask-sensitive-log-data-accountlevel.md)
  + [콘솔](mask-sensitive-log-data-accountlevel.md#mask-sensitive-log-data-accountlevel-console)
  + [AWS CLI](mask-sensitive-log-data-accountlevel.md#mask-sensitive-log-data-accountlevel-cli)
    + [AWS CLI 또는 API 작업에 대한 데이터 보호 정책 구문](mask-sensitive-log-data-accountlevel.md#mask-sensitive-log-data-policysyntax-account)
+ [단일 로그 그룹에 대한 데이터 보호 정책 생성](mask-sensitive-log-data-start.md)
  + [콘솔](mask-sensitive-log-data-start.md#mask-sensitive-log-data-start-console)
  + [AWS CLI](mask-sensitive-log-data-start.md#mask-sensitive-log-data-start-cli)
    + [AWS CLI 또는 API 작업에 대한 데이터 보호 정책 구문](mask-sensitive-log-data-start.md#mask-sensitive-log-data-policysyntax)
+ [마스킹 처리되지 않은 데이터 보기](mask-sensitive-log-data-viewunmasked.md)
+ [감사 결과 보고서](mask-sensitive-log-data-audit-findings.md)
  + [로 보호되는 버킷으로 감사 결과를 보내는 데 필요한 키 정책 AWS KMS](mask-sensitive-log-data-audit-findings.md#mask-sensitive-log-data-audit-findings-kms)
+ [보호할 수 있는 데이터 유형](protect-sensitive-log-data-types.md)
  + [민감한 데이터 유형에 대한 CloudWatch Logs 관리형 데이터 식별자](CWL-managed-data-identifiers.md)
    + [자격 증명](protect-sensitive-log-data-types-credentials.md)
      + [자격 증명 데이터 유형용 데이터 식별자 ARN](protect-sensitive-log-data-types-credentials.md#cwl-data-protection-credentials-arns)
    + [디바이스 식별자](protect-sensitive-log-data-types-device.md)
      + [디바이스 데이터 유형을 위한 데이터 식별자 ARN](protect-sensitive-log-data-types-device.md#cwl-data-protection-devices-arns)
    + [금융 정보](protect-sensitive-log-data-types-financial.md)
      + [금융 데이터 유형용 데이터 식별자 ARN](protect-sensitive-log-data-types-financial.md#cwl-data-protection-financial-arns)
    + [보호 대상 건강 정보(PHI)](protect-sensitive-log-data-types-health.md)
      + [보호 대상 건강 정보(PHI) 데이터 유형에 대한 데이터 식별자 ARN](protect-sensitive-log-data-types-health.md#cwl-data-protection-phi-arns)
    + [개인 식별 정보(PII)](protect-sensitive-log-data-types-pii.md)
      + [운전면허증 식별 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-pii-dl-keywords)
      + [국가 식별 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-pii-natlid-keywords)
      + [여권 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-pii-passport-keywords)
      + [납세자 식별 및 참조 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-financial-tin-keywords)
      + [개인 식별 정보(PII)에 대한 데이터 식별자 ARN](protect-sensitive-log-data-types-pii.md#CWL-data-protection-pii-arns)
  + [사용자 지정 데이터 식별자](CWL-custom-data-identifiers.md)
    + [사용자 지정 데이터 식별자란?](CWL-custom-data-identifiers.md#what-are-custom-data-identifiers)
    + [사용자 지정 데이터 식별자 제약](CWL-custom-data-identifiers.md#custom-data-identifiers-constraints)
    + [콘솔에서 사용자 지정 데이터 식별자 사용](CWL-custom-data-identifiers.md#using-custom-data-identifiers-console)
    + [데이터 보호 정책에서 사용자 지정 데이터 식별자 사용](CWL-custom-data-identifiers.md#using-custom-data-identifiers)

# 데이터 보호 정책 이해
<a name="cloudwatch-logs-data-protection-policies"></a>

**Topics**
+ [데이터 보호 정책이란 무엇입니까?](#what-are-data-protection-policies)
+ [데이터 보호 정책은 어떻게 구성되어 있습니까?](#overview-of-data-protection-policies)

## 데이터 보호 정책이란 무엇입니까?
<a name="what-are-data-protection-policies"></a>

CloudWatch Logs는 **데이터 보호 정책**을 사용하여 스캔하려는 민감한 데이터와 해당 데이터를 보호하기 위해 수행하려는 작업을 선택합니다. 관심 있는 민감한 데이터를 선택하려면 [데이터 식별자](CWL-managed-data-identifiers.md)를 사용합니다. 그런 다음 CloudWatch Logs 데이터 보호는 기계 학습 및 패턴 일치를 사용하여 중요한 데이터를 감지합니다. 발견된 데이터 식별자에 따라 조치를 취하기 위해 **감사**와 **비식별화** 작업을 정의할 수 있습니다. 이러한 연산을 사용하여 발견된(또는 발견되지 않은) 민감한 데이터를 로깅하고 로그 이벤트를 확인할 때 민감한 데이터를 마스킹 처리할 수 있습니다.

## 데이터 보호 정책은 어떻게 구성되어 있습니까?
<a name="overview-of-data-protection-policies"></a>

다음 그림처럼 데이터 보호 정책 문서는 다음 요소를 포함합니다.
+ 문서 상단에 위치하는 정책 전반의 선택적 정보
+ 감사 및 비식별화 작업을 정의하는 명령문 하나

CloudWatch Logs 로그 그룹당 하나의 데이터 보호 정책만 정의할 수 있습니다. 데이터 보호 정책은 하나 이상의 거부 또는 비식별 명령문과 하나의 감사 명령문을 가질 수 있습니다.

### 데이터 보호 정책의 JSON 속성
<a name="data-protection-policy-json-properties"></a>

데이터 보호 정책에는 식별을 위해 다음과 같은 기본 정책 정보가 필요합니다.
+ **Name**(이름) – 정책 이름입니다.
+ **Description**(설명)(선택 사항) – 정책 설명입니다.
+ **Version**(버전) - 정책 언어 버전입니다. 현재 버전은 2021-06-01입니다.
+ **Statement**(명령문) - 데이터 보호 정책 조치를 지정하는 명령문 목록입니다.

```
{
  "Name": "CloudWatchLogs-PersonalInformation-Protection",
  "Description": "Protect basic types of sensitive data",
  "Version": "2021-06-01",
  "Statement": [
        ...
  ]
}
```

### 정책 명령문을 위한 JSON 속성
<a name="policy-statement-json-properties"></a>

정책 명령문은 데이터 보호 작업에 대한 탐지 컨텍스트를 설정합니다.
+ **Sid**(선택 사항) - 명령문 식별자입니다.
+ **DataIdentifier** – CloudWatch Logs에서 스캔해야 하는 민감한 데이터입니다. 이러한 데이터로는 이름, 주소 또는 전화번호가 있습니다.
+ **Operation** - 후속 작업입니다. **Audit** 또는 **De-identify** 중 하나입니다. CloudWatch Logs는 민감한 데이터를 발견하면 해당 작업을 수행합니다.

```
{
  ...
  "Statement": [
    {
      "Sid": "audit-policy",
      "DataIdentifier": [
        "arn:aws:dataprotection::aws:data-identifier/Address"
      ],
      "Operation": {
        "Audit": {
          "FindingsDestination": {}
        }
      }
    },
```

### 정책 명령문 작업을 위한 JSON 속성
<a name="statement-operation-json-properties"></a>

정책 명령문은 다음 데이터 보호 작업 중 하나를 설정합니다.
+ **Audit** - 로깅을 중단하지 않고 지표 및 결과 보고서를 내보냅니다. 일치하는 문자열은 CloudWatch Logs가 CloudWatch의 **AWS/Logs** 네임스페이스에 게시하는 **LogEventsWithFindings** 지표를 증가시킵니다. 해당 지표를 사용하여 경보를 생성할 수 있습니다.

  결과 보고서의 예는 [감사 결과 보고서](mask-sensitive-log-data-audit-findings.md)를 참조하세요.

  CloudWatch Logs가 CloudWatch로 보내는 지표에 대한 자세한 내용은 [CloudWatch 지표를 사용한 모니터링](CloudWatch-Logs-Monitoring-CloudWatch-Metrics.md)을 참조하세요.
+ **De-identify** -로깅을 중단하지 않고 민감한 데이터를 마스킹 처리합니다.

# 데이터 보호 정책을 생성하거나 사용하는 데 필요한 IAM 권한
<a name="data-protection-policy-permissions"></a>

로그 그룹에 대한 데이터 보호 정책을 사용하려면 다음 표에 나와 있는 특정 권한이 있어야 합니다. 권한은 계정 전체 데이터 보호 정책과 단일 로그 그룹에 적용되는 데이터 보호 정책에 따라 다릅니다.

## 계정 수준 데이터 보호 정책에 필요한 권한
<a name="data-protection-policy-permissions-accountlevel"></a>

**참고**  
Lambda 함수 내에서 이러한 작업을 수행하는 경우 Lambda 실행 역할 및 권한 경계에 다음 권한도 포함되어야 합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/data-protection-policy-permissions.html)

데이터 보호 감사 로그가 이미 대상으로 전송되고 있는 경우 동일한 대상으로 로그를 전송하는 다른 정책에는 `logs:PutDataProtectionPolicy` 및 `logs:CreateLogDelivery` 권한만 있으면 됩니다.

## 단일 로그 그룹에 대한 데이터 보호 정책에 필요한 권한
<a name="data-protection-policy-permissions-loggroup"></a>

**참고**  
Lambda 함수 내에서 이러한 작업을 수행하는 경우 Lambda 실행 역할 및 권한 경계에 다음 권한도 포함되어야 합니다.


| 연산 | IAM 권한 필요 | Resource | 
| --- | --- | --- | 
|  감사 대상이 없는 데이터 보호 정책 생성  |  `logs:PutDataProtectionPolicy`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*`  | 
|  CloudWatch Logs를 감사 대상으로 사용하여 데이터 보호 정책 생성  |  `logs:PutDataProtectionPolicy` `logs:CreateLogDelivery` `logs:PutResourcePolicy` `logs:DescribeResourcePolicies` `logs:DescribeLogGroups`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*` `*` `*` `*` `*`  | 
|  Firehose를 감사 대상으로 사용하여 데이터 보호 정책 생성  |  `logs:PutDataProtectionPolicy` `logs:CreateLogDelivery` `firehose:TagDeliveryStream`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*` `*` `arn:aws:logs:::deliverystream/YOUR_DELIVERY_STREAM`  | 
|  Amazon S3를 감사 대상으로 사용하여 데이터 보호 정책 생성  |  `logs:PutDataProtectionPolicy` `logs:CreateLogDelivery` `s3:GetBucketPolicy` `s3:PutBucketPolicy`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*` `*` `arn:aws:s3:::YOUR_BUCKET` `arn:aws:s3:::YOUR_BUCKET`  | 
|  마스킹된 로그 이벤트 마스크 처리 해제  |  `logs:Unmask`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*`  | 
|  기존 데이터 보호 정책 보기  |  `logs:GetDataProtectionPolicy`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*`  | 
|  데이터 보호 정책 삭제  |  `logs:DeleteDataProtectionPolicy`  |  `arn:aws:logs:::log-group:YOUR_LOG_GROUP:*`  | 

데이터 보호 감사 로그가 이미 대상으로 전송되고 있는 경우 동일한 대상으로 로그를 전송하는 다른 정책에는 `logs:PutDataProtectionPolicy` 및 `logs:CreateLogDelivery` 권한만 있으면 됩니다.

## 샘플 데이터 보호 정책
<a name="data-protection-policy-sample"></a>

다음 샘플 정책을 사용하면 사용자는 세 가지 유형의 감사 대상 모두에 감사 결과를 전송할 수 있는 데이터 보호 정책을 생성, 확인 및 삭제할 수 있습니다. 사용자는 마스킹 처리되지 않은 데이터를 볼 수 없습니다.

------
#### [ JSON ]

****  

```
 
    {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLogDeliveryConfiguration",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:PutResourcePolicy",
                "logs:DescribeLogGroups",
                "logs:DescribeResourcePolicies"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowDataProtectionAndBucketConfiguration",
            "Effect": "Allow",
            "Action": [
                "logs:GetDataProtectionPolicy",
                "logs:DeleteDataProtectionPolicy",
                "logs:PutDataProtectionPolicy",
                "s3:PutBucketPolicy",
                "firehose:TagDeliveryStream",
                "s3:GetBucketPolicy"
            ],
            "Resource": [
            "arn:aws:firehose:us-east-1:111122223333:deliverystream/delivery-stream-name",
            "arn:aws:s3:::amzn-s3-demo-destination-bucket",
            "arn:aws:logs:us-east-1:111122223333:log-group:log-group-name:*"
            ]
        }
    ]
}
```

------

# 계정 전체 데이터 보호 정책 생성
<a name="mask-sensitive-log-data-accountlevel"></a>

CloudWatch Logs 콘솔 또는 AWS CLI 명령을 사용하여 계정의 모든 로그 그룹에 대해 민감한 데이터를 마스킹하는 데이터 보호 정책을 생성할 수 있습니다. 이는 현재 로그 그룹과 향후 생성하는 로그 그룹 모두에 영향을 미칩니다.

**중요**  
민감한 데이터는 로그 그룹에 수집될 때 감지 및 마스킹 처리됩니다. 데이터 보호 정책을 설정하면 해당 시간 이전에 로그 그룹에 수집된 로그 이벤트는 마스킹 처리되지 않습니다.

**Topics**
+ [콘솔](#mask-sensitive-log-data-accountlevel-console)
+ [AWS CLI](#mask-sensitive-log-data-accountlevel-cli)

## 콘솔
<a name="mask-sensitive-log-data-accountlevel-console"></a>

**콘솔을 사용하여 계정 전체 데이터 보호 정책 생성**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1.  탐색 창에서 **설정**을 선택합니다. 목록 하단 근처에 있습니다.

1. **로그** 탭을 선택합니다.

1. **구성**을 선택합니다.

1. **관리형 데이터 식별자**에서 모든 로그 그룹에 대해 감사하고 마스킹할 데이터 유형을 선택합니다. 선택 상자에 입력하여 원하는 식별자를 찾을 수 있습니다.

   로그 데이터 및 비즈니스와 관련된 데이터 식별자만 선택하는 것이 좋습니다. 여러 유형의 데이터를 선택하면 오탐이 발생할 수 있습니다.

   보호할 수 있는 데이터 유형에 대한 자세한 내용은 [보호할 수 있는 데이터 유형](protect-sensitive-log-data-types.md)을 참조하세요.

1. (선택 사항) 사용자 지정 데이터 식별자를 사용하여 다른 유형의 데이터를 감사하고 마스킹하려면 **사용자 지정 데이터 식별자 추가**를 선택합니다. 그런 다음 데이터 유형의 이름과 로그 이벤트에서 해당 데이터 유형을 검색하는 데 사용할 정규 표현식을 입력합니다. 자세한 내용은 [사용자 지정 데이터 식별자](CWL-custom-data-identifiers.md) 단원을 참조하십시오.

   하나의 데이터 보호 정책에 최대 10개의 사용자 지정 데이터 식별자가 포함될 수 있습니다. 사용자 지정 데이터 식별자를 정의하는 각 정규 표현식은 200자 이하여야 합니다.

1. (선택 사항) 감사 결과를 전송할 서비스를 하나 이상 선택합니다. 이러한 서비스에 감사 결과를 보내지 않기로 선택하더라도 선택한 민감한 데이터 유형은 여전히 마스킹 처리됩니다.

1. **데이터 보호 활성화**를 선택합니다.

## AWS CLI
<a name="mask-sensitive-log-data-accountlevel-cli"></a>

**AWS CLI 를 사용하여 데이터 보호 정책을 생성하려면**

1. 텍스트 편집기를 사용하여 `DataProtectionPolicy.json` 정책 파일을 생성합니다. 정책 구문에 대한 자세한 내용은 다음 섹션을 참조하세요.

1. 다음 명령을 입력합니다.

   ```
   aws logs put-account-policy \
   --policy-name TEST_POLICY --policy-type "DATA_PROTECTION_POLICY" \
   --policy-document file://policy.json \
   --scope "ALL" \
   --region us-west-2
   ```

### AWS CLI 또는 API 작업에 대한 데이터 보호 정책 구문
<a name="mask-sensitive-log-data-policysyntax-account"></a>

 AWS CLI 명령 또는 API 작업에 사용할 JSON 데이터 보호 정책을 생성할 때 정책에는 두 개의 JSON 블록이 포함되어야 합니다.
+ 첫 번째 블록은 `DataIdentifer` 배열 및 `Audit` 작업이 있는 `Operation` 속성을 모두 포함해야 합니다. `DataIdentifer` 배열은 마스킹 처리하려는 민감한 데이터 유형을 나열합니다. 이용 가능한 옵션에 대한 자세한 내용은 [보호할 수 있는 데이터 유형](protect-sensitive-log-data-types.md)을 참조하세요.

  민감한 데이터 용어를 찾으려면 `Audit` 작업이 있는 `Operation` 속성이 필요합니다. 이 `Audit` 작업에는 `FindingsDestination` 객체가 포함되어야 합니다. 선택 사항으로 해당 `FindingsDestination` 객체를 사용하여 감사 결과 보고서를 보낼 하나 이상의 대상을 나열할 수 있습니다. 로그 그룹, Amazon Data Firehose 스트림, S3 버킷 같은 대상을 지정하는 경우 해당 대상이 이미 존재해야 합니다. 감사 결과 보고서의 예제는 [감사 결과 보고서](mask-sensitive-log-data-audit-findings.md)을 참조하세요.
+ 두 번째 블록은 `DataIdentifer` 배열 및 `Deidentify` 작업이 있는 `Operation` 속성을 모두 포함해야 합니다. `DataIdentifer` 배열은 정책의 첫 번째 블록에 있는 `DataIdentifer` 배열과 정확히 일치해야 합니다.

  `Deidentify` 작업이 있는 `Operation` 속성은 실제로 데이터를 마스킹 처리하며, 해당 속성은 ` "MaskConfig": {}` 객체를 포함해야 합니다. ` "MaskConfig": {}` 객체는 비어 있어야 합니다.

다음은 관리형 데이터 식별자만 사용하는 데이터 보호 정책의 예제입니다. 이 정책은 이메일 주소와 미국 운전면허증을 마스킹합니다.

사용자 지정 데이터 식별자를 지정하는 정책에 대한 자세한 내용은 [데이터 보호 정책에서 사용자 지정 데이터 식별자 사용](CWL-custom-data-identifiers.md#using-custom-data-identifiers)을 참조하세요.

```
{
    "Name": "data-protection-policy",
    "Description": "test description",
    "Version": "2021-06-01",
    "Statement": [{
            "Sid": "audit-policy",
            "DataIdentifier": [
                "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
                "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US"
            ],
            "Operation": {
                "Audit": {
                    "FindingsDestination": {
                        "CloudWatchLogs": {
                            "LogGroup": "EXISTING_LOG_GROUP_IN_YOUR_ACCOUNT,"
                        },
                        "Firehose": {
                            "DeliveryStream": "EXISTING_STREAM_IN_YOUR_ACCOUNT"
                        },
                        "S3": {
                            "Bucket": "EXISTING_BUCKET"
                        }
                    }
                }
            }
        },
        {
            "Sid": "redact-policy",
            "DataIdentifier": [
                "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
                "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US"
            ],
            "Operation": {
                "Deidentify": {
                    "MaskConfig": {}
                }
            }
        }
    ]
}
```

# 단일 로그 그룹에 대한 데이터 보호 정책 생성
<a name="mask-sensitive-log-data-start"></a>

CloudWatch Logs 콘솔 또는 AWS CLI 명령을 사용하여 민감한 데이터를 마스킹하는 데이터 보호 정책을 생성할 수 있습니다.

각 로그 그룹에 하나의 데이터 보호 정책을 할당할 수 있습니다. 각 데이터 보호 정책은 여러 유형의 정보를 감사할 수 있습니다. 각 데이터 보호 정책은 하나의 감사 명령문을 포함할 수 있습니다.

**Topics**
+ [콘솔](#mask-sensitive-log-data-start-console)
+ [AWS CLI](#mask-sensitive-log-data-start-cli)

## 콘솔
<a name="mask-sensitive-log-data-start-console"></a>

**콘솔을 사용하여 데이터 보호 정책을 생성하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1.  탐색 창에서 **로그**, **로그 그룹**을 선택합니다.

1. 로그 그룹의 이름을 선택합니다.

1. **작업**, **데이터 보호 정책 생성**을 선택합니다.

1. **관리형 데이터 식별자**의 경우 이 로그 그룹에서 감사하고 마스킹 처리할 데이터 유형을 선택합니다. 선택 상자에 입력하여 원하는 식별자를 찾을 수 있습니다.

   로그 데이터 및 비즈니스와 관련된 데이터 식별자만 선택하는 것이 좋습니다. 여러 유형의 데이터를 선택하면 오탐이 발생할 수 있습니다.

   관리형 데이터 식별자를 사용하여 보호할 수 있는 데이터 유형에 대한 자세한 내용은 [보호할 수 있는 데이터 유형](protect-sensitive-log-data-types.md)을 참조하세요.

1. (선택 사항) 사용자 지정 데이터 식별자를 사용하여 다른 유형의 데이터를 감사하고 마스킹하려면 **사용자 지정 데이터 식별자 추가**를 선택합니다. 그런 다음 데이터 유형의 이름과 로그 이벤트에서 해당 데이터 유형을 검색하는 데 사용할 정규 표현식을 입력합니다. 자세한 내용은 [사용자 지정 데이터 식별자](CWL-custom-data-identifiers.md) 단원을 참조하십시오.

   하나의 데이터 보호 정책에 최대 10개의 사용자 지정 데이터 식별자가 포함될 수 있습니다. 사용자 지정 데이터 식별자를 정의하는 각 정규 표현식은 200자 이하여야 합니다.

1. (선택 사항) 감사 결과를 전송할 서비스를 하나 이상 선택합니다. 이러한 서비스에 감사 결과를 보내지 않기로 선택하더라도 선택한 민감한 데이터 유형은 여전히 마스킹 처리됩니다.

1. **데이터 보호 활성화**를 선택합니다.

## AWS CLI
<a name="mask-sensitive-log-data-start-cli"></a>

**AWS CLI 를 사용하여 데이터 보호 정책을 생성하려면**

1. 텍스트 편집기를 사용하여 `DataProtectionPolicy.json` 정책 파일을 생성합니다. 정책 구문에 대한 자세한 내용은 다음 섹션을 참조하세요.

1. 다음 명령을 입력합니다.

   ```
   aws logs put-data-protection-policy --log-group-identifier "my-log-group" --policy-document file:///Path/DataProtectionPolicy.json --region us-west-2
   ```

### AWS CLI 또는 API 작업에 대한 데이터 보호 정책 구문
<a name="mask-sensitive-log-data-policysyntax"></a>

 AWS CLI 명령 또는 API 작업에 사용할 JSON 데이터 보호 정책을 생성할 때 정책에는 두 개의 JSON 블록이 포함되어야 합니다.
+ 첫 번째 블록은 `DataIdentifer` 배열 및 `Audit` 작업이 있는 `Operation` 속성을 모두 포함해야 합니다. `DataIdentifer` 배열은 마스킹 처리하려는 민감한 데이터 유형을 나열합니다. 이용 가능한 옵션에 대한 자세한 내용은 [보호할 수 있는 데이터 유형](protect-sensitive-log-data-types.md)을 참조하세요.

  민감한 데이터 용어를 찾으려면 `Audit` 작업이 있는 `Operation` 속성이 필요합니다. 이 `Audit` 작업에는 `FindingsDestination` 객체가 포함되어야 합니다. 선택 사항으로 해당 `FindingsDestination` 객체를 사용하여 감사 결과 보고서를 보낼 하나 이상의 대상을 나열할 수 있습니다. 로그 그룹, Amazon Data Firehose 스트림, S3 버킷 같은 대상을 지정하는 경우 해당 대상이 이미 존재해야 합니다. 감사 결과 보고서의 예제는 [감사 결과 보고서](mask-sensitive-log-data-audit-findings.md)을 참조하세요.
+ 두 번째 블록은 `DataIdentifer` 배열 및 `Deidentify` 작업이 있는 `Operation` 속성을 모두 포함해야 합니다. `DataIdentifer` 배열은 정책의 첫 번째 블록에 있는 `DataIdentifer` 배열과 정확히 일치해야 합니다.

  `Deidentify` 작업이 있는 `Operation` 속성은 실제로 데이터를 마스킹 처리하며, 해당 속성은 ` "MaskConfig": {}` 객체를 포함해야 합니다. ` "MaskConfig": {}` 객체는 비어 있어야 합니다.

다음은 이메일 주소와 미국 운전면허증을 마스킹 처리하는 데이터 보호 정책의 예입니다.

```
{
    "Name": "data-protection-policy",
    "Description": "test description",
    "Version": "2021-06-01",
    "Statement": [{
            "Sid": "audit-policy",
            "DataIdentifier": [
                "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
                "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US"
            ],
            "Operation": {
                "Audit": {
                    "FindingsDestination": {
                        "CloudWatchLogs": {
                            "LogGroup": "EXISTING_LOG_GROUP_IN_YOUR_ACCOUNT,"
                        },
                        "Firehose": {
                            "DeliveryStream": "EXISTING_STREAM_IN_YOUR_ACCOUNT"
                        },
                        "S3": {
                            "Bucket": "EXISTING_BUCKET"
                        }
                    }
                }
            }
        },
        {
            "Sid": "redact-policy",
            "DataIdentifier": [
                "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
                "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US"
            ],
            "Operation": {
                "Deidentify": {
                    "MaskConfig": {}
                }
            }
        }
    ]
}
```

# 마스킹 처리되지 않은 데이터 보기
<a name="mask-sensitive-log-data-viewunmasked"></a>

마스킹 처리되지 않은 데이터를 확인하려면 사용자에게 `logs:Unmask` 권한이 있어야 합니다. 이 권한이 있는 사용자는 다음과 같은 방법으로 마스킹 처리되지 않은 데이터를 볼 수 있습니다.
+ 로그 스트림에서 이벤트를 볼 때는 **표시**, **마스크 해제**를 선택합니다.
+ **unmask(@message)**[마스크 해제(@message)] 명령이 포함된 CloudWatch Logs Insights 쿼리를 사용합니다. 다음 예제 쿼리는 스트림의 최신 로그 이벤트 20개를 마스킹 처리되지 않은 상태로 표시합니다.

  ```
  fields @timestamp, @message, unmask(@message)
  | sort @timestamp desc
  | limit 20
  ```

  CloudWatch Logs Insights 명령에 대한 자세한 내용은 [CloudWatch Logs Insights 언어 쿼리 구문](CWL_QuerySyntax.md)을 참조하세요.
+ `unmask` 파라미터와 함께 [GetLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogEvents.html) 또는 [FilterLogEvents](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_FilterLogEvents.html) 작업을 사용하세요.

**CloudWatchLogsFullAccess** 정책은 `logs:Unmask` 권한을 포함합니다. **CloudWatchLogsFullAccess가** 없는 사용자에게 `logs:Unmask` 권한을 부여하려면 해당 사용자에게 사용자 지정 IAM 정책을 연결하면 됩니다. 자세한 내용은 [사용자(콘솔)에게 권한 추가](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)를 참조하세요.

# 감사 결과 보고서
<a name="mask-sensitive-log-data-audit-findings"></a>

CloudWatch Logs, Amazon S3 또는 Firehose에 감사 보고서를 쓰도록 CloudWatch Logs 데이터 보호 감사 정책을 설정한 경우 해당 결과 보고서는 다음 예와 비슷합니다. CloudWatch Logs는 민감한 데이터가 포함된 각 로그 이벤트에 대해 하나의 결과 보고서를 작성합니다.

```
{
    "auditTimestamp": "2023-01-23T21:11:20Z",
    "resourceArn": "arn:aws:logs:us-west-2:111122223333:log-group:/aws/lambda/MyLogGroup:*",
    "dataIdentifiers": [
        {
            "name": "EmailAddress",
            "count": 2,
            "detections": [
                {
                    "start": 13,
                    "end": 26
                },
{
                    "start": 30,
                    "end": 43
                }
            ]
        }
    ]
}
```

보고서의 필드는 다음과 같습니다.
+ `resourceArn` 필드는 민감한 데이터가 발견된 로그 그룹을 표시합니다.
+ `dataIdentifiers` 객체는 감사 중인 민감한 데이터 유형 중 하나에 대한 결과 정보를 표시합니다.
+ `name` 필드는 이 섹션에서 보고하는 민감한 데이터의 유형을 식별합니다.
+ `count` 필드는 이 유형의 민감한 데이터가 로그 이벤트에서 나타나는 횟수를 표시합니다.
+ `start` 및 `end` 필드는 로그 이벤트에서 민감한 데이터의 각 항목이 나타나는 위치를 문자 수를 기준으로 보여줍니다.

이전 예에서는 하나의 로그 이벤트에서 두 개의 이메일 주소를 발견한 보고서를 보여 줍니다. 첫 번째 이메일 주소는 로그 이벤트의 13번째 문자에서 시작하여 26번째 문자에서 끝납니다. 두 번째 이메일 주소는 30번째 문자부터 43번째 문자까지입니다. 이 로그 이벤트에는 두 개의 이메일 주소가 있지만 `LogEventsWithFindings` 지표는 중요한 데이터가 나타난 횟수가 아닌 중요한 데이터를 포함하는 로그 이벤트 수를 계산하므로 지표의 값은 하나씩만 증가합니다.

## 로 보호되는 버킷으로 감사 결과를 보내는 데 필요한 키 정책 AWS KMS
<a name="mask-sensitive-log-data-audit-findings-kms"></a>

Amazon S3-관리형 키(SSE-S3)를 사용한 서버 측 암호화 또는 KMS 키(SSE-KMS)를 사용한 서버 측 암호화를 활성화하여 Amazon S3 버킷의 데이터를 보호할 수 있습니다. 자세한 내용은 Amazon S3 사용 설명서의 [서버 측 암호화를 사용하여 데이터 보호](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)를 참조하세요.

SSE-S3로 보호되는 버킷에 감사 결과를 보내는 경우 추가 구성이 필요하지 않습니다. Amazon S3은 암호화 키를 처리합니다.

SSE-KMS로 보호되는 버킷에 감사 결과를 보내는 경우 로그 전달 계정이 S3 버킷에 쓸 수 있도록 KMS에 대한 키 정책을 업데이트해야 합니다. SSE-KMS와 함께 사용하는 데 필요한 키 정책에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 [Amazon S3 버킷 서버 측 암호화](AWS-logs-infrastructure-S3.md#AWS-logs-SSE-KMS-S3)를 참조하세요.

# 보호할 수 있는 데이터 유형
<a name="protect-sensitive-log-data-types"></a>

이 섹션에는 CloudWatch Logs 데이터 보호 정책에서 보호할 수 있는 데이터 유형에 대한 정보가 포함되어 있습니다. CloudWatch Logs 관리형 데이터 식별자는 금융 데이터, 개인 건강 정보(PHI) 및 개인 식별 정보(PII)를 보호하기 위해 사전 구성된 데이터 유형을 제공합니다. 또한 사용자 지정 데이터 식별자를 사용하여 특정 사용 사례에 맞는 데이터 식별자를 생성할 수 있습니다.

**Contents**
+ [민감한 데이터 유형에 대한 CloudWatch Logs 관리형 데이터 식별자](CWL-managed-data-identifiers.md)
  + [자격 증명](protect-sensitive-log-data-types-credentials.md)
    + [자격 증명 데이터 유형용 데이터 식별자 ARN](protect-sensitive-log-data-types-credentials.md#cwl-data-protection-credentials-arns)
  + [디바이스 식별자](protect-sensitive-log-data-types-device.md)
    + [디바이스 데이터 유형을 위한 데이터 식별자 ARN](protect-sensitive-log-data-types-device.md#cwl-data-protection-devices-arns)
  + [금융 정보](protect-sensitive-log-data-types-financial.md)
    + [금융 데이터 유형용 데이터 식별자 ARN](protect-sensitive-log-data-types-financial.md#cwl-data-protection-financial-arns)
  + [보호 대상 건강 정보(PHI)](protect-sensitive-log-data-types-health.md)
    + [보호 대상 건강 정보(PHI) 데이터 유형에 대한 데이터 식별자 ARN](protect-sensitive-log-data-types-health.md#cwl-data-protection-phi-arns)
  + [개인 식별 정보(PII)](protect-sensitive-log-data-types-pii.md)
    + [운전면허증 식별 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-pii-dl-keywords)
    + [국가 식별 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-pii-natlid-keywords)
    + [여권 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-pii-passport-keywords)
    + [납세자 식별 및 참조 번호 키워드](protect-sensitive-log-data-types-pii.md#CWL-managed-data-identifiers-financial-tin-keywords)
    + [개인 식별 정보(PII)에 대한 데이터 식별자 ARN](protect-sensitive-log-data-types-pii.md#CWL-data-protection-pii-arns)
+ [사용자 지정 데이터 식별자](CWL-custom-data-identifiers.md)
  + [사용자 지정 데이터 식별자란?](CWL-custom-data-identifiers.md#what-are-custom-data-identifiers)
  + [사용자 지정 데이터 식별자 제약](CWL-custom-data-identifiers.md#custom-data-identifiers-constraints)
  + [콘솔에서 사용자 지정 데이터 식별자 사용](CWL-custom-data-identifiers.md#using-custom-data-identifiers-console)
  + [데이터 보호 정책에서 사용자 지정 데이터 식별자 사용](CWL-custom-data-identifiers.md#using-custom-data-identifiers)

# 민감한 데이터 유형에 대한 CloudWatch Logs 관리형 데이터 식별자
<a name="CWL-managed-data-identifiers"></a>

이 섹션은 관리형 데이터 식별자를 사용하여 보호할 수 있는 데이터 유형과 이러한 각 데이터 유형과 관련된 국가 및 리전에 대한 정보를 포함하고 있습니다.

일부 중요한 데이터 유형의 경우, CloudWatch Logs 데이터 보호는 데이터 근처에 있는 키워드를 스캔하고 해당 키워드를 찾은 경우에만 일치하는 키워드를 찾습니다. 키워드가 특정 유형의 데이터와 인접해야 하는 경우 키워드는 일반적으로 데이터로부터 30자 이내(포함) 이내여야 합니다.

키워드에 공백이 포함된 경우 CloudWatch Logs 데이터 보호는 공백이 누락되었거나 공백 대신 밑줄(`_`) 또는 하이픈(`-`)이 포함된 유사 키워드를 자동으로 찾습니다. 일부 경우 CloudWatch Logs는 키워드의 일반적인 변형을 해결하기 위해 키워드를 확장하거나 축약하기도 합니다.

다음 표는 CloudWatch Logs가 관리형 데이터 식별자를 사용하여 탐지할 수 있는 자격 증명, 디바이스, 금융, 의료 및 보호 대상 건강 정보(PHI)의 유형을 나열합니다. 이는 개인 식별 정보(PII)로도 인정될 수 있는 특정 유형의 데이터에 추가됩니다.

**언어 및 리전에 구애받지 않는 지원되는 식별자**


| 식별자 | 카테고리 | 
| --- | --- | 
|  `Address`  |  개인  | 
|  `AwsSecretKey`  |  자격 증명  | 
|  `CreditCardExpiration`  |  금융  | 
|  `CreditCardNumber`  |  금융  | 
|  `CreditCardSecurityCode`  |  금융  | 
|  `EmailAddress`  |  개인  | 
|  `IpAddress`  |  개인  | 
|  `LatLong`  |  개인  | 
|  `Name`  |  개인  | 
|  `OpenSshPrivateKey`  |  자격 증명  | 
|  `PgpPrivateKey`  |  자격 증명  | 
|  `PkcsPrivateKey`  |  자격 증명  | 
|  `PuttyPrivateKey`  |  자격 증명  | 
|  `VehicleIdentificationNumber`  |  개인  | 

리전별 데이터 식별자에는 식별자 이름, 하이픈, 두 글자(ISO 3166-1 alpha-2) 코드를 포함해야 합니다. 예: `DriversLicense-US`

**두 글자로 된 국가 또는 리전 코드를 포함해야 하는 지원되는 식별자**


| 식별자 | 카테고리 | 국가 및 언어 | 
| --- | --- | --- | 
| BankAccountNumber | 금융 |  DE, ES, FR, GB, IT, US  | 
|  CepCode  |  개인  |  BR  | 
|  Cnpj  |  개인  |  BR  | 
|  CpfCode  |  개인  |  BR  | 
|  DriversLicense  |  개인  |  AT, AU, BE, BG, CA, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, US  | 
|  DrugEnforcementAgencyNumber  |  Health  |  US  | 
|  ElectoralRollNumber  |  개인  |  GB  | 
|  HealthInsuranceCardNumber  |  Health  |  EU  | 
|  HealthInsuranceClaimNumber  |  Health  |  US  | 
|  HealthInsuranceNumber  |  Health  |  FR  | 
|  HealthcareProcedureCode  |  Health  |  US  | 
|  IndividualTaxIdentificationNumber  |  개인  |  US  | 
|  InseeCode  |  개인  |  FR  | 
|  MedicareBeneficiaryNumber  |  Health  |  US  | 
|  NationalDrugCode  |  Health  |  US  | 
|  NationalIdentificationNumber  |  개인  |  DE, ES, IT  | 
|  NationalInsuranceNumber  |  개인  |  GB  | 
|  NationalProviderId  |  Health  |  US  | 
|  NhsNumber  |  Health  |  GB  | 
|  NieNumber  |  개인  |  ES  | 
|  NifNumber  |  개인  |  ES  | 
|  PassportNumber  |  개인  |  CA, DE, ES, FR, GB, IT, US  | 
|  PermanentResidenceNumber  |  개인  |  CA  | 
|  PersonalHealthNumber  |  Health  |  CA  | 
|  PhoneNumber  |  개인  |  BR, DE, ES, FR, GB, IT, US  | 
|  PostalCode  |  개인  |  CA  | 
|  RgNumber  |  개인  |  BR  | 
|  SocialInsuranceNumber  |  개인  |  CA  | 
|  Ssn  |  개인  |  ES, US  | 
|  TaxId  |  개인  |  DE, ES, FR, GB  | 
|  ZipCode  |  개인  |  US  | 

# 자격 증명
<a name="protect-sensitive-log-data-types-credentials"></a>

CloudWatch Logs 데이터 보호는 다음 유형의 자격 증명을 찾을 수 있습니다.


| 데이터 유형 | 데이터 식별자 ID | 필수 키워드 | 국가 및 리전 | 
| --- | --- | --- | --- | 
|  AWS 보안 액세스 키 |  `AwsSecretKey`  |  `aws_secret_access_key`, `credentials`, `secret access key`, `secret key`, `set-awscredential`  |  모두  | 
|  OpenSSH 프라이빗 키 |  `OpenSSHPrivateKey`  |  없음  |  모두  | 
|  PGP 프라이빗 키 |  `PgpPrivateKey`  |  없음  |  모두  | 
|  Pkcs 프라이빗 키 |  `PkcsPrivateKey` |  없음  |  모두  | 
|  PuTTY 프라이빗 키 |  `PuttyPrivateKey` |  없음  |  모두  | 

## 자격 증명 데이터 유형용 데이터 식별자 ARN
<a name="cwl-data-protection-credentials-arns"></a>

다음은 데이터 보호 정책에 추가할 수 있는 데이터 식별자의 Amazon Resource Name(ARN) 목록입니다.


| 자격 증명 데이터 식별자 ARN | 
| --- | 
| arn:aws:dataprotection::aws:data-identifier/AwsSecretKey | 
| arn:aws:dataprotection::aws:data-identifier/OpenSshPrivateKey | 
| arn:aws:dataprotection::aws:data-identifier/PgpPrivateKey | 
| arn:aws:dataprotection::aws:data-identifier/PkcsPrivateKey | 
| arn:aws:dataprotection::aws:data-identifier/PuttyPrivateKey | 

# 디바이스 식별자
<a name="protect-sensitive-log-data-types-device"></a>

CloudWatch Logs 데이터 보호는 다음 유형의 디바이스 식별자를 찾을 수 있습니다.


| 데이터 유형 | 데이터 식별자 ID | 필수 키워드 | 국가 및 리전 | 
| --- | --- | --- | --- | 
|  IP 주소 |  `IpAddress`  |  없음  |  모두  | 

## 디바이스 데이터 유형을 위한 데이터 식별자 ARN
<a name="cwl-data-protection-devices-arns"></a>

다음은 데이터 보호 정책에 추가할 수 있는 데이터 식별자의 Amazon Resource Name(ARN) 목록입니다.


| 디바이스 데이터 식별자 ARN | 
| --- | 
| arn:aws:dataprotection::aws:data-identifier/IpAddress | 

# 금융 정보
<a name="protect-sensitive-log-data-types-financial"></a>

CloudWatch Logs 데이터 보호는 다음과 같은 유형의 금융 정보를 찾을 수 있습니다.

데이터 보호 정책을 설정하면 CloudWatch Logs는 로그 그룹이 위치한 지리적 위치에 관계없이 사용자가 지정한 데이터 식별자를 스캔합니다. 이 표에서 **Countries and regions**(국가 및 리전) 열에 있는 정보는 해당 국가 및 리전에 적합한 키워드를 검색하기 위해 데이터 식별자에 두 글자로 된 국가 코드를 추가해야 하는지 그 여부를 지정합니다.


| 데이터 유형 | 데이터 식별자 ID | 필수 키워드 | 국가 및 리전 | 참고 사항 | 
| --- | --- | --- | --- | --- | 
|  은행 계좌 번호 |  `BankAccountNumber`  |  예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **은행 계좌 번호 키워드** 표를 참조하세요.  |  프랑스, 독일, 이탈리아, 스페인, 영국, 미국  | 국가 코드 같은 요소를 포함하여 최대 34개의 영숫자로 구성된 국제 은행 계좌 번호(IBAN)를 포함합니다. | 
|  신용 카드 유효 기간 |  `CreditCardExpiration`  |  `exp d`, `exp m`, `exp y`, `expiration`, `expiry`  |  모두  |  | 
|  신용 카드 번호 |  `CreditCardNumber`  |  `account number`, `american express`, `amex`, `bank card`, `card`, `card number`, `card num`, `cc #`, `ccn`, `check card`, `credit`, `credit card#`, `dankort`, `debit`, `debit card`, `diners club`, `discover`, `electron`, `japanese card bureau`, `jcb`, `mastercard`, `mc`, `pan`, `payment account number`, `payment card number`, `pcn`, `union pay`, `visa`  |  모두  | 탐지하려면 데이터가 Luhn 수표 공식을 준수하고 American Express, Dankort, Diner's Club, Discover, Electron, Japanese Card, Bureau(JCB), Mastercard, UnionPay 및 Visa 유형의 신용 카드에 대해 표준 카드 번호 접두사를 사용하는 13\$119자리 숫자 시퀀스여야 합니다. | 
|  신용 카드 인증 코드 |  `CreditCardSecurityCode`  |  `card id`, `card identification code`, `card identification number`, `card security code`, `card validation code`, `card validation number`, `card verification data`, `card verification value`, `cvc`, `cvc2`, `cvv`, `cvv2`, `elo verification code`  |  모두  |  | 

**은행 계좌 번호 키워드**

다음 은행 계좌 번호 키워드를 사용합니다. 여기에는 국가 코드 같은 요소를 포함하여 최대 34개의 영숫자로 구성된 국제 은행 계좌 번호(IBAN)가 포함됩니다.


| 국가 | 키워드 | 
| --- | --- | 
|  프랑스 |  `account code`, `account number`, `accountno#`, `accountnumber#`, `bban`, `code bancaire`, `compte bancaire`, `customer account id`, `customer account number`, `customer bank account id`, `iban`, `numéro de compte`  | 
|  독일 |  `account code`, `account number`, `accountno#`, `accountnumber#`, `bankleitzahl`, `bban`, `customer account id`, `customer account number`, `customer bank account id`, `geheimzahl`, `iban`, `kartennummer`, `kontonummer`, `kreditkartennummer`, `sepa`  | 
|  이탈리아 |  `account code`, `account number`, `accountno#`, `accountnumber#`, `bban`, `codice bancario`, `conto bancario`, `customer account id`, `customer account number`, `customer bank account id`, `iban`, `numero di conto`  | 
|  스페인 |  `account code`, `account number`, `accountno#`, `accountnumber#`, `bban`, `código cuenta`, `código cuenta bancaria`, `cuenta cliente id`, `customer account ID`, `customer account number`, `customer bank account id`, `iban`, `número cuenta bancaria cliente`, `número cuenta cliente`  | 
|  영국 |  `account code`, `account number`, `accountno#`, `accountnumber#`, `bban`, `customer account ID`, `customer account number`, `customer bank account id`, `iban`, `sepa`  | 
|  미국 |  `bank account`, `bank acct`, `checking account`, `checking acct`, `deposit account`, `deposit acct`, `savings account`, `savings acct`, `chequing account`, `chequing acct`  | 

CloudWatch Logs는 신용 카드 발급 기관이 공개 테스트를 위해 예약한 다음 시퀀스 발생을 보고하지 않습니다.

```
122000000000003, 2222405343248877, 2222990905257051, 2223007648726984, 2223577120017656, 
30569309025904, 34343434343434, 3528000700000000, 3530111333300000, 3566002020360505, 36148900647913, 
36700102000000, 371449635398431, 378282246310005, 378734493671000, 38520000023237, 4012888888881881, 
4111111111111111, 4222222222222, 4444333322221111, 4462030000000000, 4484070000000000, 4911830000000, 
4917300800000000, 4917610000000000, 4917610000000000003, 5019717010103742, 5105105105105100, 
5111010030175156, 5185540810000019, 5200828282828210, 5204230080000017, 5204740009900014, 5420923878724339, 
5454545454545454, 5455330760000018, 5506900490000436, 5506900490000444, 5506900510000234, 5506920809243667, 
5506922400634930, 5506927427317625, 5553042241984105, 5555553753048194, 5555555555554444, 5610591081018250, 
6011000990139424, 6011000400000000, 6011111111111117, 630490017740292441, 630495060000000000, 
6331101999990016, 6759649826438453, 6799990100000000019, and 76009244561.
```

## 금융 데이터 유형용 데이터 식별자 ARN
<a name="cwl-data-protection-financial-arns"></a>

다음은 데이터 보호 정책에 추가할 수 있는 데이터 식별자의 Amazon Resource Name(ARN) 목록입니다.


| 금융 데이터 식별자 ARN | 
| --- | 
| arn:aws:dataprotection::aws:data-identifier/BankAccountNumber-DE | 
| arn:aws:dataprotection::aws:data-identifier/BankAccountNumber-ES | 
| arn:aws:dataprotection::aws:data-identifier/BankAccountNumber-FR | 
| arn:aws:dataprotection::aws:data-identifier/BankAccountNumber-GB | 
| arn:aws:dataprotection::aws:data-identifier/BankAccountNumber-IT | 
| arn:aws:dataprotection::aws:data-identifier/BankAccountNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/CreditCardExpiration | 
| arn:aws:dataprotection::aws:data-identifier/CreditCardNumber | 
| arn:aws:dataprotection::aws:data-identifier/CreditCardSecurityCode | 

# 보호 대상 건강 정보(PHI)
<a name="protect-sensitive-log-data-types-health"></a>

CloudWatch Logs 데이터 보호는 다음과 같은 유형의 보호 대상 건강 정보(PHI) 를 찾을 수 있습니다.

데이터 보호 정책을 설정하면 CloudWatch Logs는 로그 그룹이 위치한 지리적 위치에 관계없이 사용자가 지정한 데이터 식별자를 스캔합니다. 이 표에서 **Countries and regions**(국가 및 리전) 열에 있는 정보는 해당 국가 및 리전에 적합한 키워드를 검색하기 위해 데이터 식별자에 두 글자로 된 국가 코드를 추가해야 하는지 그 여부를 지정합니다.


| 데이터 유형 | 데이터 식별자 ID | 필수 키워드 | 국가 및 리전 | 
| --- | --- | --- | --- | 
|  마약단속국(DEA) 등록 번호 |  `DrugEnforcementAgencyNumber`  |  `dea number`, `dea registration`  |  미국  | 
|  건강 보험 카드 번호(EHIC) |  `HealthInsuranceCardNumber`  |  `assicurazione sanitaria numero`, `carta assicurazione numero`, `carte d’assurance maladie`, `carte européenne d'assurance maladie`, `ceam`, `ehic`, `ehic#`, `finlandehicnumber#`, `gesundheitskarte`, `hälsokort`, `health card`, `health card number`, `health insurance card`, `health insurance number`, `insurance card number`, `krankenversicherungskarte`, `krankenversicherungsnummer`, `medical account number`, `numero conto medico`, `numéro d’assurance maladie`, `numéro de carte d’assurance`, `numéro de compte medical`, `número de cuenta médica`, `número de seguro de salud`, `número de tarjeta de seguro`, `sairaanhoitokortin`, `sairausvakuutuskortti`, `sairausvakuutusnumero`, `sjukförsäkring nummer`, `sjukförsäkringskort`, `suomi ehic-numero`, `tarjeta de salud`, `terveyskortti`, `tessera sanitaria assicurazione numero`, `versicherungsnummer`  |  유럽 연합  | 
|  건강 보험 청구 번호(HICN) |  `HealthInsuranceClaimNumber`  |  `health insurance claim number`, `hic no`, `hic no.`, `hic number`, `hic#`, `hicn`, `hicn#`, `hicno#`  |  미국  | 
|  건강 보험 또는 의료 식별 번호 |  `HealthInsuranceNumber`  |  `carte d'assuré social`, `carte vitale`, `insurance card`   |  프랑스  | 
|  Healthcare Common Procedure Coding System(HCPCS) 코드 |  `HealthcareProcedureCode` |  `current procedural terminology`, `hcpcs`, `healthcare common procedure coding system`   |  미국  | 
|  메디케어 수혜자 번호(MBN) |  `MedicareBeneficiaryNumber` |  `mbi`, `medicare beneficiary`  |  미국  | 
|  국가 의약품 코드(NDC) |  `NationalDrugCode` |  `national drug code`, `ndc`  |  미국  | 
|  국가 공급자 식별자(NPI) |  `NationalProviderId` |  `hipaa`, `n.p.i.`, `national provider`, `npi`  |  미국  | 
|  국가 의료 서비스(NHS) 번호 |  `NhsNumber` |  `national health service`, `NHS`  |  영국  | 
|  개인 건강 번호 |  `PersonalHealthNumber` |  `canada healthcare number`, `msp number`, `care number`, `phn`, `soins de santé`   |  캐나다  | 

## 보호 대상 건강 정보(PHI) 데이터 유형에 대한 데이터 식별자 ARN
<a name="cwl-data-protection-phi-arns"></a>

다음은 보호 대상 건강 정보(PHI) 데이터 보호 정책에서 사용할 수 있는 데이터 식별자 Amazon Resource Name(ARN)을 나열합니다.


| PHI 데이터 식별자 ARN | 
| --- | 
| arn:aws:dataprotection::aws:data-identifier/DrugEnforcementAgencyNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/HealthcareProcedureCode-US | 
| arn:aws:dataprotection::aws:data-identifier/HealthInsuranceCardNumber-EU | 
| arn:aws:dataprotection::aws:data-identifier/HealthInsuranceClaimNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/HealthInsuranceNumber-FR | 
| arn:aws:dataprotection::aws:data-identifier/MedicareBeneficiaryNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/NationalDrugCode-US | 
| arn:aws:dataprotection::aws:data-identifier/NationalInsuranceNumber-GB | 
| arn:aws:dataprotection::aws:data-identifier/NationalProviderId-US | 
| arn:aws:dataprotection::aws:data-identifier/NhsNumber-GB | 
| arn:aws:dataprotection::aws:data-identifier/PersonalHealthNumber-CA | 

# 개인 식별 정보(PII)
<a name="protect-sensitive-log-data-types-pii"></a>

CloudWatch Logs 데이터 보호는 다음과 같은 유형의 개인 식별 정보(PII)를 찾을 수 있습니다.

데이터 보호 정책을 설정하면 CloudWatch Logs는 로그 그룹이 위치한 지리적 위치에 관계없이 사용자가 지정한 데이터 식별자를 스캔합니다. 이 표에서 **Countries and regions**(국가 및 리전) 열에 있는 정보는 해당 국가 및 리전에 적합한 키워드를 검색하기 위해 데이터 식별자에 두 글자로 된 국가 코드를 추가해야 하는지 그 여부를 지정합니다.


| 데이터 유형 | 데이터 식별자 ID | 필수 키워드 | 국가 및 리전 | 참고 사항 | 
| --- | --- | --- | --- | --- | 
|  생년월일 |  `DateOfBirth`  |  `dob`, `date of birth`, `birthdate`, `birth date`, `birthday`, `b-day`, `bday`  |  임의  | 지원에는 모든 숫자, 숫자 및 월 이름의 조합과 같은 대부분의 날짜 형식이 포함됩니다. 날짜 구성 요소는 공백, 슬래시(/) 또는 하이픈(‐)으로 구분할 수 있습니다. | 
|  Código de Endereçamento Postal(CEP) |  `CepCode`  |  `cep`, `código de endereçamento postal`, `codigo de endereçamento postal`  |  브라질  |  | 
|  Cadastro Nacional da Pessoa Jurídica(CNPJ) |  `Cnpj`  |  `cadastro nacional da pessoa jurídica`, `cadastro nacional da pessoa juridica`, `cnpj`  |  브라질  |  | 
|  Cadastro de Pessoas Físicas(CPF) |  `CpfCode`  |  `Cadastro de pessoas fisicas`, `cadastro de pessoas físicas`, `cadastro de pessoa física`, `cadastro de pessoa fisica`, `cpf`  |  브라질  |  | 
|  운전면허증 식별 번호 |  `DriversLicense`  |  예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **운전면허증 식별 번호** 표를 참조하세요.  |  여러 국가. 자세한 내용은 **운전면허증 식별 번호** 표를 참조하세요.  |  | 
|  선거인단 번호 |  `ElectoralRollNumber`  |  `electoral #`, `electoral number`, `electoral roll #`, `electoral roll no.`, `electoral roll number`, `electoralrollno`  |  영국  |  | 
|  개인 납세자 식별 |  `IndividualTaxIdenticationNumber`  |  예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **개인 납세자 식별 번호** 표를 참조하세요.  |  브라질, 프랑스, 독일, 스페인, 영국  |  | 
|  국립 통계 경제 연구소(INSEE) |  `InseeCode`  |  예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **국가 식별 번호용 키워드** 표를 참조하세요.  |  프랑스  |  | 
|  국적 식별 번호 |  `NationalIdentificationNumber`  |  예. 자세한 내용은 이 섹션 뒷부분의 **국가 식별 번호용 키워드** 표를 참조하세요.  |  독일, 이탈리아, 스페인  | 여기에는 DNI(Documento Nacional de Identidad) 식별자(스페인), Codice fiscale 코드(이탈리아) 및 국가 신분증 번호(독일어)가 포함됩니다. | 
| National Insurance Number(NINO) |  `NationalInsuranceNumber`  | insurance no., insurance number,  insurance\$1, national insurance number, nationalinsurance\$1, nationalinsurancenumber, nin, nino | 영국 | – | 
| Número de identidad de extranjero(NIE) |  `NieNumber`  | 예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **개인 납세자 식별 번호** 표를 참조하세요. | 스페인 |  | 
| Número de Identificación Fiscal(NIF) |  `NifNumber`  | 예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **개인 납세자 식별 번호** 표를 참조하세요. | 스페인 |  | 
| 여권 번호 |  `PassportNumber`  | 예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **여권 번호 키워드** 표를 참조하세요. | 캐나다, 프랑스, 독일, 이탈리아, 스페인, 영국, 미국 |  | 
| 영주권 번호 |  `PermanentResidenceNumber`  | carte résident permanent, numéro carte résident permanent, numéro résident permanent, permanent resident card, permanent resident card number, permanent resident no,  permanent resident no., permanent resident number, pr no, pr no., pr non, pr number, résident permanent no., résident permanent non | 캐나다 |  | 
| 전화번호 |  `PhoneNumber`  |  브라질: 키워드에 `cel`, `celular`, `fone`, `móvel`, `número residencial`, `numero residencial`, `telefone`을 포함합니다. 기타: `cell`, `contact`, `fax`, `fax number`, `mobile`, `phone`, `phone number`, `tel`, `telephone`, `telephone number`   | 브라질, 캐나다, 프랑스, 독일, 이탈리아, 스페인, 영국, 미국 | 여기에는 미국 내 수신자 부담 전화번호와 팩스 번호가 포함됩니다. 키워드가 데이터에 근접한 경우 번호에 국가 코드를 포함할 필요가 없습니다. 키워드가 데이터에 근접하지 않은 경우 숫자에 국가 코드가 포함되지 않아도 됩니다. | 
| 우편 번호 |  `PostalCode`  | 없음 | 캐나다 |  | 
| Registro Geral(RG) |  `RgNumber`  | 예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **개인 납세자 식별 번호** 표를 참조하세요. | 브라질 |  | 
| Social Insurance Number(SIN) |  `SocialInsuranceNumber`  | canadian id, numéro d'assurance sociale, social insurance number, sin | 캐나다 |  | 
| 사회 보장 번호(SSN) |  `Ssn`  | 스페인 – `número de la seguridad social`, `social security no.`, `social security no`. `número de la seguridad social`, `social security number`, `socialsecurityno#`, `ssn`, `ssn#`  미국 – `social security`, `ss#`, `ssn`   | 스페인, 미국 |  | 
| 납세자 식별 번호 또는 참조 번호 |  `TaxId`  | 예. 국가마다 다른 키워드가 적용됩니다. 자세한 내용은 이 섹션 뒷부분의 **개인 납세자 식별 번호** 표를 참조하세요.. | 프랑스, 독일, 스페인, 영국 | 여기에는 TIN(프랑스), Steueridentifikationsnummer(독일), CIF(스페인), UTR 및 TRN(영국)이 포함됩니다. | 
| 우편 번호 |  `ZipCode`  | zip code, zip\$14 | 미국 | 미국 우편 번호입니다. | 
| 우편 주소 |  `Address`  | 없음 | 호주, 캐나다, 프랑스, 독일, 이탈리아, 스페인, 영국, 미국 | 키워드가 필수 항목은 아니지만 검색하려면 주소에 도시 또는 장소의 이름과 우편 번호를 포함해야 합니다. | 
| 전자 메일 주소 |  `EmailAddress`  | 없음 | 임의 |  | 
| 위성 항법 시스템(GPS) 좌표 |  `LatLong`  | coordinate, coordinates, lat long,  latitude longitude, location, position | 임의 | CloudWatch Logs는 위도 및 경도 좌표가 쌍으로 저장되고 DD(10진수 도) 형식인 경우 GPS 좌표를 탐지할 수 있습니다(예: 41.948614,-87.655311). 지원에는 10진수 도(DDM) 형식의 좌표(예: 41°56.9168'N 87°39.3187'W) 또는 도, 분, 초(DMS) 형식의 좌표(예: 41°56'55.0104"N 87°39'19.1196"W)가 포함되지 않습니다. | 
| 전체 이름 |  `Name`  | 없음 | 임의 | CloudWatch Logs는 전체 이름만 감지할 수 있습니다. 라틴 문자 집합만 지원합니다. | 
| 차량 식별 번호(VIN) |  `VehicleIdentificationNumber`  | Fahrgestellnummer, niv, numarul de identificare, numarul seriei de sasiu, serie sasiu, numer VIN, Número de Identificação do Veículo,  Número de Identificación de Automóviles, numéro d'identification du véhicule, vehicle identification number, vin, VIN numeris | 임의 | CloudWatch Logs는 17자 시퀀스로 구성되고 ISO 3779 및 3780 표준을 준수하는 VIN을 탐지할 수 있습니다. 이 표준은 전 세계에서 사용할 수 있도록 설계되었습니다. | 

## 운전면허증 식별 번호 키워드
<a name="CWL-managed-data-identifiers-pii-dl-keywords"></a>

다양한 유형의 운전면허증 식별 번호를 탐지하기 위해 CloudWatch Logs에 해당 번호에 가까운 키워드가 있어야 합니다. 다음 표는 특정 국가 및 리전에서 CloudWatch Logs가 인식하는 키워드를 나열합니다.


| 국가 또는 리전 | 키워드 | 
| --- | --- | 
| 호주 | dl\$1 dl:, dl :, dlno\$1 driver licence, driver license, driver permit, drivers lic., drivers licence, driver's licence, drivers license, driver's license, drivers permit, driver's permit, drivers permit number, driving licence, driving license, driving permit | 
| 오스트리아 | führerschein, fuhrerschein, führerschein republik österreich, fuhrerschein republik osterreich | 
| 벨기에 | fuehrerschein, fuehrerschein- nr, fuehrerscheinnummer, fuhrerschein, führerschein, fuhrerschein- nr, führerschein- nr, fuhrerscheinnummer, führerscheinnummer, numéro permis conduire, permis de conduire, rijbewijs, rijbewijsnummer | 
| 불가리아 | превозно средство, свидетелство за управление на моторно, свидетелство за управление на мпс, сумпс, шофьорска книжка | 
| 캐나다 | dl\$1, dl:, dlno\$1, driver licence, driver licences, driver license, driver licenses, driver permit, drivers lic., drivers licence, driver's licence, drivers licences, driver's licences, drivers license, driver's license, drivers licenses, driver's licenses, drivers permit, driver's permit, drivers permit number, driving licence, driving license, driving permit, permis de conduire | 
| 크로아티아 | vozačka dozvola | 
| 사이프러스 | άδεια οδήγησης | 
| 체코 공화국 | číslo licence, císlo licence řidiče, číslo řidičského průkazu, ovladače lic., povolení k jízdě, povolení řidiče, řidiči povolení, řidičský prúkaz, řidičský průkaz | 
| 덴마크 | kørekort, kørekortnummer | 
| 에스토니아 | juhi litsentsi number, juhiloa number, juhiluba, juhiluba number | 
| 핀란드 | ajokortin numero, ajokortti, förare lic., körkort, körkort nummer, kuljettaja lic., permis de conduire | 
| 프랑스 | permis de conduire | 
| 독일 | fuehrerschein, fuehrerschein- nr, fuehrerscheinnummer, fuhrerschein, führerschein, fuhrerschein- nr, führerschein- nr, fuhrerscheinnummer, führerscheinnummer | 
| 그리스 | δεια οδήγησης, adeia odigisis | 
| 헝가리 | illesztőprogramok lic, jogosítvány, jogsi, licencszám, vezető engedély, vezetői engedély | 
| 아일랜드 | ceadúnas tiomána | 
| 이탈리아 | patente di guida, patente di guida numero, patente guida, patente guida numero | 
| 라트비아 | autovadītāja apliecība, licences numurs, vadītāja apliecība, vadītāja apliecības numurs, vadītāja atļauja, vadītāja licences numurs, vadītāji lic. | 
| 리투아니아 | vairuotojo pažymėjimas | 
| 룩셈부르크 | fahrerlaubnis, führerschäin | 
| 몰타 | liċenzja tas-sewqan | 
| 네덜란드 | permis de conduire, rijbewijs, rijbewijsnummer | 
| 폴란드 | numer licencyjny, prawo jazdy, zezwolenie na prowadzenie | 
| 포르투갈 | carta de condução, carteira de habilitação, carteira de motorist, carteira habilitação, carteira motorist, licença condução, licença de condução, número de licença, número licença, permissão condução, permissão de condução | 
| 루마니아 | numărul permisului de conducere, permis de conducere | 
| 슬로바키아 | číslo licencie, číslo vodičského preukazu, ovládače lic., povolenia vodičov, povolenie jazdu, povolenie na jazdu, povolenie vodiča, vodičský preukaz | 
| 슬로베니아 | vozniško dovoljenje | 
| 스페인 | carnet conducer, el carnet de conducer, licencia conducer, licencia de manejo, número carnet conducer, número de carnet de conducer, número de permiso conducer, número de permiso de conducer, número licencia conducer, número permiso conducer, permiso conducción, permiso conducer, permiso de conducción | 
| 스웨덴 |  ajokortin numero, dlno\$1 ajokortti, drivere lic., förare lic., körkort, körkort nummer, körkortsnummer, kuljettajat lic.  | 
| 영국 | dl\$1, dl:, dlno\$1, driver licence, driver licences, driver license, driver licenses, driver permit, drivers lic., drivers licence, driver's licence, drivers licences, driver's licences, drivers license, driver's license, drivers licenses, driver's licenses, drivers permit, driver's permit, drivers permit number, driving licence, driving license, driving permit | 
| 미국 | dl\$1, dl:, dlno\$1, driver licence, driver licences, driver license, driver licenses, driver permit, drivers lic., drivers licence, driver's licence, drivers licences, driver's licences, drivers license, driver's license, drivers licenses, driver's licenses, drivers permit, driver's permit, drivers permit number, driving licence, driving license, driving permit | 

## 국가 식별 번호 키워드
<a name="CWL-managed-data-identifiers-pii-natlid-keywords"></a>

다양한 유형의 주민등록번호를 탐지하기 위해 CloudWatch Logs에 해당 번호에 가까운 키워드가 있어야 합니다. 여기에는 Documento Nacional de Identidad(DNI) 식별자(스페인), 프랑스 국립 통계 및 경제 연구소(INSEE) 코드, 독일 신분증 번호 및 Registro Geral(RG) 번호(브라질)이 포함됩니다.

다음 표는 특정 국가 및 리전에서 CloudWatch Logs가 인식하는 키워드를 나열합니다.


| 국가 또는 리전 | 키워드 | 
| --- | --- | 
| 브라질 | registro geral, rg | 
| 프랑스 | assurance sociale, carte nationale d’identité, cni, code sécurité sociale, French social security number, fssn\$1, insee, insurance number, national id number, nationalid\$1, numéro d'assurance, sécurité sociale, sécurité sociale non., sécurité sociale numéro, social, social security, social security number, socialsecuritynumber, ss\$1, ssn, ssn\$1 | 
| 독일 | ausweisnummer, id number, identification number, identity number, insurance number, personal id, personalausweis | 
| 이탈리아 | codice fiscal, dati anagrafici, ehic, health card, health insurance card, p. iva, partita i.v.a., personal data, tax code, tessera sanitaria | 
| 스페인 | dni, dni\$1, dninúmero\$1, documento nacional de identidad, identidad único, identidadúnico\$1, insurance number, national identification number, national identity, nationalid\$1, nationalidno\$1, número nacional identidad, personal identification number, personal identity no, unique identity number, uniqueid\$1 | 

## 여권 번호 키워드
<a name="CWL-managed-data-identifiers-pii-passport-keywords"></a>

다양한 유형의 여권 번호를 탐지하기 위해 CloudWatch Logs에 해당 번호에 가까운 키워드가 있어야 합니다. 다음 표는 특정 국가 및 리전에서 CloudWatch Logs가 인식하는 키워드를 나열합니다.


| 국가 또는 리전 | 키워드 | 
| --- | --- | 
| 캐나다 | passeport, passeport\$1, passport, passport\$1, passportno, passportno\$1 | 
| 프랑스 | numéro de passeport, passeport, passeport\$1, passeport \$1, passeportn °, passeport n °, passeportNon, passeport non | 
| 독일 | ausstellungsdatum, ausstellungsort, geburtsdatum, passport, passports, reisepass, reisepass–nr, reisepassnummer | 
| 이탈리아 | italian passport number, numéro passeport, numéro passeport italien, passaporto, passaporto italiana, passaporto numero, passport number, repubblica italiana passaporto | 
| 스페인 | españa pasaporte, libreta pasaporte, número pasaporte, pasaporte, passport, passport book, passport no, passport number, spain passport | 
| 영국 | passeport \$1, passeport n °, passeportNon, passeport non, passeportn °, passport \$1, passport no, passport number, passport\$1, passportid | 
| 미국 | passport, travel document | 

## 납세자 식별 및 참조 번호 키워드
<a name="CWL-managed-data-identifiers-financial-tin-keywords"></a>

다양한 유형의 납세자 식별 및 참조 번호를 탐지하기 위해 CloudWatch Logs는 숫자 근처에 키워드가 있어야 합니다. 다음 표는 특정 국가 및 리전에서 CloudWatch Logs가 인식하는 키워드를 나열합니다.


| 국가 또는 리전 | 키워드 | 
| --- | --- | 
| 브라질 | cadastro de pessoa física, cadastro de pessoa fisica, cadastro de pessoas físicas, cadastro de pessoas fisicas, cadastro nacional da pessoa jurídica, cadastro nacional da pessoa juridica, cnpj, cpf | 
| 프랑스 | numéro d'identification fiscale, tax id, tax identification number, tax number, tin, tin\$1 | 
| 독일 | identifikationsnummer, steuer id, steueridentifikationsnummer, steuernummer, tax id, tax identification number, tax number | 
| 스페인 | cif, cif número, cifnúmero\$1, nie, nif, número de contribuyente, número de identidad de extranjero, número de identificación fiscal, número de impuesto corporativo, personal tax number, tax id, tax identification number, tax number, tin, tin\$1 | 
| 영국 | paye, tax id, tax id no., tax id number, tax identification, tax identification\$1, tax no., tax number, tax reference, tax\$1, taxid\$1, temporary reference number, tin, trn, unique tax reference, unique taxpayer reference, utr | 
| 미국 | 개인 납세자 식별 번호(itin, i.t.i.n.) | 

## 개인 식별 정보(PII)에 대한 데이터 식별자 ARN
<a name="CWL-data-protection-pii-arns"></a>

다음 표는 데이터 보호 정책에 추가할 수 있는 개인 식별 정보(PII) 데이터 식별자의 Amazon Resource Name(ARN) 목록입니다.


| PII 데이터 식별자 ARN | 
| --- | 
| arn:aws:dataprotection::aws:data-identifier/Address | 
| arn:aws:dataprotection::aws:data-identifier/CepCode-BR | 
| arn:aws:dataprotection::aws:data-identifier/Cnpj-BR | 
| arn:aws:dataprotection::aws:data-identifier/CpfCode-BR | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-AT | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-AU | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-BE | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-BG | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-CA | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-CY | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-CZ | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-DE | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-DK | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-EE | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-ES | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-FI | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-FR | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-GB | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-GR | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-HR | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-HU | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-IE | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-IT | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-LT | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-LU | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-LV | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-MT | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-NL | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-PL | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-PT | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-RO | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-SE | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-SI | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-SK | 
| arn:aws:dataprotection::aws:data-identifier/DriversLicense-US | 
| arn:aws:dataprotection::aws:data-identifier/ElectoralRollNumber-GB | 
| arn:aws:dataprotection::aws:data-identifier/EmailAddress | 
| arn:aws:dataprotection::aws:data-identifier/IndividualTaxIdentificationNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/InseeCode-FR | 
| arn:aws:dataprotection::aws:data-identifier/LatLong | 
| arn:aws:dataprotection::aws:data-identifier/Name | 
| arn:aws:dataprotection::aws:data-identifier/NationalIdentificationNumber-DE | 
| arn:aws:dataprotection::aws:data-identifier/NationalIdentificationNumber-ES | 
| arn:aws:dataprotection::aws:data-identifier/NationalIdentificationNumber-IT | 
| arn:aws:dataprotection::aws:data-identifier/NieNumber-ES | 
| arn:aws:dataprotection::aws:data-identifier/NifNumber-ES | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-CA | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-DE | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-ES | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-FR | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-GB | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-IT | 
| arn:aws:dataprotection::aws:data-identifier/PassportNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/PermanentResidenceNumber-CA | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-BR | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-DE | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-ES | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-FR | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-GB | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-IT | 
| arn:aws:dataprotection::aws:data-identifier/PhoneNumber-US | 
| arn:aws:dataprotection::aws:data-identifier/PostalCode-CA | 
| arn:aws:dataprotection::aws:data-identifier/RgNumber-BR | 
| arn:aws:dataprotection::aws:data-identifier/SocialInsuranceNumber-CA | 
| arn:aws:dataprotection::aws:data-identifier/Ssn-ES | 
| arn:aws:dataprotection::aws:data-identifier/Ssn-US | 
| arn:aws:dataprotection::aws:data-identifier/TaxId-DE | 
| arn:aws:dataprotection::aws:data-identifier/TaxId-ES | 
| arn:aws:dataprotection::aws:data-identifier/TaxId-FR | 
| arn:aws:dataprotection::aws:data-identifier/TaxId-GB | 
| arn:aws:dataprotection::aws:data-identifier/VehicleIdentificationNumber | 
| arn:aws:dataprotection::aws:data-identifier/ZipCode-US | 

# 사용자 지정 데이터 식별자
<a name="CWL-custom-data-identifiers"></a>

**Topics**
+ [사용자 지정 데이터 식별자란?](#what-are-custom-data-identifiers)
+ [사용자 지정 데이터 식별자 제약](#custom-data-identifiers-constraints)
+ [콘솔에서 사용자 지정 데이터 식별자 사용](#using-custom-data-identifiers-console)
+ [데이터 보호 정책에서 사용자 지정 데이터 식별자 사용](#using-custom-data-identifiers)

## 사용자 지정 데이터 식별자란?
<a name="what-are-custom-data-identifiers"></a>

사용자 지정 데이터 식별자(CDI)를 통해 데이터 보호 정책에 사용할 수 있는 사용자 지정 정규 표현식을 정의할 수 있습니다. 사용자 지정 데이터 식별자를 사용하면 [관리형 데이터 식별자](CWL-managed-data-identifiers.md)로는 제공할 수 없는 비즈니스별 개인 식별 정보(PII) 사용 사례를 대상으로 지정할 수 있습니다. 예를 들어, 사용자 지정 데이터 식별자를 사용하여 회사별 직원 ID를 찾을 수 있습니다. 사용자 지정 데이터 식별자는 관리형 데이터 식별자와 함께 사용할 수 있습니다.

## 사용자 지정 데이터 식별자 제약
<a name="custom-data-identifiers-constraints"></a>

CloudWatch 사용자 지정 데이터 식별자에는 다음과 같은 제한 사항이 있습니다.
+ 각 데이터 보호 정책에 최대 10개의 사용자 지정 데이터 식별자가 지원됩니다.
+ 사용자 지정 데이터 식별자 이름의 최대 길이는 128자입니다. 다음 문자가 지원됩니다.
  + 영숫자: (a-zA-Z0-9)
  + 기호: ('\$1' \$1 '-')
+ RegEx의 최대 길이는 200자입니다. 다음 문자가 지원됩니다.
  + 영숫자: (a-zA-Z0-9)
  + 기호: ( '\$1' \$1 '\$1' \$1 '=' \$1 '@' \$1'/' \$1 ';' \$1 ',' \$1 '-' \$1 ' ' )
  + RegEx 예약 문자: ( '^' \$1 '\$1' \$1 '?' \$1 '[' \$1 ']' \$1 '\$1' \$1 '\$1' \$1 '\$1' \$1 '\$1\$1' \$1 '\$1' \$1 '\$1' \$1 '.' ) 
+ 사용자 지정 데이터 식별자는 관리형 데이터 식별자와 동일한 이름을 공유할 수 없습니다.
+ 사용자 지정 데이터 식별자는 계정 수준 데이터 보호 정책 또는 로그 그룹 수준 데이터 보호 정책에서 지정할 수 있습니다. 관리형 데이터 식별자와 마찬가지로 계정 수준 정책 내에 정의된 사용자 지정 데이터 식별자는 로그 그룹 수준 정책에 정의된 사용자 지정 데이터 식별자와 함께 작동합니다.

## 콘솔에서 사용자 지정 데이터 식별자 사용
<a name="using-custom-data-identifiers-console"></a>

CloudWatch 콘솔을 사용하여 데이터 보호 정책을 생성하거나 편집할 때 사용자 지정 데이터 식별자를 지정하려면 데이터 식별자의 이름과 정규 표현식을 입력하기만 하면 됩니다. 예를 들어 **Employee\$1ID**를 이름으로, **EmployeeID-\$1d\$19\$1**을 정규 표현식으로 입력할 수 있습니다. 이 정규 표현식은 `EmployeeID-` 뒤에 9개의 숫자가 있는 로그 이벤트를 탐지하고 마스킹합니다. 예: `EmployeeID-123456789`

## 데이터 보호 정책에서 사용자 지정 데이터 식별자 사용
<a name="using-custom-data-identifiers"></a>

 AWS CLI 또는 AWS API를 사용하여 사용자 지정 데이터 식별자를 지정하는 경우 데이터 식별자 이름과 정규식을 데이터 보호 정책을 정의하는 데 사용되는 JSON 정책에 포함해야 합니다. 다음 데이터 보호 정책은 회사별 직원 ID가 있는 로그 이벤트를 탐지하고 마스킹합니다.

1. 데이터 보호 정책 내에 `Configuration` 블록을 생성합니다.

1. 사용자 지정 데이터 식별자에 `Name`을 입력합니다. 예: **EmployeeId**

1. 사용자 지정 데이터 식별자에 `Regex`을 입력합니다. 예: **EmployeeID-\$1d\$19\$1** 이 정규 표현식은 `EmployeeID-` 뒤에 9자리 숫자가 있는 `EmployeeID-`가 포함된 로그 이벤트와 일치합니다. 예: `EmployeeID-123456789` 

1. 정책 명령문에서 다음 사용자 지정 데이터 식별자를 참조하세요.

   ```
   {
       "Name": "example_data_protection_policy",
       "Description": "Example data protection policy with custom data identifiers",
       "Version": "2021-06-01",
       "Configuration": {
         "CustomDataIdentifier": [
           {"Name": "EmployeeId", "Regex": "EmployeeId-\\d{9}"}   
         ]
       },
       "Statement": [
           {
               "Sid": "audit-policy",
               "DataIdentifier": [
                   "EmployeeId"
               ],
               "Operation": {
                   "Audit": {
                       "FindingsDestination": {
                           "S3": {
                               "Bucket": "EXISTING_BUCKET"
                           }
                       }
                   }
               }
           },
           {
               "Sid": "redact-policy",
               "DataIdentifier": [
               "EmployeeId"
               ],
               "Operation": {
                   "Deidentify": {
                       "MaskConfig": {
                       }
                   }
               }
           }
       ]
   }
   ```

1. (선택 사항) 필요에 따라 **사용자 지정 데이터 식별자**를 `Configuration` 블록에 계속 추가합니다. 데이터 보호 정책은 현재 최대 10개의 사용자 지정 데이터 식별자를 지원합니다.