マネージドクエリ結果を暗号化する
Athena は、マネージドクエリ結果 を暗号化するための以下のオプションを提供します。
AWS 所有キーを使用した暗号化
これは、マネージドクエリ結果を使用する場合のデフォルトのオプションです。このオプションは、ユーザーが AWS 所有キーを使用してクエリ結果を暗号化することを示します。AWS 所有キーが AWS アカウントに保存されることはなく、AWS 所有の KMS キーのコレクションの一部となります。AWS 所有のキーを利用しても利用料はかからず、アカウントの AWS KMS クォータにもカウントされません。
AWS KMS カスタマーマネージドキーを使用して暗号化する
カスタマーマネージドキーは、お客様が作成、所有、管理する AWS アカウントの KMS キーです。これらの KMS キーでは、キーポリシー、IAM ポリシー、権限の確立と管理、有効化と無効化、暗号化マテリアルのローテーション、タグの追加、KMS キーを参照するエイリアスの作成 、KMS キー削除のスケジューリングなどを含め、これらを完全に制御できます。詳細については、「カスタマーマネージドキー」を参照してください。
Athena がカスタマーマネージドキーを使用して結果を暗号化する方法
カスタマーマネージドキーを指定すると、Athena はマネージドクエリ結果に保存されるときに、そのマネージドキーを使用してクエリ結果を暗号化します。GetQueryResults
を呼び出すと、結果の復号に同じキーが使用されます。カスタマーマネージドキーの状態を無効に設定するか、マネージドキーの削除をスケジュールすると、Athena とすべてのユーザーがこのキーで結果を暗号化または復号できなくなります。
Athena は、エンベロープ暗号化とキー階層を使用してデータを暗号化します。AWS KMS 暗号化キーは、このキー階層のルートキーを生成および復号するために使用されます。
各結果は、暗号化時にワークグループで設定されたカスタマーマネージドキーを使用して暗号化されます。キーを別のカスタマーマネージドキーまたは AWS 所有キーに切り替えても、新しいキーで既存の結果を再暗号化することはありません。特定のカスタマーマネージドキーの削除と無効化は、そのキーで暗号化した結果の復号にのみ影響します。
Athena は、結果を暗号化および復号するための kms:Decrypt
、kms:GenerateDataKey
、および kms:DescribeKey
オペレーションを実行するために、暗号化キーにアクセスする必要があります。詳細については、「Amazon S3 の暗号化されたデータに対する許可」を参照してください。
StartQueryExecution
API を使用してクエリを送信し、GetQueryResults
を使用して結果を読み取るプリンシパルには、Athena および Amazon S3 のアクセス許可に加えて、kms:Decrypt
、kms:GenerateDataKey
、および kms:DescribeKey
オペレーションのカスタマーマネージドキーに対するアクセス許可も必要です。詳細については、「AWS KMS のキーポリシー」を参照してください。