Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.
Обзор
Это важно
Перемещение хранилища ключей в другую подписку приведет к разрушительному изменению вашей среды. Прежде чем принять решение о перемещении хранилища ключей в новую подписку, убедитесь, что вы понимаете последствия этого изменения, и внимательно следуйте указаниям, приведенным в этой статье. Если вы используете управляемые удостоверения службы (MSI), ознакомьтесь с инструкциями после перемещения в конце документа.
Azure Key Vault автоматически привязан к идентификатору клиента Microsoft Entra ID по умолчанию для подписки, в которой она создана. Идентификатор клиента, связанный с подпиской, можно найти, следуя этому руководству. Все записи политики доступа и назначения ролей также привязаны к этому идентификатору клиента. Если вы перемещаете подписку Azure из клиента A в клиент B, существующие хранилища ключей недоступны субъектами-службами (пользователями и приложениями) в клиенте B. Чтобы устранить эту проблему, необходимо выполнить следующие действия.
Замечание
Если Key Vault создается с помощью Azure Lighthouse, то он вместо этого привязан к управляемому идентификатору клиента. Azure Lighthouse поддерживает только модель разрешений политики доступа к хранилищу. Дополнительные сведения о клиентах в Azure Lighthouse см. в разделе "Клиенты", "Пользователи" и роли в Azure Lighthouse.
- Измените идентификатор клиента, связанный со всеми существующими хранилищами ключей в подписке на клиент B.
- Удалите все существующие записи политики доступа.
- Добавьте новые записи политики доступа, связанные с клиентом Б.
Дополнительные сведения о Azure Key Vault и идентификаторе Microsoft Entra см. в следующих разделах:
Ограничения
Это важно
Хранилища ключей, используемые для шифрования дисков, не могут быть перемещены Если вы используете хранилище ключей с шифрованием дисков для виртуальной машины, хранилище ключей нельзя переместить в другую группу ресурсов или подписку во время включения шифрования дисков. Перед перемещением хранилища ключей в новую группу ресурсов или подписку необходимо отключить шифрование дисков.
Некоторые служебные принципы (пользователи и приложения) привязаны к конкретному арендатору. При перемещении хранилища ключей в подписку у другого арендатора существует вероятность, что вы не сможете восстановить доступ к конкретному сервисному принципалу. Убедитесь, что все необходимые службы существуют в арендатора, куда вы перемещаете хранилище ключей.
Предпосылки
- Доступ на уровне участника или выше к текущей подписке, в которой существует хранилище ключей. Роль можно назначить с помощью портала Azure, Azure CLI или PowerShell.
- Доступ на уровне участника или выше к подписке, в которой требуется переместить хранилище ключей. Роль можно назначить с помощью портала Azure, Azure CLI или PowerShell.
- Группа ресурсов в новой подписке. Вы можете создать его с помощью портала Azure, PowerShell или Azure CLI.
Вы можете проверить существующие роли с помощью портала Azure, PowerShell, Azure CLI или REST API.
Перемещение хранилища ключей в новую подписку
- Войдите на портал Azure.
- Перейдите к хранилищу ключей
- Выберите на вкладке "Обзор"
- Нажмите кнопку "Переместить"
- Выберите "Переместить в другую подписку" в раскрывающемся списке
- Выберите группу ресурсов, в которой нужно переместить хранилище ключей
- Подтвердите предупреждение о перемещении ресурсов
- Нажмите кнопку "ОК"
Дополнительные шаги, когда подписка находится в новом арендаторе
Если вы переместили подписку, содержащую хранилище ключей, в новый клиент, необходимо вручную обновить идентификатор клиента и удалить старые политики доступа и назначения ролей. Ниже приведены руководства по этим шагам в PowerShell и Azure CLI. Если вы используете PowerShell, может потребоваться выполнить команду Clear-AzContext, чтобы вы могли просматривать ресурсы за пределами текущей выбранной области.
Обновление идентификатора клиента в хранилище ключей
Select-AzSubscription -SubscriptionId <your-subscriptionId> # Select your Azure Subscription
$vaultResourceId = (Get-AzKeyVault -VaultName myvault).ResourceId # Get your key vault's Resource ID
$vault = Get-AzResource -ResourceId $vaultResourceId -ExpandProperties # Get the properties for your key vault
$vault.Properties.TenantId = (Get-AzContext).Tenant.TenantId # Change the Tenant that your key vault resides in
$vault.Properties.AccessPolicies = @() # Access policies can be updated with real
# applications/users/rights so that it does not need to be # done after this whole activity. Here we are not setting
# any access policies.
Set-AzResource -ResourceId $vaultResourceId -Properties $vault.Properties # Modifies the key vault's properties.
Clear-AzContext #Clear the context from PowerShell
Connect-AzAccount #Log in again to confirm you have the correct tenant id
az account set -s <your-subscriptionId> # Select your Azure Subscription
tenantId=$(az account show --query tenantId) # Get your tenantId
az keyvault update -n myvault --remove Properties.accessPolicies # Remove the access policies
az keyvault update -n myvault --set Properties.tenantId=$tenantId # Update the key vault tenantId
Обновление политик доступа и назначений ролей
Замечание
Если Key Vault использует модель разрешений Azure RBAC , необходимо также удалить назначения ролей хранилища ключей. Вы можете удалить назначения ролей с помощью портала Azure, Azure CLI или PowerShell.
Теперь, когда хранилище связано с правильным идентификатором клиента, а старые записи политики доступа или назначения ролей удалены, задайте новые записи политики доступа или назначения ролей.
Сведения о назначении политик см. в следующих статье:
- Назначение политики доступа с помощью портала
- Назначение политики доступа с помощью Azure CLI
- Назначение политики доступа с помощью PowerShell
Сведения о добавлении назначений ролей см. в статье:
- Назначение ролей Azure с помощью портала Azure
- Назначение ролей Azure с помощью Azure CLI
- Назначение ролей Azure с помощью PowerShell
Обновление управляемых идентификаторов
Если вы передаете всю подписку и используете управляемое удостоверение для ресурсов Azure, необходимо также обновить его до нового клиента Microsoft Entra. Дополнительные сведения об управляемых удостоверениях можно найти в Обзоре управляемых удостоверений.
Если вы используете управляемое удостоверение, вам также придется обновить удостоверение, так как старое удостоверение больше не будет в правильном клиенте Microsoft Entra. Чтобы устранить эту проблему, ознакомьтесь со следующими документами.
Дальнейшие действия
- Дополнительные сведения о ключах, секретах и сертификатах
- Основные сведения, включая интерпретацию журналов Key Vault, см. в разделе "Ведение журнала Key Vault"
- Руководство разработчика Key Vault
- Функции безопасности Azure Key Vault
- Настройка брандмауэров и виртуальных сетей Azure Key Vault