Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Организации могут иметь несколько подписок Azure. Каждая подписка связана с определенным каталогом Microsoft Entra. Чтобы упростить управление, может потребоваться перенести подписку в другой каталог Microsoft Entra. При передаче подписки в другой каталог Microsoft Entra некоторые ресурсы не передаются в целевой каталог. Например, все назначения ролей и пользовательские роли в управлении доступом на основе ролей Azure (Azure RBAC) окончательно удаляются из исходного каталога и не передаются в целевой каталог.
В этой статье описаны основные шаги, которые можно выполнить, чтобы перенести подписку в другой каталог Microsoft Entra и повторно создать некоторые ресурсы после передачи.
Примечание.
Для подписок поставщиков облачных решений Azure (CSP) изменение каталога Microsoft Entra для подписки не поддерживается.
Обзор
Перенос подписки Azure в другой каталог Microsoft Entra — это сложный процесс, который необходимо тщательно планировать и выполнять. Многие службы Azure требуют субъектов безопасности (удостоверений) для нормальной работы или управления другими ресурсами Azure. В этой статье рассматривается большинство служб Azure, которые сильно зависят от субъектов безопасности, но не являются исчерпывающими.
Внимание
В некоторых ситуациях перенос подписки может повлечь простой на время завершения процесса. Тщательное планирование требуется для оценки, потребуется ли время простоя для вашего переноса.
На следующей схеме показаны основные действия, которые необходимо выполнить при переносе подписки в другой каталог.
Подготовка к переносу
Перенос подписки Azure в другой каталог
Создайте ресурсы заново в целевом каталоге, такие как назначения ролей, настраиваемые роли и управляемые удостоверения.
Принятие решения о переносе подписки в другой каталог
Ниже приведено несколько причин, по которым может потребоваться перенос подписки.
- Из-за слияния или приобретения компании нужно управлять приобретенной подпиской в основном каталоге Microsoft Entra.
- Кто-то в вашей организации создал подписку, и вы хотите перенести управление в определенный каталог Microsoft Entra.
- У вас есть приложения, которые зависят от идентификатора или URL-адреса конкретной подписки, и вы не можете легко изменить конфигурацию или код приложения.
- Часть вашего бизнеса выделилась в отдельную компанию, и вам нужно перенести некоторые ресурсы в другой каталог Microsoft Entra.
- Вы хотите управлять некоторыми ресурсами в другом каталоге Microsoft Entra, чтобы изолировать их в целях безопасности.
Альтернативные подходы
Для переноса подписки потребуется время простоя до завершения процесса. В зависимости от сценария можно рассмотреть следующие альтернативные подходы.
- Повторно создайте ресурсы и скопируйте данные в целевой каталог и подписку.
- Внедрите архитектуру с несколькими каталогами и оставьте подписку в исходном каталоге. Используйте Azure Lighthouse для делегирования ресурсов, чтобы пользователи целевого каталога могли получить доступ к подписке в исходном каталоге. Подробнее см. в статье Azure Lighthouse в корпоративных сценариях.
Блокировка передачи подписок
В зависимости от организации может потребоваться заблокировать передачу подписок в разные каталоги в организации. Если вы хотите заблокировать передачу подписок, можно настроить политику подписки. Дополнительные сведения см. в статье Управление политиками подписок Azure.
Общие сведения о влиянии переноса подписки
Некоторые ресурсы Azure зависят от подписки или каталога. В следующей таблице перечислены известные последствия переноса подписки согласно ситуации. Выполнив действия, описанные в этой статье, вы сможете заново создать некоторые ресурсы, существовавшие до переноса подписки.
Внимание
В этом разделе перечислены известные службы или ресурсы Azure, которые зависят от вашей подписки. Так как типы ресурсов в Azure постоянно развиваются, могут появиться дополнительные зависимости, не включенные в этот список, что может привести к критическим изменениям в среде.
Служба или ресурс | Подвержен воздействию | Восстанавливается | Вы пострадали? | Что можно сделать |
---|---|---|---|---|
Назначения ролей | Да | Да | Перечисление назначений ролей | Все назначения ролей удаляются без возможности восстановления. Необходимо сопоставить пользователей, группы и субъекты-службы с соответствующими объектами в целевом каталоге. Необходимо заново создать распределение ролей. |
Настраиваемые роли | Да | Да | Перечисление настраиваемых ролей | Все настраиваемые роли удаляются без возможности восстановления. Необходимо повторно создать настраиваемые роли и назначения ролей. |
Управляемые удостоверения, назначаемые системой | Да | Да | Список управляемых удостоверений | Необходимо отключить и заново включить обслуживаемые удостоверения. Вам нужно заново назначить роли. |
Управляемые идентификаторы, назначенные пользователем | Да | Да | Перечисление управляемых удостоверений | Необходимо удалить, повторно создать и подключить управляемые удостоверения к соответствующему ресурсу. Необходимо повторно создать назначения ролей. |
Azure Key Vault | Да | Да | Список политик доступа Key Vault | Необходимо обновить идентификатор клиента, связанный с хранилищами ключей. Необходимо удалить и добавить новые политики доступа. |
Базы данных SQL Azure с включенной интеграцией проверки подлинности Microsoft Entra | Да | Нет | Проверка баз данных SQL Azure с помощью проверки подлинности Microsoft Entra | Невозможно перенести базу данных SQL Azure с включенной проверкой подлинности Microsoft Entra в другой каталог. Дополнительные сведения см. в статье Использование проверки подлинности Microsoft Entra. |
База данных Azure для MySQL с включенной интеграцией проверки подлинности Microsoft Entra | Да | Нет | Невозможно перенести базу данных Azure для MySQL (отдельный и гибкий сервер) с включенной проверкой подлинности Microsoft Entra в другой каталог. | |
База данных Azure для PostgreSQL Гибкий Сервер с включенной интеграцией аутентификации Microsoft Entra или с включенным ключом, управляемым клиентом | Да | Нет | Невозможно передать База данных Azure для PostgreSQL с проверкой подлинности Microsoft Entra или с управляемым ключом клиента в другой каталог. Сначала необходимо отключить эти функции, перенести сервер, а затем повторно включить эти функции. | |
Служба хранилища Azure и Azure Data Lake Storage 2-го поколения | Да | Да | Необходимо повторно создать любые списки управления доступом (ACL). | |
Файлы Azure | Да | В большинстве сценариев | Необходимо повторно создать все списки ACL. Для учетных записей хранения с включенной проверкой подлинности Microsoft Entra Kerberos необходимо отключить и повторно включить проверку подлинности Microsoft Entra Kerberos после передачи. Для доменных служб Microsoft Entra перенос в другой каталог Microsoft Entra, где доменные службы Microsoft Entra не включены, не поддерживается. | |
Служба синхронизации файлов Azure | Да | Да | Службу синхронизации хранилища и/или учетную запись хранилища можно переместить в другой каталог. Дополнительные сведения см. в статье Часто задаваемые вопросы о файлах Azure. | |
Управляемые диски Azure. | Да | Да | Если вы используете наборы шифрования дисков для шифрования управляемых дисков с ключами, управляемыми клиентом, необходимо отключить и повторно включить удостоверения, назначенные системой, связанные с наборами шифрования дисков. И необходимо повторно создать назначения ролей, чтобы снова предоставить необходимые разрешения наборам шифрования дисков в хранилищах ключей. | |
Служба Azure Kubernetes | Да | Нет | Невозможно переместить кластер AKS и связанные с ним ресурсы в другой каталог. Дополнительные сведения см. в статье Часто задаваемые вопросы о службе Azure Kubernetes (AKS). | |
Политика Azure | Да | Нет | Все объекты Политики Azure, включая настраиваемые определения, назначения, исключения и данные о соответствии. | Необходимо экспортировать, импортировать и повторно назначить определения. Затем создайте новые назначения политик и все необходимые исключения политик. |
Доменные службы Microsoft Entra | Да | Нет | Невозможно передать управляемый домен доменных служб Microsoft Entra в другой каталог. Дополнительные сведения см. в статье часто задаваемые вопросы о доменных службах Microsoft Entra | |
Регистрации приложений | Да | Да | ||
Пространство для разработки Microsoft | Да | Нет | Невозможно передать поле разработки и связанные с ним ресурсы в другой каталог. После перехода подписки на другого клиента вы не сможете выполнять какие-либо действия в среде разработки. | |
Среды развертывания Azure | Да | Нет | Вы не можете перенести среду и связанные с ней ресурсы в другой каталог. После перехода подписки на другого арендатора вы не сможете выполнять какие-либо действия в своей среде. | |
Azure Service Fabric | Да | Нет | Необходимо повторно создать кластер. Дополнительные сведения см. в разделе часто задаваемые вопросы о кластерах SF или управляемых кластерах SF. | |
Служебная шина Azure | Да | Да | Необходимо удалить, повторно создать и подключить управляемые удостоверения к соответствующему ресурсу. Необходимо повторно создать распределение ролей. | |
Рабочая область Azure Synapse Analytics | Да | Да | Необходимо обновить идентификатор клиента, связанный с рабочей областью Synapse Analytics. Если рабочая область связана с репозиторием Git, необходимо обновить конфигурацию рабочей области Git. Для получения дополнительных сведений см. раздел Восстановление рабочей области Synapse Analytics после передачи подписки в другой каталог Microsoft Entra (клиент). | |
Azure Databricks | Да | Нет | В настоящее время Azure Databricks не поддерживает перемещение рабочих областей в новый тенант. Дополнительные сведения см. в статье "Управление учетной записью Azure Databricks". | |
Галерея вычислений Azure | Да | Да | Повторять версии изображений в галерее для других регионов или переносить изображение из другой галереи. | |
Блокировки ресурсов Azure | Да | Да | Список блокировок ресурсов | Выполните экспорт блокировок ресурсов Azure вручную с помощью портала Azure или Azure CLI. |
Предупреждение
Если вы используете шифрование неактивных данных для ресурса, например учетной записи хранения или базы данных SQL, которая зависит от передаваемого хранилища ключей, это может привести к неустранимому сценарию. В этом случае стоит попробовать использовать другое хранилище ключей или временно отключить ключи, управляемые клиентом, чтобы избежать неисправимых последствий.
Чтобы получить список некоторых ресурсов Azure, затронутых при передаче подписки, можно также запустить запрос в Azure Resource Graph. Пример запроса см. в разделе "Список затронутых ресурсов" при передаче подписки Azure.
Предварительные условия
Чтобы выполнить эти действия, вам потребуется следующее:
- Bash в Azure Cloud Shell или Azure CLI
- Владелец учетной записи оплаты подписки, которую вы хотите передать в каталог источника
- Учетная запись пользователя в исходном и целевом каталогах для пользователя, вносящего изменения в каталог
Шаг 1. Подготовка к переносу
Вход в исходный каталог
Войдите в Azure как администратор.
Получите список своих подписок с помощью команды az account list.
az account list --output table
Используйте команду az account set, чтобы задать активную подписку для переноса.
az account set --subscription "Marketing"
Установка расширения Azure Resource Graph
Расширение Azure CLI для Azure Resource Graph, resource-graph, позволяет использовать команду az graph для запроса ресурсов, управляемых Azure Resource Manager. Эта команда вам понадобится на последующих этапах.
Используйте команду az extension list, чтобы узнать, установлено ли расширение resource-graph.
az extension list
Если вы используете предварительную версию или более раннюю версию расширения resource-graph , используйте az extension update для обновления расширения.
az extension update --name resource-graph
Если расширение resource-graph не установлено, используйте az extension add для установки расширения.
az extension add --name resource-graph
Сохранение всех назначений ролей
Используйте команду az role assignment list, чтобы вывести список всех назначений ролей (включая наследуемые).
Чтобы упростить просмотр списка, можно экспортировать выходные данные в формате JSON, TSV или в виде таблицы. Подробнее см. в статье Вывод списка назначений ролей с помощью Azure RBAC и Azure CLI.
az role assignment list --all --include-inherited --output json > roleassignments.json az role assignment list --all --include-inherited --output tsv > roleassignments.tsv az role assignment list --all --include-inherited --output table > roleassignments.txt
Сохраните список назначений ролей.
При передаче подписки все назначения ролей окончательно удаляются, поэтому важно сохранить копию.
Просмотрите список назначений ролей. Возможно, в целевом каталоге есть назначения ролей, которые вам не понадобятся.
Сохранение настраиваемых ролей
Используйте команду az role definition list, чтоб получить список настраиваемых ролей. Подробнее см. в статье Создание или изменение настраиваемых ролей Azure с помощью Azure CLI.
az role definition list --custom-role-only true --output json --query '[].{roleName:roleName, roleType:roleType}'
Сохраните каждую настраиваемую роль, которая понадобится в целевом каталоге, в виде отдельного JSON-файла.
az role definition list --name <custom_role_name> > customrolename.json
Создайте копии файлов настраиваемых ролей.
Измените каждую копию, чтобы использовать следующий формат.
Позже эти файлы помогут вам заново создать настраиваемые роли в целевом каталоге.
{ "Name": "", "Description": "", "Actions": [], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [] }
Определение сопоставлений пользователей, групп и субъектов-служб
Определите пользователей, группы и служебные принципы, которые вы будете сопоставлять в целевом каталоге, исходя из вашего списка назначений ролей.
Тип субъекта можно определить, посмотрев на свойство
principalType
в каждом назначении ролей.При необходимости создайте в целевом каталоге любых пользователей, группы или учетные записи служб, которые вам понадобятся.
Перечисление назначений ролей для управляемых удостоверений
Управляемые удостоверения не обновляются при передаче подписки в другой каталог. Таким образом, все существующие управляемые удостоверения, назначаемые системой или пользователем, будут повреждены. После переноса можно снова включить любые управляемые удостоверения, назначенные системой. Управляемые удостоверения, назначаемые пользователем, необходимо создать заново и подключить к целевому каталогу.
Просмотрите список служб Azure, поддерживающих управляемые удостоверения, чтобы узнать, где можно использовать управляемые удостоверения.
Используйте команду az ad sp list, чтобы получить список управляемых удостоверений, назначаемых системой и пользователем.
az ad sp list --all --filter "servicePrincipalType eq 'ManagedIdentity'"
Определите, какие из управляемых удостоверений в списке назначаются системой, а какие — пользователем. Для определения типа можно использовать следующие критерии.
Критерии Тип управляемого удостоверения Свойство alternativeNames
включаетisExplicit=False
Назначаемое системой Свойство alternativeNames
не содержитisExplicit
Назначаемое системой Свойство alternativeNames
включаетisExplicit=True
Назначено пользователем Можно также использовать команду az identity list, чтобы вывести только список управляемых удостоверений, назначаемых пользователем. Подробнее см. в статье Создание и удаление управляемых удостоверений, назначаемых пользователем, а также получение их списка с помощью Azure CLI.
az identity list
Получите список значений
objectId
для управляемых удостоверений.Выполните поиск в списке назначений ролей, чтобы узнать, есть ли назначения ролей для управляемых удостоверений.
Перечислить хранилища ключей
При создании хранилища ключей он автоматически привязан к идентификатору клиента Microsoft Entra по умолчанию для подписки, в которой она создана. Все записи политики доступа также привязываются к этому идентификатору клиента. Подробнее см. в статье Перемещение Azure Key Vault в другую подписку.
Предупреждение
Если вы используете шифрование данных в состоянии покоя для ресурса, такого как учетная запись хранения или база данных SQL, которая зависит от передаваемого ключевого хранилища, это может привести к неисправимой ситуации. В этом случае стоит попробовать использовать другое хранилище ключей или временно отключить ключи, управляемые клиентом, чтобы избежать неисправимых последствий.
Если у вас есть хранилище ключей, используйте команду az keyvault show, чтобы получить список политик доступа. Подробнее см. в статье Назначение политики доступа Key Vault.
az keyvault show --name MyKeyVault
Список баз данных SQL Azure с аутентификацией Microsoft Entra
Используйте az sql server ad-admin list и az graph extension, чтобы узнать, используется ли база данных SQL Azure с включенной интеграцией проверки подлинности Microsoft Entra. Дополнительные сведения см. в разделе "Настройка проверки подлинности Microsoft Entra" и управление ими с помощью SQL.
az sql server ad-admin list --ids $(az graph query -q "resources | where type == 'microsoft.sql/servers' | project id" --query data[*].[id] -o tsv)
Списки ACL
Если вы используете Azure Data Lake Storage 2-го поколения, списки ACL, применяемые к любому файлу, тоже можно получить на портале Azure или с помощью PowerShell.
Если вы используете Файлы Azure, выведите списки ACL, применяемые к любому файлу.
Список других известных ресурсов
Команда az account show позволяет узнать идентификатор подписки (в
bash
).subscriptionId=$(az account show --output tsv --query id)
Используйте расширение az graph для перечисления других ресурсов Azure с известными зависимостями каталога Microsoft Entra (в
bash
).az graph query -q 'resources | where type != "microsoft.azureactivedirectory/b2cdirectories" | where identity <> "" or properties.tenantId <> "" or properties.encryptionSettingsCollection.enabled == true | project name, type, kind, identity, tenantId, properties.tenantId' --subscriptions $subscriptionId --output yaml
Шаг 2. Перенос подписки
На этом этапе подписка переносится из исходного каталога в целевой. Действия будут отличаться в зависимости от того, нужно ли также передавать права на выставление счетов.
Предупреждение
При переносе подписки все назначения ролей в исходном каталоге удаляются окончательно без возможности восстановления. После переноса подписки откат назад становится невозможным. Перед выполнением этого шага убедитесь, что выполнены предыдущие шаги.
Определите, нужно ли также передавать в другую учетную запись права на выставление счетов.
Перенесите подписку в другой каталог.
- Если вы хотите сохранить текущее право собственности на счета, выполните действия, описанные в разделе Связывание или добавление подписки Azure в клиент Microsoft Entra.
- Если вы хотите передать права на выставление счетов, выполните действия, описанные в статье Передача прав на выставление счетов по подписке Azure в другую учетную запись. Чтобы перенести подписку в другой каталог, необходимо установить флажок Клиент Microsoft Entra для подписки.
Завершив перенос подписки, вернитесь к этой статье, чтобы заново создать ресурсы в целевом каталоге.
Шаг 3. Повторное создание ресурсов
Вход в целевой каталог
Войдите в целевой каталог как пользователь, который принял запрос на перенос.
Только пользователь в новой учетной записи, принимающий запрос на передачу, имеет доступ к управлению ресурсами.
Получите список своих подписок с помощью команды az account list.
az account list --output table
Запустите команду az account set, чтобы задать активную подписку для использования.
az account set --subscription "Contoso"
Создание настраиваемых ролей
Используйте команду az role definition create, чтобы создать все настраиваемые роли из файлов, созданных ранее. Подробнее см. в статье Создание или изменение настраиваемых ролей Azure с помощью Azure CLI.
az role definition create --role-definition <role_definition>
Назначьте роли
Используйте команду az role assignment create, чтобы назначить роли пользователям, группам и субъектам-службам. Подробнее см. в статье Назначение ролей Azure с помощью Azure CLI.
az role assignment create --role <role_name_or_id> --assignee <assignee> --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource_group>"
Обновление управляемых удостоверений, назначаемых системой
Отключите и снова включите управляемые удостоверения, назначаемые системой.
Служба Azure Дополнительные сведения Виртуальные машины Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине Azure с помощью Azure CLI Масштабируемые наборы виртуальных машин Настройка управляемых удостоверений для ресурсов Azure в масштабируемом наборе виртуальных машин с помощью Azure CLI другие службы. Службы с поддержкой управляемых удостоверений для ресурсов Azure Используйте команду az role assignment create, чтобы назначить роли управляемым идентификаторам, которые назначаются системой. Подробнее см. в статье Назначение доступа к ресурсу на основе управляемого удостоверения с помощью Azure CLI.
az role assignment create --assignee <objectid> --role '<role_name_or_id>' --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource_group>"
Обновление назначенных пользователем управляемых удостоверений
Удалите, заново создайте и подключите управляемые удостоверения, назначаемые пользователем.
Служба Azure Дополнительные сведения Виртуальные машины Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине Azure с помощью Azure CLI Масштабируемые наборы виртуальных машин Настройка управляемых удостоверений для ресурсов Azure в масштабируемом наборе виртуальных машин с помощью Azure CLI другие службы. Службы, поддерживающие управляемые удостоверения для ресурсов Azure
Создайте, получите список или удалите управляемую идентификацию, назначенную пользователем, с помощью Azure CLIИспользуйте команду az role assignment create, чтобы назначить роли управляемым удостоверениям, назначенным пользователем. Подробнее см. в статье Назначение доступа к ресурсу на основе управляемого удостоверения с помощью Azure CLI.
az role assignment create --assignee <objectid> --role '<role_name_or_id>' --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource_group>"
Обновление хранилищ ключей
В этом разделе описаны основные шаги по обновлению хранилищ ключей. Подробнее см. в статье Перемещение Azure Key Vault в другую подписку.
Обновите идентификатор клиента, связанный со всеми существующими хранилищами ключей в подписке, для целевого каталога.
Удалите все существующие записи политики доступа.
Добавьте новые записи политики доступа, связанные с целевым каталогом.
Обновление ACL
Если вы используете Azure Data Lake Storage 2-го поколения, назначьте соответствующие списки ACL. Дополнительные сведения см. в статье Контроль доступа в Azure Data Lake Storage 2-го поколения.
Если вы используете Файлы Azure, назначьте соответствующие списки управления доступом (ACL).
Проверка других механизмов безопасности
Хотя при передаче подписки назначения ролей удаляются, пользователи из исходной учетной записи могут сохранить возможность доступа к подписке через другие механизмы безопасности, включая:
- Ключи доступа для служб, таких как хранилище.
- Сертификаты управления, которые предоставляют пользователю с правами администратора доступ к ресурсам подписки.
- Учетные данные удаленного доступа для служб, таких как Виртуальные машины Azure.
Если вы хотите лишить пользователей исходного каталога доступа к целевому каталогу, следует подумать о смене учетных данных. Пока учетные данные не будут обновлены, у пользователей останется доступ после переноса.
Переключите ключи доступа к учетной записи хранения. Чтобы узнать больше, см. раздел управление ключами доступа к учетной записи хранения.
Если вы используете ключи доступа для других служб, таких как База данных SQL Azure или обмен сообщениями служебной шины Azure, измените ключи доступа.
Если ресурсы используют секрет, откройте их параметры и обновите секрет.
Если ресурсы используют сертификаты, обновите сертификат.