Краткое руководство. Подготовка и активация управляемого модуля HSM с помощью Azure CLI

В этом кратком руководстве будет создан и активирован управляемый модуль HSM (аппаратный модуль безопасности) для Azure Key Vault с помощью Azure CLI. Управляемый модуль HSM — это полностью управляемая, высокодоступная, однопользовательская, соответствующая стандартам облачная служба, которая позволяет защищать криптографические ключи для облачных приложений, используя устройства HSM, отвечающие стандартам FIPS 140-2 уровня 3. Дополнительные сведения об управляемых модулях HSM см. в этом обзоре.

Необходимые компоненты

Чтобы выполнить действия, описанные в этой статье, необходимо иметь следующее:

  • Подписка на Microsoft Azure. Если у вас ее нет, вы можете зарегистрироваться для использования бесплатной пробной версии.
  • Azure CLI 2.25.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI.

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Вход в Azure

Чтобы войти в Azure с помощью CLI, введите следующее:

az login

Создание или изменение группы ресурсов

Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими. В следующем примере создается группа ресурсов с именем ContosoResourceGroup в расположении eastus2.

az group create --name "ContosoResourceGroup" --location eastus2

Создание управляемого устройства HSM

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

  1. Подготовка ресурса управляемого устройства HSM.
  2. Активация управляемого модуля HSM путем скачивания артефакта, который называется доменом безопасности.

Подготовка управляемого модуля HSM

С помощью команды az keyvault create создайте управляемое устройство HSM. Этот скрипт принимает три обязательных параметра: имя группы ресурсов, имя HSM и географическое расположение.

Для создания ресурса управляемого устройства HSM необходимо указать приведенные ниже входные данные.

  • Группа ресурсов в вашей подписке, в которой он будет размещен.
  • Расположение Azure.
  • список первых администраторов.

В следующем примере создается HSM с именем ContosoMHSM в группе ресурсов ContosoResourceGroup, размещенной в расположении "Восточная часть США 2", с текущим вошедшим пользователем в качестве единственного администратора с сроком хранения 7 дней для обратимого удаления. Управляемый модуль HSM будет продолжать выставляться на счет до тех пор, пока он не будет удален в период обратимого удаления. Дополнительные сведения см. в статье "Обратимое удаление и очистка управляемого устройства HSM" и дополнительные сведения о обратимом удалении управляемого устройства HSM.

oid=$(az ad signed-in-user show --query id -o tsv)
az keyvault create --hsm-name "ContosoMHSM" --resource-group "ContosoResourceGroup" --location "eastus2" --administrators $oid --retention-days 7

Примечание.

Если вы используете управляемые удостоверения в качестве начальных администраторов управляемого устройства HSM, необходимо ввести идентификатор OID/PrincipalID управляемых удостоверений после "-администраторов", а не ClientID.

Примечание.

Выполнение команды создания может занять несколько минут. После успешного ее завершения вы можете активировать HSM.

Предупреждение

Экземпляры управляемого модуля HSM считаются постоянно используемыми. Если вы решили включить защиту от очистки с помощью флага --enable-purge-protection, счет будет выставлен за весь срок хранения.

В выходных данных команды вы увидите свойства созданного управляемого устройства HSM. Среди всех свойств есть два самых важных:

  • name. В этом примере используется имя ContosoMHSM. Вы будете использовать это имя для других команд.
  • hsmUri. В этом примере универсальный код ресурса (URI) — https://contosohsm.managedhsm.azure.net. Приложения, использующие HSM через REST API, должны использовать именно этот универсальный код ресурса (URI).

Теперь ваша учетная запись Azure авторизована, и вы можете выполнять любые операции на этом управляемом устройстве HSM. Но пока никто другой не авторизован.

Активация управляемого модуля HSM

Все команды плоскости данных неактивны до тех пор, пока не будет активировано устройство HSM. Например, вы не сможете создавать ключи или назначать роли. Только администраторы, назначенные во время выполнения команды создания, могут активировать HSM. Чтобы активировать HSM, необходимо скачать домен безопасности.

Чтобы активировать необходимый модуль HSM, потребуется следующее:

  • предоставить не менее трех пар ключей RSA (можно больше, но не более 10);
  • указать минимальное число ключей, необходимых для расшифровки домена безопасности (кворум).

Чтобы активировать HSM, отправьте в него не менее трех (но не более 10) открытых ключей RSA. HSM шифрует домен безопасности с помощью этих ключей и отправляет их обратно. После успешного завершения загрузки домена безопасности устройство HSM готово к использованию. Также необходимо указать кворум, который является минимальным числом закрытых ключей, необходимых для расшифровки домена безопасности.

В приведенном ниже примере показано использование openssl для создания трех самозаверяющих сертификатов.

openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer

Примечание.

Даже если сертификат истек, его можно использовать для восстановления домена безопасности.

Внимание

Безопасно создайте и сохраните пары ключей RSA и файл домена безопасности.

Выполните команду az keyvault security-domain download, чтобы скачать домен безопасности и активировать управляемый модуль HSM. В следующем примере используются три пары ключей RSA (для этой команды нужны только открытые ключи) и настраивается значение кворума 2.

az keyvault security-domain download --hsm-name ContosoMHSM --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json

Надежно сохраните файл домена безопасности и пары ключей RSA. Они понадобятся вам для аварийного восстановления или создания другого управляемого модуля HSM с тем же доменам безопасности, что позволит им совместно использовать ключи.

После успешной загрузки домена безопасности устройство HSM будет находиться в активном состоянии и готово к использованию.

Очистка ресурсов

Другие руководства в этой серии созданы на основе этого документа. Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять.

Вы можете удалить ставшие ненужными группу ресурсов и все связанные с ней ресурсы, выполнив команду az group delete. Удалите ресурсы следующим образом:

az group delete --name ContosoResourceGroup

Предупреждение

При удалении группы ресурсов управляемый модуль HSM переходит в обратимое удаленное состояние. За модуль продолжит взиматься плата до тех пор, пока он не будет очищен. См. статью Обратимое удаление и защита от очистки для управляемых модулей HSM.

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

В этом кратком руководстве вы узнали, как подготовить управляемый модуль HSM и активировать его. Дополнительные сведения об управляемом модуле HSM и его интеграции в приложения см. в следующих статьях.