Amazon EMR ではバージョン 4.8.0 以降、S3 に格納するデータの暗号化に対応しました。
S3 のサーバーサイド暗号化については Amazon S3 がキーを管理する SSE-S3 またはユーザーがキーを作成、管理する SSE-KMS に対応しています。
暗号化オプション - Amazon EMR
Amazon EMR バージョン 4.8.0 以降においては、セキュリティ設定を使用して、保管中のデータ、転送中のデータ、またはその両方の暗号化の設定を指定できます。保管中のデータの暗号化を有効にすると、Amazon S3 内にある EMRFS データもしくはローカルディスク内にあるデータのいずれかまたはその両方の暗号...
EMR で S3 暗号化に対応するには「セキュリティ設定」を作成して EMR クラスター作成時に設定する必要があります。
セキュリティ設定を使用してクラスターセキュリティをセットアップする - Amazon EMR
Amazon EMR リリースバージョン 4.8.0 以降では、セキュリティ設定を使用して、データ暗号化、Kerberos 認証 (リリースバージョン 5.10.0 以降)、および EMRFS の Amazon S3 認証 (リリースバージョン 5.10.0 以降) を設定できます。
今回は「セキュリティ設定」を CloudFormation で作成します。
Amazon EMR セキュリティ設定を作成する CloudFormation テンプレート
SSE-S3 を使う Amazon EMR セキュリティ設定を作成する CloudFormation テンプレート
- EncryptionMode に SSE-S3 を指定します。
AWSTemplateFormatVersion: '2010-09-09'
Resources:
EMRSecurityConfiguration:
Type: AWS::EMR::SecurityConfiguration
Properties:
Name: emr-security-configuration-sse-s3
SecurityConfiguration: '{
"EncryptionConfiguration": {
"EnableInTransitEncryption": false,
"EnableAtRestEncryption": true,
"AtRestEncryptionConfiguration": {
"S3EncryptionConfiguration": {
"EncryptionMode": "SSE-S3"
}
}
}
}'
SSE-KMS を使う Amazon EMR セキュリティ設定を作成する CloudFormation テンプレート
- EncryptionMode に SSE-KMS を指定します。
- AwsKmsKey に KMS キーの ARN を指定します。
AWSTemplateFormatVersion: '2010-09-09'
Resources:
EMRSecurityConfiguration:
Type: AWS::EMR::SecurityConfiguration
Properties:
Name: emr-security-configuration-sse-kms
SecurityConfiguration: '{
"EncryptionConfiguration": {
"EnableInTransitEncryption": false,
"EnableAtRestEncryption": true,
"AtRestEncryptionConfiguration": {
"S3EncryptionConfiguration": {
"EncryptionMode": "SSE-KMS",
"AwsKmsKey": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
}
}
}
}'