Udostępnij za pośrednictwem


Odzyskiwanie obszaru roboczego usługi Synapse Analytics po przeniesieniu subskrypcji do innego katalogu (dzierżawy) usługi Microsoft Entra

W tym artykule opisano sposób odzyskiwania obszaru roboczego usługi Synapse Analytics po przeniesieniu subskrypcji do innego katalogu Microsoft Entra. Obszar roboczy usługi Synapse Analytics nie będzie dostępny po przeniesieniu subskrypcji do innego katalogu Microsoft Entra (dzierżawa).

Podczas próby uruchomienia programu Synapse Studio po przeniesieniu zostanie wyświetlony błąd: "Nie można załadować co najmniej jednego zasobu z powodu braku dostępu, kod błędu 403".

Zrzut ekranu przedstawiający błąd 403 programu Synapse Studio po migracji dzierżawy.

Wykonaj kroki opisane w tym artykule po przeniesieniu subskrypcji między najemcami, aby odzyskać środowisko pracy Synapse Analytics.

Przeniesienie subskrypcji do innego katalogu Microsoft Entra (tenant) to złożony proces, który musi być starannie zaplanowany i wykonany. Usługa Azure Synapse Analytics wymaga, aby podmioty zabezpieczeń (tożsamości) działały normalnie. Po przeniesieniu subskrypcji do innej dzierżawy wszystkie identyfikatory główne zmieniają się, przypisania ról są usuwane z zasobu platformy Azure, a tożsamości zarządzane systemowo są usuwane.

Aby zrozumieć wpływ przeniesienia subskrypcji do innej dzierżawy, zobacz Przenoszenie subskrypcji platformy Azure do innego katalogu usługi Microsoft Entra

W tym artykule opisano kroki związane z odzyskiwaniem obszaru roboczego usługi Synapse Analytics po przeniesieniu subskrypcji między dzierżawami.

Wymagania wstępne

  • Aby dowiedzieć się więcej na temat usługi lub zasobów, których dotyczy przenoszenie dzierżawy, zobacz Przenoszenie subskrypcji Platformy Azure do innego katalogu Microsoft Entra.
  • Zapisz wszystkie przypisania roli dla użytkowników, grup i tożsamości zarządzanych Microsoft Entra. Te informacje mogą służyć do przypisywania wymaganych uprawnień do zasobów platformy Azure, takich jak Azure Synapse Analytics i ADLS Gen2 po przeniesieniu dzierżawy. Zobacz Krok 1: Przygotowanie do transferu
  • Zapisz wszystkie uprawnienia niezbędne dla użytkowników firmy Microsoft Entra w dedykowanej i bezserwerowej puli SQL. Użytkownicy firmy Microsoft Entra zostaną usunięci z dedykowanych i bezserwerowych pul SQL po przeniesieniu dzierżawy.

Kroki odzyskiwania obszaru roboczego usługi Synapse Analytics

Po przeniesieniu subskrypcji do innej dzierżawy wykonaj poniższe kroki, aby odzyskać obszar roboczy usługi Azure Synapse Analytics.

  1. Wyłącz i ponownie włącz zarządzaną tożsamość przypisaną przez system. Więcej informacji znajduje się w dalszej części tego artykułu.
  2. Przypisz uprawnienia kontroli dostępu opartej na rolach platformy Azure użytkownikom, grupom i tożsamościom zarządzanym w Microsoft Entra w obszarze roboczym usługi Synapse Analytics oraz wymaganym zasobom platformy Azure.
  3. Ustaw administratora usługi SQL Active Directory.
  4. Utwórz ponownie użytkowników i grupy usługi Microsoft Entra na podstawie ich równoważnych użytkowników i grup w nowej dzierżawie usługi Microsoft Entra dla dedykowanych i bezserwerowych pul SQL.
  5. Przypisz role Azure RBAC użytkownikom i grupom usługi Microsoft Entra w obszarze roboczym Synapse Analytics. Ten krok powinien być pierwszym krokiem po odzyskaniu obszaru roboczego. Bez tego kroku uruchomienie programu Synapse Studio spowoduje zgłoszenie 403 komunikatów, ponieważ użytkownicy firmy Microsoft Entra nie mają uprawnień do obszaru roboczego:
    {"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. Przypisz role RBAC platformy Azure do użytkowników, grup, jednostek usługi Microsoft Entra do wszystkich zasobów używanych w artefaktach obszaru roboczego, takich jak ADLS Gen2. Aby uzyskać więcej informacji na temat kontroli dostępu opartej na rolach platformy Azure w usłudze ADLS Gen2, zobacz Kontrola dostępu oparta na rolach (Azure RBAC).
  7. Dodawanie przypisań ról RBAC usługi Synapse do użytkowników i grup usługi Microsoft Entra. Aby uzyskać więcej informacji, zobacz Jak zarządzać przypisaniami ról RBAC usługi Synapse w programie Synapse Studio
  8. Utwórz ponownie wszystkie logowania i użytkowników usługi Microsoft Entra w dedykowanej i bezserwerowej puli SQL. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie SQL w usłudze Azure Synapse Analytics.
  9. Utwórz ponownie wszystkie tożsamości zarządzane przypisane przez użytkowników i przypisz te tożsamości do obszaru roboczego usługi Synapse Analytics. Aby uzyskać więcej informacji, zobacz Poświadczenia w usłudze Azure Data Factory i usłudze Azure Synapse

Uwaga

Upewnij się, że poniższe kroki są wykonywane dopiero po pomyślnym przeniesieniu subskrypcji do innej dzierżawy.

Wyłączanie i ponowne włączanie przypisanej przez system tożsamości zarządzanej dla obszaru roboczego usługi Synapse Analytics

W tej sekcji pokazano, jak używać interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell do wyłączania i ponownego włączania przypisanej przez system tożsamości zarządzanej dla obszaru roboczego usługi Azure Synapse Analytics. Rozważ następujące kroki w interfejsie wiersza polecenia platformy Azure lub w programie 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"

W następnym przykładzie wyłączono tożsamość zarządzaną przypisaną przez system dla obszaru roboczego.

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

Obszar roboczy provisioningState powinien pomyślnie zakończyć się na , a typ tożsamości powinien być ustawiony na brak po wykonaniu poprzedniego polecenia. Jeśli wykonasz następujące polecenie, wartość provisioningState może być wyświetlona jako Konfigurowanie i zmiana stanu na Zakończono pomyślnie potrwa kilka minut. Stan provisioningState powinien być ustawiony na Powodzenie przed ponownym włączeniem zarządzanej tożsamości przypisanej przez system dla obszaru roboczego.

Aby sprawdzić status obszaru roboczego, uzyskać stan przygotowania i typ tożsamości, użyj poniższego fragmentu kodu:

az rest --method GET --uri $uri

Wynikowy kod JSON powinien być podobny do następującego:

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

Następne polecenie ponownie włączy tożsamość zarządzaną przypisaną przez system dla obszaru roboczego:

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

Następne polecenie wyświetli status obszaru roboczego. Wartość provisioningState powinna mieć wartość Powodzenie. Wartość provisioningState zmieni się z Przygotowanie na Zakończone. Typ tożsamości zostanie zmieniony na SystemAssigned.

az rest --method GET --uri $uri

Następne kroki