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


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

Замечание

Эта функция доступна только для управляемого HSM типа ресурса.

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

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

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

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

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

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

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

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

Azure Cloud Shell

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

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

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в 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. Нажмите Enter, чтобы запустить код или команду.

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

  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, HH, 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, удаляется, и возвращается в то же состояние, в которое оно находилось при создании исходной резервной копии.

Это важно

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

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

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

  • Имя или URL-адрес HSM
  • Название учетной записи хранилища
  • Контейнер BLOB-объектов учетной записи хранилища
  • Назначаемое пользователем управляемое удостоверение или маркер 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

Дальнейшие шаги