Полное резервное копирование и восстановление и выборочное восстановление ключей

Примечание.

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

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

Резервное копирование выполняется в плоскости данных. Сторона, инициирующая операцию резервного копирования, должна иметь разрешение на действие dataAction Microsoft.KeyVault/managedHsm/backup/start/action.

Только следующие встроенные роли имеют разрешение на выполнение полного резервного копирования:

  • администратор Управляемого устройства HSM;
  • резервное копирование Управляемого устройства HSM.

Существует два способа выполнения полного резервного копирования и восстановления.

  1. Назначение управляемого удостоверения, назначаемого пользователем (UAMI) службе управляемого устройства HSM. Вы можете создать резервную копию и восстановить MHSM с помощью управляемого удостоверения, назначаемого пользователем, независимо от того, имеет ли учетная запись хранения доступ к общедоступной сети или доступ к частной сети. Если учетная запись хранения находится за частной конечной точкой, метод UAMI работает с обходом доверенной службы, чтобы разрешить резервное копирование и восстановление.
  2. Использование маркера SAS контейнера хранилища с разрешениями crdw. Резервное копирование и восстановление с помощью маркера SAS контейнера хранилища требует, чтобы учетная запись хранения была включена доступ к общедоступной сети.

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

  • имя или URL-адрес HSM;
  • Имя учетной записи хранения
  • контейнер хранения больших двоичных объектов в учетной записи хранения;
  • Маркер SAS контейнера хранилища или управляемого удостоверения, назначаемого пользователем, с разрешениями crdw

Azure Cloud Shell

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

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

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Снимок экрана: пример открытия Azure Cloud Shell с помощью кнопки
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Снимок экрана: кнопка

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

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

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

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

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

Предварительные требования при резервном копировании и восстановлении с помощью управляемого удостоверения, назначаемого пользователем:

  1. Убедитесь, что у вас есть Azure CLI версии 2.56.0 или более поздней. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI.
  2. Создание управляемого удостоверения, назначаемого пользователем.
  3. Создайте учетную запись хранения (или используйте существующую учетную запись хранения).
  4. Если доступ к общедоступной сети отключен в учетной записи хранения, включите обход доверенной службы в учетной записи хранения на вкладке "Сеть" в разделе "Исключения".
  5. Предоставьте доступ к роли "данные BLOB-объектов хранилища участник" к назначенному пользователем управляемому удостоверению, созданному на шаге 2, перейдите на вкладку "контроль доступа" на портале —> добавление назначения ролей. Затем выберите "Управляемое удостоверение" и выберите управляемое удостоверение, созданное на шаге 2.> Проверка и назначение
  6. Создайте управляемый модуль HSM и свяжите управляемое удостоверение с приведенной ниже командой.
    az keyvault create --hsm-name mhsmdemo2 –l mhsmlocation -- retention-days 7 --administrators "initialadmin" --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 
    

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

 az keyvault update-hsm --hsm-name mhsmdemo2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 

Полное резервное копирование

Резервное копирование — это длительная операция, но немедленно возвращает идентификатор задания. По этому идентификатору задания вы можете проверить состояние процесса резервного копирования. Процесс резервного копирования создает в указанном контейнере папку с именем, созданным по шаблону mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}, где HSM_NAME обозначает это имя управляемого устройства HSM, а YYYY, MM, DD, HH, MM, mm, SS — соответственно год, месяц, день, час, минуту и секунду получения команды резервного копирования в формате UTC.

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

Резервное копирование HSM с помощью управляемого удостоверения, назначаемого пользователем

az keyvault backup start --use-managed-identity true --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer

Резервное копирование HSM с помощью маркера SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription {subscription-id})

# Create a container

az storage container create --account-name  mhsmdemobackup --name mhsmdemobackupcontainer  --account-key $skey

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions crdw --expiry $end --account-key $skey -o tsv --subscription {subscription-id})

# Backup HSM

az keyvault backup start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --subscription {subscription-id}

Полное восстановление

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

Внимание

Полное восстановление — это достаточно разрушительный процесс. Поэтому необходимо выполнить полную резервную копию не менее 30 минут до restore операции.

Восстановление выполняется в плоскости данных. Сторона, инициирующая операцию восстановления, должна иметь разрешение на действие dataAction Microsoft.KeyVault/managedHsm/restore/start/action. Исходное устройство HSM, из которого создавалась резервная копия, и целевое устройство HSM, на которое выполняется восстановление, обязательно должны иметь одинаковый домен безопасности. Сведения о домене безопасности для Управляемого устройства HSM см. здесь.

Существует 2 способа выполнения полного восстановления. Чтобы выполнить полное восстановление, необходимо предоставить следующие сведения:

  • имя или URL-адрес HSM;
  • Имя учетной записи хранения
  • контейнер больших двоичных объектов в учетной записи хранения;
  • Маркер SAS контейнера хранилища или управляемого удостоверения, назначаемого пользователем, с разрешениями rl
  • служба хранилища имя папки контейнера, в которой хранится исходная резервная копия

Хотя восстановление — это длительная операция, при ее запуске немедленно возвращается идентификатор задания. По этому идентификатору задания вы можете проверить состояние процесса восстановления. Пока идет процесс восстановления, HSM переходит в особый режим восстановления и не принимает команды плоскости данных (за исключением проверки состояния восстановления).

Восстановление HSM с помощью управляемого удостоверения, назначаемого пользователем

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true

Восстановление HSM с помощью маркера SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription {subscription-id})

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions rl --expiry $end --account-key $skey -o tsv --subscription {subscription-id})

# Restore HSM

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860

Выборочное восстановление ключа

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

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

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true --key-name rsa-key2

Выборочное восстановление ключа с помощью маркера SAS

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860 -–key-name rsa-key2

Next Steps