Поделиться через


Включение шифрования данных с помощью ключей, управляемых клиентом, в Azure Cosmos DB для PostgreSQL

Область применения: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus до PostgreSQL)

Предварительные условия

Включение шифрования данных с помощью ключей, управляемых клиентом

Внимание

Создайте все следующие ресурсы в том же регионе, где будет развернут кластер Azure Cosmos DB для PostgreSQL.

  1. Создайте управляемое удостоверение, назначаемое пользователем. В настоящее время Azure Cosmos DB для PostgreSQL поддерживает только управляемые удостоверения, назначаемые пользователем.

  2. Создайте Azure Key Vault и добавьте политику доступа к созданному управляемому удостоверению, назначаемого пользователем, с помощью следующих разрешений: Get, Unwrap Key и Wrap Key.

  3. Создайте ключ в хранилище ключей (поддерживаемые типы ключей: RSA 2048, 3071, 4096).

  4. Выберите параметр шифрования ключей, управляемый клиентом во время создания кластера Azure Cosmos DB для PostgreSQL, и выберите соответствующее управляемое удостоверение, назначаемое пользователем, хранилище ключей и ключ, созданный на шагах 1, 2 и 3.

Подробные инструкции

Управляемое удостоверение, назначаемое пользователем

  1. Выполните поиск управляемых удостоверений в глобальной строке поиска.

    Снимок экрана управляемых удостоверений в портале Azure.

  2. Создайте в том же регионе, что и ваш кластер Azure Cosmos DB для PostgreSQL, новое управляемое удостоверение, назначаемое пользователем.

    Снимок экрана страницы пользовательского управляемого удостоверения в портале Azure.

Дополнительные сведения об управляемом удостоверении, назначаемом пользователем.

Хранилище ключей

Использование управляемых клиентом ключей с Azure Cosmos DB для PostgreSQL требует установки двух свойств в экземпляре Azure Key Vault, который планируется использовать для размещения ключей шифрования: мягкое удаление и защита от удаления.

  1. Если вы создаете новый экземпляр Azure Key Vault, включите эти свойства во время создания:

    Снимок экрана: свойства Key Vault.

  2. Если вы используете имеющийся экземпляр Azure Key Vault, проверьте, включены ли эти свойства, на портале Azure в разделе Свойства. Если какие-либо из этих свойств не включены, ознакомьтесь с разделами "Включение обратимого удаления" и "Включение защиты от очистки" в одной из следующих статей.

  3. Хранилище ключей должно быть установлено на 90 дней для сохранения удаленных хранилищ. Если существующее хранилище ключей настроено с меньшим числом, необходимо создать новое хранилище ключей, так как этот параметр не может быть изменен после создания.

    Внимание

    Ваш экземпляр Azure Key Vault должен разрешать общий доступ из всех сетей.

Добавление политики доступа в Key Vault

  1. На портале Azure перейдите к экземпляру Azure Key Vault, который планируется использовать для размещения ключей шифрования. Выберите конфигурацию Access в меню слева. Убедитесь, что политика доступа Хранилища выбрана в разделе "Модель разрешений", а затем выберите "Перейти к политикам доступа".

    Снимок экрана: конфигурация доступа Key Vault.

  2. Выберите + Создать.

  3. На вкладке "Разрешения" в раскрывающемся меню "Разрешения ключа" выберите "Получить", "Распаковать ключ" и "Запаковать ключ".

    Снимок экрана: параметры разрешений Key Vault.

  4. На вкладке "Главный" выберите управляемое удостоверение, назначенное пользователем, созданное на этапе промежуточных требований.

  5. Перейдите в раздел "Просмотр и создание", затем выберите "Создать".

Создание и импорт ключа

  1. На портале Azure перейдите к экземпляру Azure Key Vault, который планируется использовать для размещения ключей шифрования.

  2. Выберите ключи в меню слева и нажмите кнопку +Создать или импортировать.

    Снимок экрана: страница создания ключей.

  3. Управляемый клиентом ключ, используемый для шифрования DEK, может быть асимметричным типом ключа RSA. Поддерживаются все размеры ключей RSA 2048, 3072 и 4096.

  4. Дата активации ключа (если задана) должна быть датой и временем в прошлом. Дата истечения срока действия (если задана) должна быть датой и временем в будущем.

  5. Ключ должен находиться в состоянии Включено.

  6. Если вы импортируете существующий ключ в хранилище ключей, обязательно укажите его в поддерживаемом формате файла (.pfx, .byok, .backup).

  7. Если вы поворачиваете ключ вручную, старая версия ключа не должна быть удалена не менее 24 часов.

Включение шифрования CMK во время подготовки нового кластера

  1. Во время подготовки нового кластера Azure Cosmos DB для PostgreSQL после предоставления необходимых сведений на вкладках "Основные сведения" и "Сеть" перейдите на вкладку "Шифрование". Снимок экрана: страница конфигурации шифрования.

  2. Выберите управляемый клиентом ключ в разделе "Ключ шифрования данных".

  3. Выберите назначенное пользователем управляемое удостоверение, созданное в предыдущем разделе.

  4. Выберите хранилище ключей, созданное на предыдущем шаге, которое имеет политику доступа к управляемому удостоверению пользователя, выбранному на предыдущем шаге.

  5. Выберите ключ, созданный на предыдущем шаге, и нажмите кнопку "Проверить и создать".

  6. После создания кластера убедитесь, что шифрование CMK включено, перейдя на вкладку шифрования данных в кластере Azure Cosmos DB для PostgreSQL в портале Azure. Снимок экрана: вкладка шифрования данных.

Примечание.

Шифрование данных можно настроить только во время создания нового кластера и не может быть обновлено в существующем кластере. Решением для обновления конфигурации шифрования в существующем кластере является восстановление кластера и настройка шифрования данных во время создания вновь восстановленного кластера.

Высокая доступность

Если шифрование CMK включено в основном кластере, все резервные узлы высокой доступности автоматически шифруются ключом первичного кластера.

Изменение конфигурации шифрования путем выполнения PITR

Конфигурацию шифрования можно изменить с управляемого службой шифрования на управляемое клиентом шифрование или наоборот при выполнении операции восстановления кластера (PITR — восстановление на определенный момент времени).

  1. Перейдите на панель шифрования данных и выберите инициировать восстановление. Кроме того, вы можете выполнить PITR, выбрав параметр "Восстановить " в колонке "Обзор ". Снимок экрана: PITR.

  2. Вы можете изменить или настроить шифрование данных на вкладке "Шифрование " страницы восстановления кластера.

Мониторинг управляемого клиентом ключа в Key Vault

Чтобы отслеживать состояние базы данных и активировать оповещения в случае потери доступа к средству защиты прозрачного шифрования данных, настройте следующие функции и компоненты Azure.

  • Azure Resource Health: недоступная база данных, которая потеряла доступ к ключу клиента, отображается как "Недоступная" после того, как первое подключение к базе данных было отказано.

  • Журнал действий. В случае сбоя доступа к ключу клиента, размещенному в управляемом клиентом Key Vault, в журнал действий добавляются записи. Если для таких событий создать правила генерации оповещений, можно восстанавливать доступ максимально быстро.

  • Группы действий. Определите эти группы для отправки уведомлений и оповещений на основе ваших предпочтений.

Следующие шаги