EMR WAL サービスのカスタマー KMS キーを使用した保管時の暗号化
EMR 先行書き込みログ (WAL) は、お客様の encryption-at-rest をサポートします。Amazon EMR WAL と AWS KMS の統合方法の概要を以下に示します:
EMR 先行書き込みログ (WAL) は、デフォルトで EMR_EC2_DefaultRoleを介して、CreateWAL、AppendEdit、ArchiveWALCheckPoint、CompleteWALFlush、DeleteWAL、GetCurrentWALTime、ReplayEdits、TrimWAL のオペレーション中に AWS とやり取りします。リストされた以前のオペレーションが呼び出されると、EMR WAL は KMS キーに対して Decrypt および GenerateDataKey を実行します。
考慮事項
EMR WAL で AWS KMS ベースの暗号化を使用する場合は、以下の点を考慮してください:
-
EMR WAL の作成後に暗号化設定を変更できません。
-
独自の KMS キーで EMR 暗号化を使用する場合、そのキーは Amazon EMR クラスタークラスターと同じリージョンに存在する必要があります。
-
必要なすべての IAM アクセス許可を維持する責任があり、WAL の有効期間中は必要なアクセス許可を取り消しないことをお勧めします。そうしないと、関連する暗号化キーが存在しないため、EMR WAL を削除できないなどの予期しない障害シナリオが発生します。
-
AWS KMS キーの使用に関連するコストがあります。詳細については、「AWS Key Management Service 料金表
」を参照してください。
必要な IAM 許可
カスタマー KMS キーを使用して保管中の EMR WAL を暗号化するには、EMR WAL クライアントロール と EMR WAL サービスプリンシパル emrwal.amazonaws.com に適切なアクセス許可を設定する必要があります。
EMR WAL クライアントロールのアクセス許可
以下は、EMR WAL クライアントロールに必要な IAM ポリシーです:
EMR クラスターの EMR WAL クライアントは、デフォルトで EMR_EC2_DefaultRole を使用します。EMR クラスターのインスタンスプロファイルに別のロールを使用する場合は、各ロールに適切なアクセス許可があることを確認してください。
ロールポリシーの管理の詳細については、「IAM ID のアクセス許可の追加および削除」を参照してください。
KMS キーポリシーのアクセス許可
KMS ポリシーで EMR WAL クライアントロールと EMR WAL サービス Decrypt と GenerateDataKey* アクセス許可を付与する必要があります。キーポリシー管理の詳細については、「KMS key policy」を参照してください。
デフォルトのロールを変更することにより、スニペットで指定されたロールが変更される可能性があります。
Amazon EMR WAL と AWS KMS の対話のモニタリング
Amazon EMR WAL 暗号化コンテキスト
暗号化コンテキストは、シークレットデータを含まない一連のキーと値のペアです。データを暗号化するリクエストに暗号化コンテキストを組み込むと、AWS KMS は暗号化コンテキストを暗号化されたデータに暗号化してバインドします。データを復号するには、同じ暗号化コンテキストに渡す必要があります。
AWS KMS に対するその GenerateDataKey と Decrypt リクエストでは、Amazon EMR WAL は、EMR WAL 名を識別する名前と値の 1 つのペアを含む暗号化コンテキストを使用します。
"encryptionContext": { "aws:emrwal:walname": "111222333444555-testworkspace-emrwalclustertest-emrwaltestwalname" }
暗号化コンテキストを使用して、AWS CloudTrailhttps://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html や Amazon CloudWatch Logs などの監査レコードやログで、ポリシーや許可の認可の条件として、これらの暗号化オペレーションを識別できます。