أساسيات خادم Azure Active Directory

ينطبق على: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics (مجموعات SQL المخصصة فقط)

ملاحظة

أساسيات خادم Azure Active Directory (Azure AD) (عمليات تسجيل الدخول) موجودة حاليًا في المعاينة العامة لـ Azure SQL Database. يمكن لـ Azure SQL Managed Instance استخدام عمليات تسجيل الدخول إلى Azure AD بالفعل.

يمكنك الآن إنشاء أساسيات خادم Azure AD واستخدامها، وهي عمليات تسجيل دخول في قاعدة البيانات الرئيسية الظاهرية لـ SQL Database. هناك العديد من الفوائد لاستخدام أساسيات خادم Azure AD لـ SQL Database:

  • دعم أدوار خادم Azure SQL Database لإدارة الأذونات.
  • دعم العديد من المستخدمين Azure AD مع أدوار خاصة لـ SQL Database، مثل loginmanager وdbmanager.
  • التكافؤ الوظيفي بين تسجيلات دخول SQL وتسجيلات دخول Azure AD.
  • دعم زيادة التحسين الوظيفي، مثل استخدام مصادقة Azure AD فقط. تسمح مصادقة Azure AD فقط بتعطيل مصادقة SQL، والتي تتضمن مسؤول خادم SQL وتسجيلات دخول SQL والمستخدمين.
  • يسمح لكيانات Azure AD بدعم النسخ الجغرافية المتماثلة. ستتمكن كيانات Azure AD من الاتصال بالنسخة المتماثلة الجغرافية لقاعدة بيانات المستخدم، بإذن للقراءة فقط ورفض الإذن للخادم الرئيسي.
  • القدرة على استخدام عمليات تسجيل الدخول الرئيسية لكيان خدمة Azure AD مع أدوار خاصة لتنفيذ التشغيل التلقائي الكامل لإنشاء المستخدم وقاعدة البيانات، فضلاً عن الصيانة التي توفرها تطبيقات Azure AD.
  • وظيفة أوثق بين Managed Instance وSQL Database، حيث يدعم Managed Instance بالفعل عمليات تسجيل الدخول إلى Azure AD في قاعدة البيانات الرئيسية.

لمزيد من المعلومات حول مصادقة Azure AD في Azure SQL، راجع استخدام مصادقة Azure Active Directory

الأذونات

الأذونات التالية مطلوبة لاستخدام أو إنشاء عمليات تسجيل دخول Azure AD في قاعدة البيانات الرئيسية الظاهرية.

  • إذن أو عضوية مسؤول Azure AD في دور الخادم loginmanager. يمكن إنشاء تسجيل الدخول Azure AD الأول فقط من قبل مسؤول Azure AD.
  • يجب أن يكون عضوًا في Azure AD داخل نفس الدليل المستخدم لـ Azure SQL Database

بشكل افتراضي، يكون الإذن القياسي الممنوح لتسجيل دخول Azure AD في master قاعدة البيانات هو عرض أي قاعدة بيانات.

بناء جملة عمليات تسجيل دخول Azure AD

تم تقديم بناء جملة جديد لـ Azure SQL Database لاستخدام أساسيات خادم Azure AD مع إصدار الميزة هذا.

إنشاء بناء جملة تسجيل الدخول

CREATE LOGIN login_name { FROM EXTERNAL PROVIDER | WITH <option_list> [,..] }  

<option_list> ::=      
    PASSWORD = {'password'}   
    | , SID = sid, ] 

يحدد login_name كيان Azure AD، وهو مستخدم Azure AD أو مجموعة أو تطبيق.

لمزيد من المعلومات، راجع CREATE LOGIN (Transact-SQL).

إنشاء بناء جملة المستخدم

يتوفر بناء جملة T-SQL أدناه بالفعل في SQL Database، ويمكن استخدامه لإنشاء كيانات Azure AD على مستوى قاعدة البيانات المعينة لعمليات تسجيل دخول Azure AD في قاعدة البيانات الرئيسية الظاهرية.

لإنشاء مستخدم Azure AD من تسجيل دخول Azure AD، استخدم بناء الجملة التالي. يمكن لمسؤول Azure AD فقط تنفيذ هذا الأمر في قاعدة البيانات الرئيسية الظاهرية.

CREATE USER user_name FROM LOGIN login_name

لمزيد من المعلومات، راجع CREATE USER (Transact-SQL).

تعطيل تسجيل الدخول أو تمكينه باستخدام بناء جملة "تغيير تسجيل الدخول"

يمكن استخدام بناء جملة ALTER LOGIN (Transact-SQL) DDL لتمكين تسجيل الدخول إلى Azure AD أو تعطيله في Azure SQL Database.

ALTER LOGIN login_name DISABLE 

لن يتمكن كيان Azure AD login_name من تسجيل الدخول إلى أي قاعدة بيانات مستخدم في الخادم المنطقي لـ SQL Database حيث تم إنشاء كيان مستخدم Azure AD، user_name تم تعيينه لتسجيل الدخول login_name.

ملاحظة

  • ALTER LOGIN login_name DISABLE غير مدعوم للمستخدمين المضمنين.

  • ALTER LOGIN login_name DISABLE غير مدعوم لمجموعات Azure AD.

  • لا يمكن أن ينتمي تسجيل الدخول المعطل الفردي إلى مستخدم يشكل جزءًا من مجموعة تسجيل دخول تم إنشاؤها في قاعدة البيانات الرئيسية (على سبيل المثال، مجموعة مسؤولي Azure AD).

  • لكي تصبح تغييرات DISABLE أو ENABLE سارية المفعول على الفور، يجب مسح ذاكرة التخزين المؤقت للمصادقة وذاكرة التخزين المؤقت TokenAndPermUserStore باستخدام أوامر T-SQL.

    DBCC FLUSHAUTHCACHE
    DBCC FREESYSTEMCACHE('TokenAndPermUserStore') WITH NO_INFOMSGS 
    

أدوار كيانات Azure AD

يمكن تعيين أدوار خاصة لـ SQL Database إلى المستخدمين في قاعدة البيانات الرئيسية الظاهرية لكيانات Azure AD، بما في ذلك dbmanager وloginmanager.

يمكن تعيين أدوار خادم Azure SQL Database إلى عمليات تسجيل الدخول في قاعدة البيانات الرئيسية الظاهرية.

للحصول على برنامج تعليمي حول كيفية منح هذه الأدوار، راجع البرنامج التعليمي: إنشاء عمليات تسجيل دخول خادم Azure Active Directory واستخدامها.

القيود والملاحظات

  • لا يمكن لمسؤول خادم SQL إنشاء عمليات تسجيل دخول Azure AD أو مستخدمين في أي قواعد بيانات.
  • تغيير ملكية قاعدة بيانات إلى مجموعة Azure AD كمالك قاعدة بيانات غير مدعوم.
    • فشل ALTER AUTHORIZATION ON database::<mydb> TO [my_aad_group] مع رسالة خطأ:
      Msg 33181, Level 16, State 1, Line 4
      The new owner cannot be Azure Active Directory group.
      
    • يتم دعم تغيير ملكية قاعدة بيانات إلى مستخدم فردي.
  • لا يمكن لمسؤول SQL أو مستخدم SQL تنفيذ عمليات Azure AD التالية:
    • CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
    • CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER
    • EXECUTE AS USER [bob@contoso.com]
    • ALTER AUTHORIZATION ON securable::name TO [bob@contoso.com]
  • لا يتم دعم انتحال كيانات على مستوى خادم Azure AD (عمليات تسجيل الدخول):
  • تداخل عمليات تسجيل دخول Azure AD مع مسؤول Azure AD غير مدعوم. يكون لمسؤول Azure AD الأسبقية على أي تسجيل دخول. إذا كان حساب Azure AD لديه بالفعل حق الوصول إلى الخادم كمسؤول Azure AD، إما مباشرة أو كعضو في مجموعة المسؤولين، فلن يكون لتسجيل الدخول الذي تم إنشاؤه لهذا المستخدم أي تأثير. لا يتم حظر إنشاء تسجيل الدخول من خلال T-SQL. بعد مصادقة الحساب على الخادم، سيكون لتسجيل الدخول أذونات فعالة من مسؤول Azure AD، وليس لتسجيل دخول تم إنشاؤه حديثًا.
  • تغيير الأذونات على كائن تسجيل دخول Azure AD محدد غير مدعوم:
    • GRANT <PERMISSION> ON LOGIN :: <Azure AD account> TO <Any other login>
  • عند تغيير الأذونات لتسجيل دخول Azure AD مع اتصالات مفتوحة موجودة بـ Azure SQL Database، لا تكون الأذونات فعالة حتى يقوم المستخدم بإعادة الاتصال. أيضًا امسح ذاكرة التخزين المؤقت للمصادقة وذاكرة التخزين المؤقت TokenAndPermUserStore. ينطبق هذا على تغيير عضوية دور الخادم باستخدام عبارة ALTER SERVER ROLE.
  • تعيين تسجيل دخولMicrosoft Azure Active Directory إلى مجموعةMicrosoft Azure Active Directory لأن مالك قاعدة البيانات غير مدعوم.
  • أدوار خادم Azure SQL Database غير مدعومة لمجموعات Azure AD.

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