

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

# EMR WAL 서비스에 대한 고객 KMS 키를 사용한 저장 데이터 암호화
<a name="encryption-at-rest-kms"></a>

EMR 미리 쓰기 로그(WAL)는 고객 KMS 키 encryption-at-rest를 지원합니다. Amazon EMR WAL이 AWS KMS와 통합되는 방법에 대한 자세한 내용은 다음과 같습니다.

EMR 미리 쓰기 로그(WAL)는 `EMR_EC2_DefaultRole` 기본적으로를 `TrimWAL` 통해 `CreateWAL`, , `AppendEdit`, `ArchiveWALCheckPoint``CompleteWALFlush`, `ReplayEdits`, `GetCurrentWALTime`, AWS `DeleteWAL`와 상호 작용합니다. 나열된 이전 작업이 간접적으로 호출되면 EMR WAL은 KMS 키에 `GenerateDataKey` 대해 `Decrypt` 및를 생성합니다.

## 고려 사항
<a name="encryption-at-rest-considerations"></a>

EMR WAL에 AWS KMS 기반 암호화를 사용할 때는 다음 사항을 고려하세요.
+ EMR WAL이 생성된 후에는 암호화 구성을 변경할 수 없습니다.
+ 자체 KMS 키로 KMS 암호화를 사용하는 경우, 해당 키는 Amazon EMR 클러스터와 동일한 리전에 있어야 합니다.
+ 필요한 모든 IAM 권한을 유지할 책임이 있으며 WAL 기간 동안 필요한 권한을 취소하지 않는 것이 좋습니다. 그렇지 않으면 연결된 암호화 키가 존재하지 않으므로 EMR WAL을 삭제할 수 없는 등 예기치 않은 장애 시나리오가 발생합니다.
+  AWS KMS 키 사용과 관련된 비용이 있습니다. 자세한 내용은 [AWS Key Management Service 요금](https://aws.amazon.com/kms/pricing/)을 참조하세요.

## 필수 IAM 권한
<a name="encryption-at-rest-required-iam-permissions"></a>

고객 KMS 키를 사용하여 미사용 시 EMR WAL을 암호화하려면 EMR WAL 클라이언트 역할 및 EMR WAL 서비스 보안 주체에 대한 적절한 권한을 설정합니다`emrwal.amazonaws.com`.

### EMR WAL 클라이언트 역할에 대한 권한
<a name="encryption-at-rest-permissions-client-role"></a>

다음은 EMR WAL 클라이언트 역할에 필요한 IAM 정책입니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*"
      ],
      "Resource": [
        "*"
      ],
      "Sid": "AllowKMSDecrypt"
    }
  ]
}
```

------

EMR 클러스터의 EMR WAL 클라이언트는 `EMR_EC2_DefaultRole`을 기본적으로 사용합니다. EMR 클러스터의 인스턴스 프로파일에 다른 역할을 사용하는 경우 각 역할에 적절한 권한이 있는지 확인합니다.

역할 정책 관리에 대한 자세한 내용은 [IAM 자격 증명 권한 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.

### KMS 키 정책에 대한 권한
<a name="encryption-at-rest-permissions-kms-key-policy"></a>

KMS 정책에서 EMR WAL 클라이언트 역할과 EMR WAL 서비스 `Decrypt` 및 `GenerateDataKey*` 권한을 부여합니다. 키 정책 관리에 대한 자세한 내용은 [KMS 키 정책](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)을 참조하세요.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*"
      ],
      "Resource": [
        "arn:aws:kms:*:123456789012:key/*"
      ],
      "Sid": "AllowKMSDecrypt"
    }
  ]
}
```

------

기본 역할을 변경하면 코드 조각에 지정된 역할이 변경될 수 있습니다.

## 와의 Amazon EMR WAL 상호 작용 모니터링 AWS KMS
<a name="encryption-at-rest-monitoring-emr-wal-kms"></a>

### Amazon EMR WAL 암호화 컨텍스트
<a name="encryption-at-rest-encryption-context"></a>

암호화 컨텍스트는 보안되지 않은 임의의 데이터를 포함하는 키-값 페어 세트입니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하면 암호화 컨텍스트가 암호화된 데이터에 AWS KMS 암호화 방식으로 바인딩됩니다. 따라서 동일한 암호화 컨텍스트로 전달해야 이 데이터를 해독할 수 있습니다.

[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) 및 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 요청에서 AWS KMS Amazon EMR WAL은 EMR WAL 이름을 식별하는 하나의 이름-값 페어가 있는 암호화 컨텍스트를 사용합니다.

```
"encryptionContext": {
    "aws:emrwal:walname": "111222333444555-testworkspace-emrwalclustertest-emrwaltestwalname"
}
```

암호화 컨텍스트를 사용하여 AWS CloudTrail 및 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)와 같은 감사 레코드 및 로그에서 이러한 암호화 작업을 식별하고 정책 및 권한 부여의 권한 부여 조건으로 식별할 수 있습니다.