

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# EMR WAL サービスのカスタマー KMS キーを使用した保管時の暗号化
<a name="encryption-at-rest-kms"></a>

EMR 先行書き込みログ (WAL) は、お客様の encryption-at-rest をサポートします。Amazon EMR WAL と AWS KMSの統合方法の概要を以下に示します:

EMR 先行書き込みログ (WAL) は`CreateWAL`、デフォルトで `TrimWAL`を介して `ReplayEdits`、、、、`AppendEdit``ArchiveWALCheckPoint``CompleteWALFlush``DeleteWAL``GetCurrentWALTime`、、 オペレーション AWS 中に とやり取りします。リストされた以前のオペレーションが呼び出されると、EMR WAL は `EMR_EC2_DefaultRole` KMS キー`GenerateDataKey`に対して `Decrypt`および を実行します。

## 考慮事項
<a name="encryption-at-rest-considerations"></a>

EMR WAL で AWS KMS ベースの暗号化を使用する場合は、次の点を考慮してください。
+ EMR WAL の作成後に暗号化設定を変更できません。
+ 独自の KMS キーで EMR 暗号化を使用する場合、そのキーは 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 ID のアクセス許可の追加および削除](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 key policy](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 暗号化バインドします。データを復号するには、同じ暗号化コンテキストに渡す必要があります。

Amazon EMR WAL は 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) リクエストで、EMR WAL 名を識別する 1 つの名前と値のペアを持つ暗号化コンテキストを使用します。

```
"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) などの監査レコードとログでこれらの暗号化オペレーションを識別し、ポリシーと許可で認可の条件として指定できます。