暗号化を有効にする
Amazon S3でデータをステージングするために、Amazon Redshift V2接続でクライアントサイド暗号化とサーバーサイド暗号化を有効にすることができます。
マッピングのAmazon Redshift V2ソーストランスフォーメーションおよびターゲットトランスフォーメーションで暗号化を設定することもできます。マッピングで暗号化を設定する方法の詳細については、「Amazon Redshift V2ソースでのデータ暗号化」および「Amazon Redshift V2ターゲットでのデータ暗号化」を参照してください。
Amazon Redshift V2接続で設定する暗号化のタイプに応じた前提条件を満たします。
- クライアントサイド暗号化
- クライアントサイド暗号化には、Base64形式の256ビットAES暗号化キーが必要です。暗号化キーは、サードパーティ製ツールを使用して生成できます。
- Amazon Redshift V2接続を作成するときに、[マスタ対称キー]フィールドにキー値を指定します。
- サーバーサイド暗号化
- サーバーサイド暗号化を有効にするには、AWS Key Management Service(AWS KMS)で管理される顧客マスタキーを作成します。
- Amazon S3ステージングバケットが存在するリージョンの顧客マスタキーIDを生成します。顧客マスタキーの生成の詳細については、AWSのドキュメントを参照してください。
- カスタママスタキーを使用した暗号化を有効にするには、最小限のKMSポリシーを作成する必要があります。Amazon Redshift V2接続を作成するときに、顧客マスタキーIDを指定できます。
注: マスタ対称キーを使用したサーバーサイド暗号化と、顧客マスタキーを使用したクライアントサイド暗号化を設定することはできません。
AWS KMSを使用するための最小限のポリシーの作成
AWS Key Management Service(AWS KMS)で管理された顧客マスタキーを使用し、KMSを使用した暗号化を有効にするには、KMSポリシーを作成する必要があります。
KMSを使用した暗号化を有効にするには、次の操作を実行します。
- •GenerateDataKey
- •DescribeKey
- •暗号化
- •復号化
- •ReEncrypt
サンプルポリシー:
{
"Version":"2012-10-17",
"Statement":[
{ "Effect":"Allow",
"Action":
[ "kms:GenerateDataKey", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*" ],
"Resource": ["arn:aws:kms:region:account:key/<KMS_key>"]
}
]
}
KMSを設定し、中国地域のAmazon S3エンドポイントにアクセスする場合は、次のサンプルポリシーを使用します。
{
"Version":"2012-10-17",
"Statement":[
{ "Effect":"Allow",
"Action":[ "kms:GenerateDataKey", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*" ],
"Resource": ["arn:aws-cn:kms:region:account:key/<KMS_key>"]
}
]
}