استرداد مساحة عمل Synapse Analytics بعد نقل اشتراك إلى دليل Microsoft Entra مختلف (مستأجر)

توضح هذه المقالة كيفية استرداد مساحة عمل Synapse Analytics بعد نقل اشتراكها إلى دليل Microsoft Entra مختلف. لن يمكن الوصول إلى مساحة عمل Synapse Analytics بعد نقل اشتراك إلى دليل Microsoft Entra مختلف (مستأجر).

عند محاولة تشغيل استوديو Synapse بعد النقل، سترى الخطأ: "فشل تحميل مورد واحد أو أكثر بسبب عدم الوصول، رمز الخطأ 403."

Screenshot of Synapse Studio Error 403 after tenant migration.

اتبع الخطوات الواردة في هذه المقالة بعد نقل اشتراك عبر المستأجر لاسترداد مساحة عمل Synapse Analytics.

نقل اشتراك إلى دليل Microsoft Entra مختلف (مستأجر) عملية معقدة يجب تخطيطها وتنفيذها بعناية. تتطلب Azure Synapse Analytics أساسيات الأمان (الهويات) للعمل بشكل طبيعي. عند نقل اشتراك إلى مستأجر مختلف، تتغير جميع المعرفات الأساسية، ويتم حذف تعيينات الأدوار من مورد Azure، ويتم إسقاط الهويات المدارة المعينة من قبل النظام.

لفهم تأثير نقل اشتراك إلى مستأجر آخر، راجع نقل اشتراك Azure إلى دليل Microsoft Entra مختلف

تتناول هذه المقالة الخطوات المتضمنة في استرداد مساحة عمل Synapse Analytics بعد نقل الاشتراك عبر المستأجرين.

المتطلبات الأساسية

  • لمعرفة المزيد حول الخدمة أو الموارد المتأثرة بنقل المستأجر، راجع نقل اشتراك Azure إلى دليل Microsoft Entra مختلف.
  • احفظ جميع تعيينات الدور لمستخدمي Microsoft Entra والمجموعات والهويات المدارة. يمكن استخدام هذه المعلومات لتعيين الأذونات المطلوبة على موارد Azure مثل Azure Synapse Analytics وADLS Gen2 بعد نقل المستأجر. راجع الخطوة 1: التحضير للنقل
  • احفظ جميع الأذونات اللازمة لمستخدمي Microsoft Entra في تجمع SQL مخصص وبلا خادم. سيتم حذف مستخدمي Microsoft Entra من تجمعات SQL المخصصة وبلا خادم بعد نقل المستأجر.

خطوات استرداد مساحة عمل Synapse Analytics

بعد نقل الاشتراك إلى مستأجر آخر، اتبع الخطوات التالية لاسترداد مساحة عمل Azure Synapse Analytics.

  1. قم بتعطيل وإعادة تمكين الهوية المدارة المعينة للنظام. مزيد من المعلومات لاحقًا في هذه المقالة.
  2. تعيين أذونات التحكم في الوصول استنادا إلى الدور في Azure (التحكم في الوصول استنادا إلى الدور) لمستخدمي Microsoft Entra والمجموعات والهويات المدارة المطلوبة في مساحة عمل Synapse Analytics وموارد Azure المطلوبة.
  3. تعيين مسؤول SQL Active Directory.
  4. أعد إنشاء مستخدمي Microsoft Entra ومجموعاته استنادا إلى المستخدمين والمجموعات المكافئة لهم في مستأجر Microsoft Entra الجديد لتجمعات SQL المخصصة وبلا خادم.
  5. تعيين Azure RBAC لمستخدمي 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/*."}}
    
  6. تعيين أدوار Azure RBAC لمستخدمي Microsoft Entra والمجموعات وكيانات الخدمة لجميع الموارد المستخدمة في البيانات الاصطناعية لمساحة العمل، مثل ADLS Gen2. لمزيد من المعلومات حول Azure RBAC في ADLS Gen2، راجع التحكم في الوصول المستند إلى الدور (Azure RBAC).
  7. إضافة تعيينات دور Synapse RBAC إلى مستخدمي Microsoft Entra ومجموعاتها. لمزيد من المعلومات، راجع كيفية إدارة تعيينات دور Synapse RBAC في Synapse Studio
  8. أعد إنشاء جميع عمليات تسجيل الدخول إلى Microsoft Entra والمستخدمين في تجمع SQL مخصص وبلا خادم. لمزيد من المعلومات، راجع مصادقة SQL في Azure Synapse Analytics
  9. إعادة إنشاء جميع الهوية المدارة المعينة من قبل المستخدم وتعيين الهوية المدارة المعينة من قبل المستخدم إلى مساحة عمل Synapse Analytics. لمزيد من المعلومات، راجع بيانات الاعتماد في Azure Data Factory و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 ناجحة ويجب أن يكون نوع الهوية بلا بعد تنفيذ الأمر السابق. إذا قمت بتنفيذ الأمر التالي، فقد تظهر القيمة provisioningState على أنها Provisioning وستستغرق بضع دقائق لتغيير الحالة إلى Succeeded. يجب أن تكون قيمة 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 من Provisioning إلى Succeeded. سيتم تغيير نوع الهوية إلى SystemAssigned.

az rest --method GET --uri $uri

الخطوات التالية