Перемещение Azure Key Vault в другой регион
Существуют различные причины, по которым может потребоваться переместить существующие ресурсы Azure из одного региона в другой. Возможно, вам потребуется:
- Воспользуйтесь новым регионом Azure.
- Развертывание функций или служб, доступных только в определенных регионах.
- Отвечайте требованиям к внутренней политике и управлению.
- Согласование слияний и приобретений компании
- Отвечайте требованиям к планированию емкости.
Azure Key Vault не поддерживает перемещение хранилища ключей в другой регион.
Вместо перемещений необходимо выполнить следующие действия.
- Создайте новое хранилище ключей с перемещением связанных служб Azure.
- Повторно создайте все необходимые ключи, секреты или сертификаты. В некоторых случаях может потребоваться передать секреты или сертификаты из существующего хранилища ключей в перенесенное хранилище ключей.
Необходимые компоненты
Убедитесь, что подписка Azure позволяет создавать хранилища ключей в целевом регионе.
Создайте карту зависимостей со всеми службами Azure, используемыми Key Vault. Для служб, которые находятся в области перемещения, необходимо выбрать соответствующую стратегию перемещений.
В зависимости от структуры Key Vault может потребоваться развернуть и настроить виртуальная сеть в целевом регионе.
Задокументируйте и запланируйте повторную настройку в Key Vault в целевом регионе:
- Политики доступа и параметры конфигурации сети.
- Обратимое удаление и защита от очистки.
- Параметры автоматической настройки.
Простой
Сведения о возможных простоях см. в статье Cloud Adoption Framework для Azure: выбор метода перемещений.
Рекомендации по конечным точкам службы
Конечные точки службы виртуальной сети для Azure Key Vault ограничивают доступ к указанной виртуальной сети. Конечные точки также могут ограничить доступ к списку диапазонов адресов IPv4 (интернет-протокол версии 4). Доступ любого пользователя, подключающегося к Key Vault из-за пределов этих источников, запрещен. Если конечные точки службы были настроены в исходном регионе для ресурса Key Vault, то же самое необходимо сделать в целевом.
Для успешного восстановления Хранилища ключей в целевом регионе необходимо создать виртуальную сеть и подсеть заранее. Если перемещение этих двух ресурсов выполняется с помощью средства Перемещения ресурсов Azure, конечные точки службы не будут настроены автоматически. Поэтому их необходимо настроить вручную, что можно сделать с помощью портал Azure, Azure CLI или Azure PowerShell.
Рекомендации по частной конечной точке
Приватный канал Azure обеспечивает частное подключение из виртуальной сети к Платформа Azure как услуга (PaaS), собственные клиентом или партнерские службы Майкрософт. Приватный канал упрощает сетевую архитектуру и защищает подключение между конечными точками в Azure, устраняя уязвимость данных к общедоступному Интернету.
Для успешного восстановления Хранилища ключей в целевом регионе необходимо создать виртуальную сеть и подсеть перед фактическим восстановлением.
Рекомендации по интеграции DNS частной конечной точки Azure
Важно правильно настроить параметры DNS для разрешения IP-адреса частной конечной точки в полное доменное имя (FQDN) строка подключения.
Возможно, существующие службы Microsoft Azure уже используют конфигурацию DNS для общедоступной конечной точки. Эту конфигурацию нужно переопределить для подключения с помощью частной конечной точки.
Сетевой интерфейс, связанный с частной конечной точкой, содержит сведения для настройки DNS. Сведения о сетевом интерфейсе содержат полное доменное имя и частные IP-адреса для ресурса приватного канала.
Чтобы настраивать параметры DNS для частных конечных точек, можно использовать следующие варианты.
- Используйте файл узла (рекомендуется только для тестирования). Для переопределения DNS можно использовать файл узла на виртуальной машине.
- Используйте частную зону DNS. Вы можете с помощью частных зон DNS переопределять разрешения DNS для частной конечной точки. Частная зона DNS может быть связана с вашей виртуальной сетью для разрешения конкретных доменов.
- Используйте DNS-сервер пересылки (необязательно). Чтобы переопределить разрешение DNS для ресурса приватного канала, можно использовать DNS-сервер пересылки. Создайте правило пересылки DNS, чтобы использовать частную зону DNS на DNS-сервере, размещенном в виртуальной сети.
Подготовить
Чтобы экспортировать шаблон с помощью портала Azure:
Войдите на портал Azure.
Выберите все ресурсы и выберите хранилище ключей.
Выберите пункты >Автоматизация>Экспорт шаблона.
Выберите Скачать в колонке Экспорт шаблона.
Найдите скачанный c портала ZIP-файл и распакуйте его в любую выбранную папку.
В ZIP-файле содержатся JSON-файлы, содержащие шаблон и скрипты для развертывания шаблона.
Следует учитывать следующие основные понятия.
- Имена хранилищ ключей должны быть глобально уникальными, то есть не удастся использовать прежнее имя хранилища.
- Вам придется перенастроить политики доступа и параметры сетевой конфигурации в новом хранилище ключей.
- Вам придется перенастроить обратимое удаление и защиту от очистки в новом хранилище ключей.
- Операция резервного копирования и восстановления не сохраняет параметры автообновления. Возможно, эти параметры придется настраивать заново.
Изменение шаблона
Измените шаблон, изменив имя и регион хранилища ключей.
Чтобы развернуть шаблон с помощью портала Azure, выполните следующие действия.
На портале Azure выберите Создать ресурс.
В строке Поиск в Marketplace введите развертывание шаблона и нажмите клавишу ВВОД.
Выберите Развертывание шаблона.
Нажмите кнопку создания.
Выберите Создать собственный шаблон в редакторе.
Выберите Загрузить файл и следуйте инструкциям, чтобы загрузить файл template.json, скачанный в предыдущем разделе.
В файле template.json назовите хранилище ключей, задав значение по умолчанию имени хранилища ключей. В этом примере устанавливается значение по умолчанию для имени
mytargetaccount
хранилища ключей."$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "vaults_name": { "defaultValue": "key-vault-name", "type": "String" } },
Измените свойство location в файле template.json на целевой регион. В этом примере значение целевого региона устанавливается равным
centralus
."resources": [ { "type": "Microsoft.KeyVault/vaults", "apiVersion": "2023-07-01", "name": "[parameters('vaults_name')]", "location": "centralus", ... }, ... ]
Чтобы получить коды расположения регионов, см. статью Расположения Azure. Код региона — это имя региона без пробелов, Central US = centralus.
Удалите ресурсы для ввода частной конечной точки в шаблоне.
{ "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", ... }
Если вы настроили конечную точку службы в хранилище ключей в разделе networkAcl в разделе VirtualNetworkRules, добавьте правило для целевой подсети. Убедитесь, что флаг ignoreMissingVnetServiceEndpoint имеет значение False, поэтому IaC не сможет развернуть Key Vault в случае, если конечная точка службы не настроена в целевом регионе.
parameter.json
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "target_vnet_externalid": { "value": "virtualnetwork-externalid" }, "target_subnet_name": { "value": "subnet-name" } } }
_template.json
"networkAcls": { "bypass": "AzureServices", "defaultAction": "Deny", "ipRules": [], "virtualNetworkRules": [ { "id": "[concat(parameters('target_vnet_externalid'), concat('/subnets/', parameters('target_subnet_name')]", "ignoreMissingVnetServiceEndpoint": false } ] }
Повторное развертывание
Разверните шаблон, чтобы создать новое хранилище ключей в целевом регионе.
Сохраните файл template.json.
Введите или выберите значения свойств:
Подписка— выберите подписку Azure.
Группа ресурсов: щелкните Создать и укажите имя группы ресурсов.
Расположение. Выберите расположение Azure.
Выберите "Я согласен с условиями, указанными выше", а затем нажмите кнопку "Выбрать покупку".
Политики доступа и параметры конфигурации сети (частные конечные точки) необходимо повторно настроить в новом Хранилище ключей. Обратимое удаление и очистка должны быть перенастроены в новом хранилище ключей и параметрах автоматической очистки.
Совет
Если появилось сообщение о том, что указанный XML-файл имеет недопустимый синтаксис, сравните JSON в своем шаблоне со схемами, описанными в документации по Azure Resource Manager.
Повторное развертывание с помощью миграции данных
Внимание
Если вы планируете переместить Key Vault по регионам, но в пределах одного географического региона, рекомендуется выполнить резервное копирование и восстановление секретов, ключей и сертификатов .
- Выполните действия, описанные в подходе повторного развертывания.
- Для секретов:
- Скопируйте и сохраните значение секрета в исходном хранилище ключей.
- Повторно создайте секрет в целевом хранилище ключей и задайте значение для сохраненного секрета.
- Для сертификатов:
- Экспортируйте сертификат в PFX-файл.
- Импортируйте PFX-файл в целевое хранилище ключей. Если вы не можете экспортировать закрытый ключ (
exportable
не задано), необходимо создать сертификат нового сертификата и импортировать его в целевое хранилище ключей.
- При перемещении связанной службы Azure ключи повторно создаются.
- Убедитесь, что ключи были созданы для связанной службы.
Проверка
Перед удалением старого хранилища ключей убедитесь, что новое хранилище содержит все необходимые ключи, секреты и сертификаты после перемещения связанных служб Azure.