Share via


Recuperación del área de trabajo de Synapse Analytics después de transferir una suscripción a otro directorio de Microsoft Entra (inquilino)

Este artículo describe cómo recuperar el área de trabajo de Synapse Analytics después de transferir su suscripción a un directorio diferente de Microsoft Entra. El área de trabajo Synapse Analytics no será accesible después de transferir una suscripción a un directorio Microsoft Entra diferente (inquilino).

Al intentar iniciar Synapse Studio después del traslado, verá el error: "No se pudo cargar uno o varios recursos debido a que no hay acceso, código de error 403".

Screenshot of Synapse Studio Error 403 after tenant migration.

Siga los pasos de este artículo después de transferir una suscripción a través del inquilino para recuperar el área de trabajo de Synapse Analytics.

La transferencia de una suscripción a un directorio (inquilino) diferente de Microsoft Entra es un proceso complejo que debe planificarse y ejecutarse cuidadosamente. Azure Synapse Analytics requiere que las entidades de seguridad (identidades) funcionen normalmente. Cuando una suscripción se mueve a un inquilino diferente, todos los id. de entidad de seguridad cambian, las asignaciones de roles se eliminan del recurso de Azure y se quitan las identidades administradas asignadas por el sistema.

Para reconocer el impacto de la transferencia de una suscripción a otro inquilino, consulte Transferir una suscripción Azure a un directorio Microsoft Entra diferente

En este artículo se describen los pasos necesarios para recuperar un área de trabajo de Synapse Analytics después de mover la suscripción entre inquilinos.

Requisitos previos

  • Para más información sobre el servicio o los recursos afectados por el traslado de inquilinos, consulte Transferencia de una suscripción de Azure a otro directorio de Microsoft Entra.
  • Guarde toda la asignación de roles para usuarios, grupos e identidades administradas de Microsoft Entra. Esta información se puede usar para asignar los permisos necesarios en recursos de Azure, como Azure Synapse Analytics y ADLS Gen2 después del traslado del inquilino. Consulte Paso 1: Preparación de la transferencia.
  • Guarde todos los permisos necesarios para los usuarios de Microsoft Entra en el grupo de SQL dedicado y sin servidor. Los usuarios de Microsoft Entra se eliminarán de los grupos de SQL dedicados y sin servidor después de mover el inquilino.

Pasos para recuperar el área de trabajo de Synapse Analytics

Después de transferir la suscripción a otro inquilino, siga los pasos siguientes para recuperar el área de trabajo de Azure Synapse Analytics.

  1. Deshabilite y vuelva a habilitar la identidad administrada asignada por el sistema. Más información más adelante en este artículo.
  2. Asigne los permisos de Azure RBAC (control de acceso basado en roles) a los usuarios, grupos e identidades administradas necesarios de Microsoft Entra en el área de trabajo de Synapse Analytics y los recursos de Azure necesarios.
  3. Establezca el administrador de SQL Active Directory.
  4. Vuelva a crear los usuarios y grupos de Microsoft Entra en función de sus usuarios y grupos equivalentes en el nuevo inquilino de Microsoft Entra para los grupos de SQL dedicados y sin servidor.
  5. Asigne Azure RBAC a usuarios y grupos de Microsoft Entra para el área de trabajo de Synapse Analytics. Este paso debe ser el primer paso después de recuperar el área de trabajo. Sin este paso, al iniciar Synapse Studio se producirán 403 mensajes, debido a que los usuarios de Microsoft Entra no tienen permisos en el área de trabajo:
    {"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/*."}}
    
  6. Asigne roles Azure RBAC a usuarios, grupos y entidades de servicio de Microsoft Entra para todos los recursos usados en los artefactos del área de trabajo, como ADLS Gen2. Para más información sobre Azure RBAC en ADLS Gen2, consulte Control de acceso basado en roles (Azure RBAC).
  7. Agregue asignaciones de roles de Synapse RBAC a usuarios y grupos de Microsoft Entra. Para más información, consulte Cómo administrar asignaciones de roles de Synapse RBAC en Synapse Studio.
  8. Vuelva a crear todos los inicios de sesión y usuarios de Microsoft Entra en un grupo de SQL dedicado y sin servidor. Para más información, consulte Autenticación de SQL en Azure Synapse Analytics.
  9. Vuelva a crear toda la identidad administrada asignada por el usuario y asigne la identidad administrada asignada por el usuario al área de trabajo de Synapse Analytics. Para obtener más información, consulte Credenciales en Azure Data Factory y Azure Synapse.

Nota

Asegúrese de que los pasos siguientes solo se ejecutan después de confirmar que la suscripción se ha movido correctamente a otro inquilino.

Deshabilitación y rehabilitación de la identidad administrada asignada por el sistema para el área de trabajo de Synapse Analytics

En esta sección se muestra cómo usar la CLI de Azure o Azure PowerShell para deshabilitar y volver a habilitar la identidad administrada asignada por el sistema para el área de trabajo de Azure Synapse Analytics. Tenga en cuenta los pasos siguientes en la CLI de Azure o 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"

En el ejemplo siguiente se deshabilita la identidad administrada asignada por el sistema para el área de trabajo.

az rest --method patch --headers  Content-Type=application/json   `
--url  $url `
--body '{ \"identity\":{\"type\":\"None\"}}'

provisioningState del área de trabajo debe ser Correcto y el tipo de identidad debe ser Ninguno después de ejecutar el comando anterior. Si ejecuta el siguiente comando, el valor de provisioningState podría aparecer como Aprovisionando y tardará unos minutos en cambiar el estado a Correcto. El valor de provisioningState debe ser Correcto antes de volver a habilitar la identidad administrada asignada por el sistema para el área de trabajo.

Para obtener el estado de aprovisionamiento y el tipo de identidad del área de trabajo, use el siguiente fragmento de código:

az rest --method GET --uri $uri

El JSON resultante debe ser similar a:

   {
  "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"
}

El siguiente comando volverá a habilitar la identidad administrada asignada por el sistema para el área de trabajo:

az rest --method patch --headers  Content-Type=application/json   `
--url  $url `
--body '{ \"identity\":{\"type\":\"SystemAssigned\"}}'

El siguiente comando le obtendrá el estado del área de trabajo. El valor de provisioningState debe ser Correcto. El valor de provisioningState cambiará de Aprovisionando a Correcto. El tipo de identidad se cambiará a SystemAssigned.

az rest --method GET --uri $uri

Pasos siguientes