Восстановление рабочей области Synapse Analytics после перемещения подписки в другой каталог (клиент) Microsoft Entra
В этой статье описывается, как восстановить рабочую область Synapse Analytics после передачи подписки в другой каталог Microsoft Entra. Рабочая область Synapse Analytics не будет доступна после передачи подписки в другой каталог Microsoft Entra (клиент).
При попытке запустить Synapse Studio после перемещения вы увидите сообщение об ошибке :"Не удалось загрузить один или несколько ресурсов из-за отсутствия доступа, кода ошибки 403."
Выполните действия, описанные в этой статье, после перемещения подписки между клиентами, чтобы восстановить рабочую область Synapse Analytics.
Перенос подписки в другой каталог Microsoft Entra (клиент) — это сложный процесс, который необходимо тщательно планировать и выполнять. Azure Synapse Analytics требует, чтобы субъекты безопасности (удостоверения) работали нормально. При перемещении подписки в другой клиент все идентификаторы субъектов изменяются, назначения ролей удаляются из ресурса Azure, а управляемые удостоверения, назначаемые системой, удаляются.
Сведения о влиянии передачи подписки другому клиенту см . в статье "Передача подписки Azure в другой каталог Microsoft Entra"
В этой статье рассматриваются действия, связанные с восстановлением рабочей области Synapse Analytics после перемещения подписки между клиентами.
Предварительные требования
- Дополнительные сведения о службе или ресурсах, затронутых перемещением клиента, см . в статье "Передача подписки Azure в другой каталог Microsoft Entra".
- Сохраните все назначения ролей для пользователей, групп и управляемых удостоверений Microsoft Entra. Эти сведения можно использовать для назначения необходимых разрешений для ресурсов Azure, таких как Azure Synapse Analytics и ADLS 2-го поколения после перемещения клиента. См. Шаг 1. Подготовка к перемещению
- Сохраните все разрешения, необходимые для пользователей Microsoft Entra в выделенном и бессерверном пуле SQL. Пользователи Microsoft Entra будут удалены из выделенных и бессерверных пулов SQL после перемещения клиента.
Действия по восстановлению рабочей области Synapse Analytics
После перемещения подписки в другой клиент выполните следующие действия, чтобы восстановить рабочую область Azure Synapse Analytics.
- Отключите и снова включите управляемое удостоверение, назначаемое системой. Дополнительные сведения см. в разделе ниже в этой статье.
- Назначьте нужным пользователям, группам и управляемым удостоверениям Microsoft Entra разрешения Azure RBAC (управление доступом на основе ролей) для доступа к рабочей области Synapse Analytics и требуемым ресурсам Azure.
- Назначьте администратора Active Directory для SQL.
- Повторно создайте пользователей и группы Microsoft Entra для выделенных и бессерверных пулов SQL, которые дублируют пользователей и группы в новом клиенте Microsoft Entra.
- Назначьте пользователям и группам Microsoft Entra роли Microsoft Entra для доступа к рабочей области Synapse Analytics. Этот шаг должен быть первым шагом после восстановления рабочей области. Без этого шага запуск Synapse Studio создаст 403 сообщения из-за того, что пользователи Microsoft Entra не имеют разрешений на рабочую область:
{"error":{"code":"Unauthorized","message":"The principal '<subscriptionid>' does not have the required Synapse RBAC permission to perform this action. Required permission: Action: Microsoft.Synapse/workspaces/read, Scope: workspaces/tenantmove-ws-1/*."}}
- Назначьте пользователям, группам и субъектам-службам Microsoft Entra роли Azure RBAC для доступа ко всем ресурсам, которые используются в артефактах рабочей области, например ADLS 2-го поколения. Дополнительные сведения об Azure RBAC в ADLS Gen2 см. в разделе "Что такое управление доступом на основе ролей в Azure (Azure RBAC)?".
- Назначьте пользователям и группам Microsoft Entra роль RBAC для доступа к Synapse. Дополнительные сведения см. в разделе "Управление назначениями ролей RBAC для Synapse в Synapse Studio"
- Повторно создайте все имена входа и пользователей Microsoft Entra в выделенном и бессерверном пуле SQL. Дополнительные сведения см. в разделе "Проверка подлинности SQL в Azure Synapse Analytics"
- Повторно создайте все назначаемые пользователем управляемые удостоверения и назначьте управляемое удостоверение, назначаемое пользователем, рабочей области Synapse Analytics. Дополнительные сведения см. в разделе "Учетные данные в Фабрике данных Azure и Azure Synapse"
Примечание.
Убедитесь, что следующие действия выполняются только после успешного перемещения подписки в другой клиент.
Отключение и повторное включение управляемого удостоверения, назначаемого системой, для рабочей области Synapse Analytics
В этом разделе показано, как использовать Azure CLI или Azure PowerShell для отключения и повторного включения управляемого удостоверения, назначаемого системой, для рабочей области Azure Synapse Analytics. Выполните следующие действия в Azure CLI или Azure PowerShell.
$resourceGroupName="Provide the Resource group name"
$workspaceName="Provide the workspace name"
$subscriptionId="Provide the subscription Id"
$url = "https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Synapse/workspaces/$workspaceName\?api-version=2021-06-01"
Следующий пример отключает управляемое удостоверение, назначаемое системой, для рабочей области.
az rest --method patch --headers Content-Type=application/json `
--url $url `
--body '{ \"identity\":{\"type\":\"None\"}}'
Рабочая область provisioningState
должна иметь состояние "Выполнено", а тип удостоверения должен иметь значение "None" после выполнения предыдущей команды. При выполнении следующей команды значение provisioningState
может отображаться как "Подготовка" и займет несколько минут, прежде чем состояние изменится на "Выполнено". Значение provisioningState
должно быть установлено в "Выполнено" перед повторным включением управляемого удостоверения, назначаемого системой, для рабочей области.
Чтобы получить состояние рабочей области для получения состояния подготовки и типа удостоверения, используйте следующий фрагмент кода:
az rest --method GET --uri $uri
Результирующий файл JSON должен выглядеть следующим образом:
{
"id": "/subscriptions/<subscriptionid>/resourceGroups/TenantMove-RG/providers/Microsoft Synapse/workspaces/tenantmove-ws",
"identity": {
"type": "None"
},
"location": "eastus",
"name": "tenantmove-ws",
"properties": {
"connectivityEndpoints": {
"dev": "https://tenantmove-ws.dev.azuresynapse.net",
"sql": "tenantmove-ws.sql.azuresynapse.net",
"sqlOnDemand": "tenantmove-ws-ondemand.sql.azuresynapse.net",
"web": "https://web.azuresynapse.net?workspace=%2fsubscriptions%2<subscriptionid>b%2fresourceGroups%2fTenantMove-RG%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2ftenantmove-ws"
},
"cspWorkspaceAdminProperties": {
"initialWorkspaceAdminObjectId": "<object id>"
},
"defaultDataLakeStorage": {
"accountUrl": "https://tenantmovedemowsstorage.dfs.core.windows.net",
"filesystem": "demo",
"resourceId": "/subscriptions/<subscriptionid>/resourceGroups/TenantMove-RG/providers/Microsoft.Storage/storageAccounts/tenantmovedemowsstorage"
},
"encryption": {
"doubleEncryptionEnabled": false
},
"extraProperties": {
"WorkspaceType": "Normal"
},
"managedResourceGroupName": "tenantmove-ws-managed-rg",
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"sqlAdministratorLogin": "sqladminuser",
"trustedServiceBypassEnabled": false,
"workspaceUID": "<workspace UID>"
},
"resourceGroup": "TenantMove-RG",
"tags": {},
"type": "Microsoft.Synapse/workspaces"
}
Выполните следующую команду для повторного включения управляемого удостоверения, назначаемого системой, для рабочей области:
az rest --method patch --headers Content-Type=application/json `
--url $url `
--body '{ \"identity\":{\"type\":\"SystemAssigned\"}}'
Выполните следующую команду для получения состояния рабочей области. Значение provisioningState
должно быть установлено в "Выполнено". Значение provisioningState
изменится с "Подготовка" на "Выполнено". Тип удостоверения будет изменен на SystemAssigned.
az rest --method GET --uri $uri
Следующие шаги
- Передача подписки Azure в другой каталог Microsoft Entra
- Перемещение рабочей области Azure Synapse Analytics из одного региона в другой
- Назначение разрешений Azure RBAC (управление доступом на основе ролей) требуемым пользователям, группам и управляемым удостоверениям Microsoft Entra
- Управление назначениями ролей Synapse RBAC в Synapse Studio