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

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

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

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

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

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

  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. Обновление завершено!