

# CSE-KMS から SSE-KMS への移行
<a name="migrating-csekms-ssekms"></a>

CSE-KMS 暗号化は、ワークグループクエリ結果の暗号化を設定する際に指定するか、クライアント側の設定で指定することができます。詳細については、「[Amazon S3 に保存された Athena クエリ結果を暗号化する](encrypting-query-results-stored-in-s3.md)」を参照してください。移行プロセス中、CSE-KMS データの読み取りと書き込みを行う既存のワークフローの監査、CSE-KMS が設定されているワークグループの特定、クライアント側のパラメータを介して CSE-KMS が設定されているインスタンスの検出を行うことが重要です。

## ワークグループのクエリ結果の暗号化設定を更新する
<a name="migrating-updating-workgroup-query-results-encryption"></a>

------
#### [ Console ]

**Athena コンソールでデータ暗号化設定を更新するには**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/) で Athena コンソールを開きます。

1. Athena コンソールのナビゲーションペインで、**[Workgroups]** (ワークグループ) をクリックします。

1. **[Workgroups]** (ワークグループ) ページで、編集するワークグループのボタンを選択します。

1. **[Actions]**、**[Edit]** の順に選択します。

1. **[クエリ結果の設定]** を展開し、**[クエリ結果を暗号化]** を選択します。

1. **[暗号化タイプ]** セクションで、**[SSE\_KMS]** 暗号化オプションを選択します。

1. **[別の AWS KMS キーを選択する (詳細]** に KMS キーを入力します。

1. **[Save changes]** (変更の保存) を選択します。更新されたワークグループが **[Workgroups]** (ワークグループ) ページのリストに表示されます。

------
#### [ CLI ]

次のコマンドを実行して、ワークグループのクエリ結果の暗号化設定を SSE-KMS に更新します。

```
aws athena update-work-group \
    --work-group "{{my-workgroup}}" \
    --configuration-updates '{
        "ResultConfigurationUpdates": {
            "EncryptionConfiguration": {
                "EncryptionOption": "SSE_KMS",
                "KmsKey": "{{<my-kms-key>}}"
            }
        }
    }'
```

------

## クライアント側のクエリ結果の暗号化設定を更新する
<a name="migrating-updating-clientside-query-results-encryption"></a>

------
#### [ Console ]

クエリ結果の暗号化に関するクライアント側の設定を CSE-KMS から SSE-KMS に更新するには、「[Amazon S3 に保存された Athena クエリ結果を暗号化する](encrypting-query-results-stored-in-s3.md)」を参照してください。

------
#### [ CLI ]

クエリ結果の暗号化設定は、 `start-query-execution` コマンドを使用してクライアント側の設定でのみ指定できます。この CLI コマンドを実行して、ワークグループで CSE-KMS で指定したクエリ結果の暗号化設定を上書きする場合は、次に示すように `SSE_KMS` を使用してクエリ結果を暗号化するようにコマンドを変更します。

```
aws athena start-query-execution \
    --query-string "SELECT * FROM {{<my-table>}};" \
    --query-execution-context "Database={{<my-database>}},Catalog={{<my-catalog>}}" \
    --result-configuration '{
        "EncryptionConfiguration": {
            "EncryptionOption": "SSE_KMS",
            "KmsKey": "{{<my-kms-key>}}"
        }
    }' \
    --work-group "{{<my-workgroup>}}"
```

------

**注記**  
ワークグループまたはクライアント側の設定を更新すると、書き込みクエリで挿入する新しいデータでは、CSE-KMS ではなく SSE-KMS 暗号化が使用されます。これは、新しく挿入されるテーブルデータにもクエリ結果の暗号化設定が適用されるためです。Athena のクエリ結果、メタデータ、マニフェストファイルも SSE-KMS で暗号化されます。
Athena は、CSE-KMS 暗号化オブジェクトと SSE-S3/SSE-KMS オブジェクトが混在している場合でも、`has_encrypted_data` テーブルプロパティを含むテーブルを読み取ることができます。