Перейти к основному содержимому
Перейти к основному содержимому

Миграция с CMEK v1 на v2

Мы повышаем безопасность сервисов, использующих управляемые клиентом ключи шифрования (CMEK). Теперь для каждого сервиса настроена отдельная роль AWS, которая авторизует использование клиентских ключей для шифрования и расшифровки. Эта новая роль отображается только на экране конфигурации сервиса.

В рамках этого нового процесса поддерживаются как OpenAPI, так и Terraform. Дополнительную информацию см. в нашей документации (Улучшенное шифрование, Cloud API, Официальный провайдер Terraform).

Примечание

Клиенты, использующие CMEK v1, должны выполнить миграцию сервисов не позднее 1 июня 2026 года. После этой даты управляемые клиентом ключи по умолчанию будут заменены на ключи, управляемые ClickHouse. После такой миграции по умолчанию клиенты могут снова перейти на использование управляемых клиентом ключей.

Ручная миграция

Выполните следующие шаги, чтобы перейти на новый процесс:

  1. Войдите в консоль по адресу https://console.clickhouse.cloud
  2. Нажмите на зашифрованный сервис
  3. В левой панели нажмите Service Settings
  4. Пролистайте страницу до конца и разверните View service details
  5. Скопируйте Encryption Role ID (IAM)
  6. Перейдите к своему ключу KMS в AWS и обновите Key Policy, добавив следующее:
{
   "Sid": "Allow ClickHouse Access",
   "Effect": "Allow",
   "Principal": {
       "AWS": ["Encryption role ID (ARN)"]
   },
   "Action": [
       "kms:Encrypt",
       "kms:Decrypt",
       "kms:ReEncrypt*",
       "kms:DescribeKey"
   ],
   "Resource": "*"
}
  1. В ClickHouse Cloud откройте запрос в службу поддержки и сообщите, что нам можно включить новый метод. Это изменение требует перезапуска сервиса, поэтому, пожалуйста, укажите, какой день и время будут наиболее удобны для перезапуска.
  2. После того как мы перезапустим сервис, перейдите к своему ключу KMS в AWS и удалите следующее из политики ключа (Key Policy):
{
   "Sid": "Allow ClickHouse Access",
       "Effect": "Allow",
       "Principal": {
           "AWS": "arn:aws:iam::576599896960:role/prod-kms-request-role"
       },
       "Action": ["kms:GetPublicKey",
       "kms:Decrypt",
       "kms:GenerateDataKeyPair",
       "kms:Encrypt",
       "kms:GetKeyRotationStatus",
       "kms:GenerateDataKey",
       "kms:DescribeKey"],
       "Resource": "*"
}
  1. Обновление завершено!

Миграция Terraform

  1. Обновитесь до Terraform версии 3.5.0 или выше.
  2. Примените Terraform без изменений. В состоянии Terraform появится новое поле для transparent_data_encryption. Зафиксируйте здесь значение role_id.
  3. Перейдите к своему ключу KMS в AWS и обновите Key Policy, добавив следующее:
{
   "Sid": "Allow ClickHouse Access",
   "Effect": "Allow",
   "Principal": {
       "AWS": ["Encryption role ID (ARN)"]
   },
   "Action": [
       "kms:Encrypt",
       "kms:Decrypt",
       "kms:ReEncrypt*",
       "kms:DescribeKey"
   ],
   "Resource": "*"
}
  1. В ClickHouse Cloud откройте обращение в службу поддержки с указанием имени сервиса, чтобы сообщить нам, что можно включить новый метод. Это изменение требует перезапуска сервиса, поэтому сообщите, пожалуйста, в какой день и в какое время предпочтительнее выполнить перезапуск.
  2. После того как мы перезапустим сервис, вы можете установить параметр transparent_data_encryption.enabled в значение ‘True’, удалить настройку tier в Terraform и применить изменения. Это не приведёт к каким‑либо изменениям.
  3. Перейдите к вашему ключу KMS в AWS и удалите следующее из Key Policy:
{
   "Sid": "Allow ClickHouse Access",
       "Effect": "Allow",
       "Principal": {
           "AWS": "arn:aws:iam::576599896960:role/prod-kms-request-role"
       },
       "Action": ["kms:GetPublicKey",
       "kms:Decrypt",
       "kms:GenerateDataKeyPair",
       "kms:Encrypt",
       "kms:GetKeyRotationStatus",
       "kms:GenerateDataKey",
       "kms:DescribeKey"],
       "Resource": "*"
}
  1. Обновление завершено!