كيفية إعداد مصادقة Windows لـ Microsoft Azure Active Directory من خلال التدفق الوارد المستند إلى الثقة (إصدار أولي)

توضح هذه المقالة كيفية تنفيذ تدفق المصادقة الواردة المستندة إلى الثقة للسماح لـ Microsoft Active Directory المنضمين إلى العملاء الذين يشغلون Windows 10 أو Windows Server 2012 أو الإصدارات الأحدث من Windows للمصادقة على Azure SQL Managed Instance باستخدام مصادقة Windows. تشارك هذه المقالة أيضاً خطوات لتدوير مفتاح Kerberos لحساب خدمة Microsoft Azure Active Directory وعنصر المجال الموثوق به، والخطوات لإزالة عنصر المجال الموثوق به وجميع إعدادات Kerberos، إذا رغبت في ذلك.

يعد تمكين تدفق المصادقة الواردة المستندة إلى الثقة خطوة واحدة في إعداد مصادقة Windows لمثيل Azure SQL المُدار باستخدام Microsoft Azure Active Directory وKerberos (إصدار أولي). يتوفر التدفق التفاعلي الحديث (إصدار أولي) للعملاء المتقدمين الذين يستخدمون Windows 10 20H1 أو Windows Server 2022 أو إصدار أحدث من Windows.

الأذونات

لإكمال الخطوات الموضحة في هذه المقالة، ستحتاج إلى:

  • اسم مستخدم وكلمة مرور لمسؤول Active Directory المحلي.
  • اسم المستخدم وكلمة المرور لحساب المسؤول العام في Microsoft Azure Active Directory.

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

لتنفيذ تدفق المصادقة الواردة المستندة إلى الثقة، تأكد أولاً من استيفاء المتطلبات الأساسية التالية:

المتطلب الأساسي الوصف
يجب على العميل تشغيل Windows 10 أو Windows Server 2012 أو إصدار أعلى من Windows.
يجب أن ينضم العملاء إلى AD. يجب أن يحتوي المجال على مستوى وظيفي من Windows Server 2012 أو أعلى. يمكنك تحديد ما إذا كان العميل منضماً إلى AD عن طريق تشغيل الأمر dsregcmd: dsregcmd.exe /status
وحدة إدارة المصادقة المختلطة Microsoft Azure Active Directory. توفر وحدة PowerShell النمطية هذه ميزات إدارة للإعداد المحلي.
مستأجر Azure.
اشتراك Azure ضمن نفس مستأجر Microsoft Azure Active Directory الذي تخطط لاستخدامه للمصادقة.
تم تثبيت Microsoft Azure Active Directory Connect. البيئات المختلطة حيث توجد الهويات في كل من Microsoft Azure Active Directory وAD.

قم بإنشاء وتكوين عنصر المجال الموثوق به Microsoft Azure Active Directory Kerberos

لإنشاء وتكوين عنصر المجال الموثوق به Microsoft Azure Active Directory Kerberos، ستقوم بتثبيت وحدة PowerShell لإدارة المصادقة المختلطة Microsoft Azure Active Directory.

ستستخدم بعد ذلك وحدة PowerShell لإدارة المصادقة المختلطة Microsoft Azure Active Directory لإعداد عنصر مجال موثوق به في مجال AD المحلي وتسجيل معلومات الثقة مع Microsoft Azure Active Directory. يؤدي ذلك إلى إنشاء علاقة ثقة مضمنة في الإعلان المحلي، والذي يمكّن AD المحلي من الوثوق في Microsoft Azure Active Directory.

إعداد عنصر المجال الموثوق به

لإعداد عنصر المجال الموثوق به، قم أولاً بتثبيت الوحدة النمطية Azure AD Hybrid Authentication Management PowerShell.

تثبيت الوحدة النمطية Azure AD Hybrid Authentication Management PowerShell

  1. ابدأ جلسة Windows PowerShell باستخدام الخيار Run as administrator.

  2. قم بتثبيت الوحدة النمطية Azure AD Hybrid Authentication Management PowerShell باستخدام البرنامج النصي التالي. بيان النص:

    • تمكن TLS 1.2 للاتصال.
    • تثبيت موفر حزمة NuGet.
    • يسجل مستودع PSGallery.
    • تثبيت وحدة PowerShellGet.
    • تثبيت وحدة PowerShell لإدارة المصادقة المختلطة Microsoft Azure Active Directory.
      • إن Azure AD Hybrid Authentication Management PowerShell تستخدم الوحدة النمطية AzureADPreview، التي توفر ميزة إدارة Microsoft Azure Active Directory المتقدمة.
      • للحماية من تعارضات التثبيت غير الضرورية مع الوحدة النمطية AzureAD PowerShell، يتضمن هذا الأمر علامة الخيار AllowClobber–.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 

Install-PackageProvider -Name NuGet -Force 

if (@(Get-PSRepository | ? {$_.Name -eq "PSGallery"}).Count -eq 0){ 
    Register-PSRepository -DefaultSet-PSRepository -Name "PSGallery" -InstallationPolicy Trusted 
} 

Install-Module -Name PowerShellGet -Force 

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber 

إنشاء عنصر المجال الموثوق به

  1. ابدأ جلسة Windows PowerShell باستخدام الخيار Run as administrator.

  2. اضبط المعلمات المشتركة. قم بتخصيص البرنامج النصي أدناه قبل تشغيله.

    • قم بتعيين المعلمة $domain على اسم مجال Active Directory المحلي الخاص بك.
    • عندما يطلب منك Get-Credential، أدخل اسم مستخدم وكلمة مرور مسؤول Active Directory المحلي.
    • قم بتعيين المعلمة $cloudUserName على اسم المستخدم لحساب امتياز مسؤول عام للوصول إلى سحابة Microsoft Azure Active Directory.

    ملاحظة

    إذا كنت ترغب في استخدام حساب تسجيل الدخول إلى Windows الحالي الخاص بك للوصول إلى Active Directory المحلي، فيمكنك تخطي الخطوة حيث يتم تعيين بيانات الاعتماد للمعلمة $domainCred. إذا كنت تتبع هذا الأسلوب، فلا تقم بتضمين المعلمة -DomainCredential في أوامر PowerShell التي تتبع هذه الخطوة.

    $domain = "your on-premesis domain name, for example contoso.com" 
    
    $domainCred = Get-Credential 
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com" 
    
  3. تحقق من إعدادات نطاق Kerberos الحالية.

    قم بتشغيل الأمر التالي للتحقق من إعدادات Kerberos الحالية لنطاقك:

    Get-AzureAdKerberosServer -Domain $domain ` 
        -DomainCredential $domainCred ` 
        -UserPrincipalName $cloudUserName 
    

    إذا كانت هذه هي المرة الأولى التي تستدعي فيها أي أمر Microsoft Azure Active Directory Kerberos، فستتم مطالبتك بالوصول السحابي لـ Microsoft Azure Active Directory.

    • أدخل كلمة المرور لحساب المسؤول العام في Microsoft Azure Active Directory.
    • إذا كانت مؤسستك تستخدم أساليب مصادقة حديثة أخرى مثل المصادقة متعددة العوامل (MFA) (مصادقة Azure متعددة العوامل) أو البطاقة الذكية، فاتبع الإرشادات كما هو مطلوب لتسجيل الدخول.

    إذا كانت هذه هي المرة الأولى التي تقوم فيها بتكوين إعدادات Microsoft Azure Active Directory Kerberos، فسيعرض الأمر Get-AzureAdKerberosServer معلومات فارغة، كما في نموذج الإخراج التالي:

    ID                  :
    UserAccount         :
    ComputerAccount     :
    DisplayName         :
    DomainDnsName       :
    KeyVersion          :
    KeyUpdatedOn        :
    KeyUpdatedFrom      :
    CloudDisplayName    :
    CloudDomainDnsName  :
    CloudId             :
    CloudKeyVersion     :
    CloudKeyUpdatedOn   :
    CloudTrustDisplay   :
    

    إذا كان مجالك يدعم بالفعل مصادقة FIDO، فسيعرض الأمر Get-AzureAdKerberosServer معلومات حساب خدمة Microsoft Azure Active Directory Service، كما في نموذج الإخراج التالي. لاحظ أن الحقل CloudTrustDisplay يعرض قيمة فارغة.

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : 
    
  4. قم بإضافة عنصر المجال الموثوق به.

    قم بتشغيل الأمر Set-AzureAdKerberosServer PowerShell لإضافة عنصر المجال الموثوق به. تأكد من تضمين المعلمة -SetupCloudTrust. إذا لم يكن هناك حساب خدمة Azure AD، فسيقوم هذا الأمر بإنشاء حساب خدمة Microsoft Azure Active Directory جديد. إذا كان هناك حساب خدمة Microsoft Azure Active Directory بالفعل، فسيقوم هذا الأمر فقط بإنشاء عنصر المجال الموثوق به المطلوب.

    Set-AzureAdKerberosServer -Domain $domain ` 
       -DomainCredential $domainCred ` 
       -UserPrincipalName $cloudUserName ` 
       -SetupCloudTrust 
    

    بعد إنشاء عنصر المجال الموثوق به، يمكنك التحقق من إعدادات Kerberos المحدثة باستخدام الأمر Get-AzureAdKerberosServer PowerShell كما هو موضح في الخطوة السابقة. إذا تم تشغيل الأمر Set-AzureAdKerberosServer بنجاح مع المعلمة -SetupCloudTrust، فيجب أن يرجع الحقل CloudTrustDisplay الآن Microsoft.AzureAD.Kdc.Service.TrustDisplay، كما في نموذج الإخراج التالي:

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : Microsoft.AzureAD.Kdc.Service.TrustDisplay
    

تكوين عنصر نهج المجموعة (GPO)

  1. حدد Azure AD tenant ID.

  2. وزع إعداد نهج المجموعة التالي على الأجهزة العميلة باستخدام التدفق الوارد المستند إلى الثقة:

    1. قم بتحرير إعداد نهج Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients.

    2. حدد Enabled.

    3. ضمن Options، حدد ...Show. يؤدي هذا إلى فتح مربع الحوار "Show Contents".

      Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value.

    4. حدد إعدادات خوادم وكيل KDC باستخدام التعيينات على النحو التالي. استبدل معرف مستأجر Microsoft Azure Active Directory بالعنصر النائب your_Azure_AD_tenant_id. لاحظ المسافة التي تلي https والمسافة قبل / الخاص بالإغلاق في تعيين القيمة.

      اسم القيمة القيمة
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos />

      Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value.

    5. حدد OK لإغلاق مربع الحوار 'Show Contents'.

    6. حدد Apply في مربع الحوار 'Specify KDC proxy servers for Kerberos clients'.

تدوير مفتاح Kerberos

يمكنك تدوير مفتاح Kerberos بشكل دوري لحساب خدمة Microsoft Azure Active Directory Service وعنصر المجال الموثوق به لأغراض الإدارة.

Set-AzureAdKerberosServer -Domain $domain ` 
   -DomainCredential $domainCred ` 
   -UserPrincipalName $cloudUserName -SetupCloudTrust ` 
   -RotateServerKey 

بمجرد تدوير المفتاح، يستغرق نشر المفتاح الذي تم تغييره بين خوادم Kerberos KDC عدة ساعات. نظراً لتوقيت توزيع المفتاح هذا، فأنت مقيد بتدوير المفتاح مرة واحدة في غضون 24 ساعة. إذا كنت بحاجة إلى تدوير المفتاح مرة أخرى في غضون 24 ساعة لأي سبب، على سبيل المثال، بعد إنشاء عنصر المجال الموثوق به مباشرةً، يمكنك إضافة المعلمة -Force:

Set-AzureAdKerberosServer -Domain $domain ` 
   -DomainCredential $domainCred ` 
   -UserPrincipalName $cloudUserName -SetupCloudTrust ` 
   -RotateServerKey -Force 

إزالة عنصر المجال الموثوق به

يمكنك إزالة عنصر المجال الموثوق به المضاف باستخدام الأمر التالي:

Remove-AzureADKerberosTrustedDomainObject -Domain $domain ` 
   -DomainCredential $domainCred ` 
   -UserPrincipalName $cloudUserName 

سيؤدي هذا الأمر إلى إزالة عنصر المجال الموثوق به فقط. إذا كان مجالك يدعم مصادقة FIDO، يمكنك إزالة عنصر المجال الموثوق به مع الحفاظ على حساب Microsoft Azure Active Directory Service المطلوب لخدمة مصادقة FIDO.

قم بإزالة جميع إعدادات Kerberos

يمكنك إزالة حساب Microsoft Azure Active Directory Service وعنصر المجال الموثوق به باستخدام الأمر التالي:

Remove-AzureAdKerberosServer -Domain $domain ` 
   -DomainCredential $domainCred ` 
   -UserPrincipalName $cloudUserName 

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

تعرف على المزيد حول تنفيذ مصادقة Windows لكيانات Microsoft Azure Active Directory على مثيل Azure SQL المُدار: