См. статью Перенос подписки Azure в другой каталог Microsoft Entra ID.
Организации могут иметь несколько подписок Azure. Каждая подписка связана с определенным каталогом Microsoft Entra. Чтобы упростить управление, может потребоваться перенести подписку в другой каталог Microsoft Entra. При переносе подписки в другой каталог Microsoft Entra некоторые ресурсы не передаются в целевой каталог. Например, все назначения ролей и пользовательские роли в управлении доступом на основе ролей Azure (Azure RBAC) окончательно удаляются из исходного каталога и не передаются в целевой каталог.
В этой статье описаны основные шаги, которые можно выполнить, чтобы перенести подписку в другой каталог Microsoft Entra и повторно создать некоторые ресурсы после передачи.
Если вы хотите заблокировать перемещение подписок в другие каталоги в организации, можно настроить политику подписки. Дополнительные сведения см. в статье Управление политиками подписок Azure.
Примечание.
Подписки для поставщиков облачных решений 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 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. Для учетных записей хранения с включенной проверкой подлинности Entra Kerberos необходимо отключить и повторно включить проверку подлинности Entra Kerberos после передачи. Для доменных служб Entra перенос в другой каталог Microsoft Entra, где доменные службы 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 | Да | Да | Репликация версий образов в коллекции в другие регионы или копирование образа из другой коллекции. |
Предупреждение
Если вы используете шифрование неактивных данных для ресурса, например учетной записи хранения или базы данных 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 в другой каталог.
- Если вы хотите сохранить текущие права на выставление счетов, выполните действия, описанные в статье Связывание или добавление подписки 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, измените ключи доступа.
Если ресурсы используют секрет, откройте их параметры и обновите секрет.
Если ресурсы используют сертификаты, обновите сертификат.