Partager via


Récupération de l’espace de travail Synapse Analytics après le transfert d’un abonnement vers un autre annuaire (locataire) Microsoft Entra

Cet article décrit comment récupérer l’espace de travail Synapse Analytics après avoir transféré son abonnement vers un autre répertoire Microsoft Entra. L’espace de travail Synapse Analytics n’est pas accessible après le transfert d’un abonnement vers un autre répertoire (locataire) Microsoft Entra.

Quand vous essayez de lancer Synapse Studio après le déplacement, vous obtenez l’erreur suivante : « Échec du chargement d’une ou de plusieurs ressources en raison de l’absence d’accès, code d’erreur 403 ».

Screenshot of Synapse Studio Error 403 after tenant migration.

Effectuez les étapes décrites dans cet article après le transfert d’un abonnement vers un autre locataire pour récupérer l’espace de travail Synapse Analytics.

Le transfert d’un abonnement vers un autre répertoire (locataire) Microsoft Entra est un processus complexe qui doit être soigneusement planifié et exécuté. Azure Synapse Analytics exige que les principaux de sécurité (identités) fonctionnent normalement. Quand un abonnement est déplacé vers un autre locataire, les ID de tous les principaux changent, les attributions de rôles sont supprimées de la ressource Azure et les identités managées affectées par le système sont supprimées.

Pour comprendre l’impact du transfert d’un abonnement vers un autre locataire, consultez Transférer un abonnement Azure vers un autre répertoire Microsoft Entra

Cet article décrit les étapes à effectuer pour récupérer un espace de travail Synapse Analytics après le déplacement de l’abonnement entre locataires.

Conditions préalables

  • Pour en savoir plus sur le service ou les ressources affectés par le déplacement vers un autre locataire, consultez Transférer un abonnement Azure vers un autre répertoire Microsoft Entra.
  • Enregistrez toutes les attributions de rôle pour les utilisateurs, groupes et identités managées Microsoft Entra. Ces informations peuvent être utilisées pour attribuer les autorisations requises sur des ressources Azure comme Azure Synapse Analytics et ADLS Gen2 après le déplacement vers un autre locataire. Consultez Étape 1 : Préparer le transfert.
  • Enregistrez toutes les autorisations nécessaires pour les utilisateurs Microsoft Entra dans un pool SQL dédié et serverless. Les utilisateurs Microsoft Entra seront supprimés des pools SQL dédiés et serverless après le déplacement vers un autre locataire.

Étapes de récupération de l’espace de travail Synapse Analytics

Après avoir transféré l’abonnement vers un autre locataire, suivez les étapes ci-dessous pour récupérer l’espace de travail Azure Synapse Analytics.

  1. Désactivez et réactivez l’identité managée affectée par le système. Vous trouverez plus d’informations plus loin dans cet article.
  2. Attribuez des autorisations de contrôle d’accès en fonction du rôle (RBAC) aux utilisateurs Microsoft Entra, groupes et identités managées Azure AD nécessaires sur l’espace de travail Synapse Analytics et les ressources Azure requises.
  3. Définissez l’administrateur SQL Active Directory.
  4. Recréez les utilisateurs et groupes Microsoft Entra en fonction de leurs utilisateurs et groupes équivalents dans le nouveau locataire Microsoft Entra pour les pools SQL dédiés et serverless.
  5. Affectez Azure RBAC aux utilisateurs et aux groupes Microsoft Entra à l’espace de travail Synapse Analytics. Cette étape doit être la première étape après la récupération de l’espace de travail. Sans cette étape, le lancement de Synapse Studio génère des messages 403, car les utilisateurs de Microsoft Entra n’ont pas d’autorisations sur l’espace de travail :
    {"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. Attribuez des rôles Azure RBAC aux utilisateurs, groupes et principaux de service Microsoft Entra à toutes les ressources utilisées dans les artefacts de l’espace de travail, comme ADLS Gen2. Pour plus d’informations sur Azure RBAC dans ADLS Gen2, consultez Contrôle d’accès en fonction du rôle (RBAC Azure).
  7. Ajoutez des attributions de rôles RBAC Synapse aux utilisateurs et aux groupes Microsoft Entra. Pour plus d’informations, consultez Gestion des attributions de rôles RBAC Synapse dans Synapse Studio.
  8. Recréez l’ensemble des connexions et des utilisateurs Microsoft Entra dans un pool SQL dédié et serverless. Pour plus d’informations, consultez Authentification SQL dans Azure Synapse Analytics.
  9. Recréez l’identité managée affectée par l’utilisateur et attribuez-la à l’espace de travail Synapse Analytics. Pour plus d’informations, consultez Informations de connexion dans Azure Data Factory et Azure Synapse.

Notes

Vérifiez que les étapes suivantes sont exécutées uniquement après avoir confirmé que l’abonnement a bien été déplacé vers un autre locataire.

Désactiver et réactiver l’identité managée affectée par le système pour l’espace de travail Synapse Analytics

Cette section vous montre comment utiliser Azure CLI ou Azure PowerShell pour désactiver et réactiver l’identité managée affectée par le système pour votre espace de travail Azure Synapse Analytics. Voici les étapes que vous pouvez effectuer dans Azure CLI ou 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"

L’exemple suivant désactive l’identité managée affectée par le système pour l’espace de travail.

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

L’espace de travail provisioningState doit avoir la valeur Succeeded et le type d’identité doit avoir la valeur None après l’exécution de la commande précédente. Si vous exécutez la commande suivante, provisioningState peut avoir la valeur Provisioning. Quelques minutes sont nécessaires pour que l’état passe à Succeeded. Vous devez attendre que provisioningState ait la valeur Succeeded avant de réactiver l’identité managée affectée par le système pour l’espace de travail.

Pour obtenir l’état de provisionnement et le type d’identité de l’espace de travail, utilisez l’extrait de code suivant :

az rest --method GET --uri $uri

Le code JSON résultant doit être similaire à ce qui suit :

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

La commande suivante réactive l’identité managée affectée par le système pour l’espace de travail :

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

La commande suivante obtient l’état de l’espace de travail. La valeur de provisioningState doit être Succeeded. La valeur de provisioningState passe de Provisioning à Succeeded. Le type d’identité est remplacé par SystemAssigned.

az rest --method GET --uri $uri

Étapes suivantes