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

Шифрование на уровне хранилища

В ClickHouse Cloud по умолчанию включено шифрование при хранении с использованием ключей AES-256 под управлением облачного провайдера. Подробнее см.:

Шифрование на уровне базы данных

Данные в состоянии покоя по умолчанию шифруются с помощью ключей AES-256, управляемых облачным провайдером. Клиенты могут включить прозрачное шифрование данных (TDE), чтобы обеспечить дополнительный уровень защиты данных сервиса, или предоставить собственный ключ для использования Customer Managed Encryption Keys (CMEK) в своем сервисе. Усиленное шифрование в настоящее время доступно для сервисов в AWS и GCP. Поддержка Azure появится в ближайшее время.

Прозрачное шифрование данных (TDE)

TDE необходимо включить при создании сервиса. Для существующих сервисов включить шифрование после создания нельзя. После включения TDE его уже нельзя отключить. Все данные в сервисе останутся зашифрованными. Если вы захотите отключить TDE после его включения, потребуется создать новый сервис и перенести данные в него.
  1. Выберите Create new service
  2. Укажите имя сервиса
  3. Выберите AWS или GCP в качестве облачного провайдера и нужный регион в раскрывающемся списке
  4. Откройте раскрывающийся список Enterprise features и включите Enable Transparent Data Encryption (TDE)
  5. Нажмите Create service

Ключи шифрования, управляемые клиентом (CMEK)

Удаление ключа KMS, используемого для шифрования сервиса ClickHouse Cloud, приведет к остановке сервиса, а его данные, как и существующие резервные копии, станет невозможно восстановить. Чтобы избежать случайной потери данных при ротации ключей, рекомендуется некоторое время сохранять старые ключи KMS перед их удалением.
После шифрования сервиса с помощью TDE клиенты могут обновить ключ, чтобы включить CMEK. После обновления настройки TDE сервис автоматически перезапустится. В ходе этого процесса старый ключ KMS расшифровывает ключ шифрования данных (DEK), а новый ключ KMS заново шифрует DEK. Это гарантирует, что после перезапуска сервис будет использовать новый ключ KMS для операций шифрования. Этот процесс может занять несколько минут.
  1. В ClickHouse Cloud выберите зашифрованный сервис
  2. Слева нажмите Settings
  3. В нижней части экрана разверните раздел Network security information
  4. Скопируйте Encryption role ID (AWS) или Encryption Service Account (GCP) — это понадобится на одном из следующих шагов
  5. Создайте ключ KMS для AWS
  6. Нажмите на ключ
  7. Обновите политику ключа AWS следующим образом:
    {
        "Sid": "Allow ClickHouse Access",
        "Effect": "Allow",
        "Principal": {
            "AWS": [ "Encryption role ID " ]
        },
        "Action": [
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:DescribeKey"
        ],
        "Resource": "*"
    }
    
  8. Сохраните политику ключа
  9. Скопируйте ARN ключа
  10. Вернитесь в ClickHouse Cloud и вставьте ARN ключа в раздел прозрачное шифрование данных в Settings сервиса
  11. Сохраните изменения
  1. В ClickHouse Cloud выберите зашифрованный сервис
  2. Слева нажмите Settings
  3. В нижней части экрана разверните раздел Network security information
  4. Скопируйте Encryption Service Account (GCP) — это понадобится на одном из следующих шагов
  5. Создайте ключ KMS для GCP
  6. Нажмите на ключ
  7. Предоставьте GCP Encryption Service Account, скопированному на шаге 4, следующие разрешения.
    • Cloud KMS CryptoKey Encrypter/Decrypter
    • Cloud KMS Viewer
  8. Сохраните разрешения ключа
  9. Скопируйте путь к ресурсу ключа
  10. Вернитесь в ClickHouse Cloud и вставьте путь к ресурсу ключа в раздел прозрачное шифрование данных в Settings сервиса
  11. Сохраните изменения
  1. В ClickHouse Cloud выберите зашифрованный сервис
  2. Нажмите Settings слева
  3. В нижней части экрана разверните Network security information
  4. Скопируйте Cross Tenant App Client ID — он понадобится на следующем шаге
  5. Войдите в свою подписку Azure и выполните следующую команду в Azure CLI, чтобы создать новый service principal; замените {azure_cross_tenant_app_client_id} на значение, скопированное на предыдущем шаге az ad sp create --id {azure_cross_tenant_app_client_id}
  6. Скопируйте Name созданного service principal — он понадобится на одном из следующих шагов
  7. Создайте Azure Key Vault
  8. Создайте ключ в Azure Key Vault
  9. Для ключа в Key Vault выберите слева Access control (IAM)
  10. В верхнем меню выберите Role assignments
  11. Нажмите Add, затем в верхнем меню выберите Add role assignment
  12. Выберите роль Key Vault Crypto User, затем нажмите Next
  13. Оставьте значения по умолчанию на экране Add role assignment и нажмите +Select members
  14. Вставьте имя service principal, скопированное на шаге 6 (оно начинается с CH-TDE), выберите этот service principal и нажмите Select
  15. Нажмите Next, затем Review + assign
  16. Вернитесь в свой Azure Key Vault и скопируйте следующие значения:
    • На странице Overview скопируйте свой Vault URI
    • На странице Overview скопируйте свой Directory ID
    • На странице Keys скопируйте Name своего ключа
  17. Вернитесь к настройкам своего сервиса в ClickHouse Cloud и вставьте значения из шага 16 в следующие поля:
    • Key ID > вставьте Name своего ключа
    • Key Vault URI > вставьте свой Vault URI
    • Key Tenant ID > вставьте свой Directory ID
  18. Нажмите Rotate KMS, подождите несколько минут, так как это приведет к поэтапному перезапуску, и убедитесь, что ваш сервис работает

Ротация ключа

После настройки CMEK выполните ротацию ключа, следуя описанным выше инструкциям по созданию нового ключа KMS и предоставлению разрешений. Затем вернитесь к настройкам сервиса, вставьте новый ARN (AWS), Key Resource Path (GCP) или Key Name (Azure) и сохраните настройки. Чтобы применить новый ключ, сервис будет перезапущен.

Опрос ключа KMS

При использовании CMEK действительность указанного ключа KMS проверяется каждые 10 минут. Если доступ к ключу KMS станет недоступен, сервис ClickHouse будет остановлен. Чтобы возобновить работу сервиса, восстановите доступ к ключу KMS, следуя инструкциям из этого руководства, а затем перезапустите сервис.

Резервное копирование и восстановление

Резервные копии шифруются тем же ключом, что и соответствующий сервис. При восстановлении зашифрованной резервной копии создается зашифрованный экземпляр, использующий тот же ключ KMS, что и исходный экземпляр. При необходимости после восстановления можно выполнить ротацию ключа KMS; подробнее см. в разделе Ротация ключа.

Производительность

Для шифрования и защиты данных используется встроенная в ClickHouse возможность Virtual File System for Data Encryption. В этой возможности используется алгоритм AES_256_CTR; ожидаемое снижение производительности составляет 5–15% в зависимости от рабочей нагрузки:
Последнее изменение 10 июня 2026 г.