مشاركة عبر


إدارة أدوار Microsoft Entra في قاعدة بيانات Azure ل PostgreSQL

توضح هذه المقالة كيفية إنشاء أدوار قاعدة بيانات ممكنة لمعرف Microsoft Entra داخل قاعدة بيانات Azure لمثيل خادم مرن PostgreSQL.

للتعرف على كيفية إنشاء مستخدمي اشتراك Azure وامتيازاتهم وإدارتهم، راجع مقالة التحكم في الوصول المستند إلى الدور في Azure (Azure RBAC) أو راجع كيفية تخصيص الأدوار.

ملاحظة

يفترض هذا الدليل أنك قمت بالفعل بتمكين مصادقة Microsoft Entra على مثيل خادم Azure Database for PostgreSQL المرن.

إنشاء مسؤولي Microsoft Entra أو حذفهم باستخدام مدخل Microsoft Azure أو واجهة برمجة تطبيقات Azure Resource Manager (ARM)

  1. افتح صفحة المصادقة لقاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL في مدخل Microsoft Azure.
  2. لإضافة مسؤول، حدد إضافة مسؤول Microsoft Entra وحدد مستخدما أو مجموعة أو تطبيقا أو هوية مدارة من مستأجر Microsoft Entra الحالي.
  3. لإزالة مسؤول، حدد أيقونة حذف للمسؤول الذي تريد إزالته.
  4. حدد حفظ وانتظر حتى تكتمل عملية التوفير.

ملاحظة

سيتوفر قريبا دعم إدارة مسؤولي Microsoft Entra عبر Azure SDK وaz cli وAzure PowerShell.

إدارة أدوار Microsoft Entra باستخدام SQL

بعد إنشاء أول مسؤول Microsoft Entra من مدخل Microsoft Azure أو واجهة برمجة التطبيقات، يمكنك استخدام دور المسؤول لإدارة أدوار Microsoft Entra في قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL.

للحصول على أفضل تجربة مع تكامل Microsoft Entra في قاعدة بيانات Azure ل PostgreSQL، نوصي بالتعرف على النظام الأساسي للهويات في Microsoft.

الأنواع الرئيسية

تخزن قاعدة بيانات Azure ل PostgreSQL داخليا التعيين بين أدوار قاعدة بيانات PostgreSQL والمعرفات الفريدة لكائنات Microsoft Entra. يمكن تعيين كل دور قاعدة بيانات PostgreSQL إلى أحد أنواع عناصر Microsoft Entra التالية:

  • المستخدم - بما في ذلك المستأجر والمحليين والضيوف.
  • كيان الخدمة - بما في ذلك التطبيقات والهويات المدارة
  • المجموعة - عندما يتم ربط دور PostgreSQL بمجموعة Microsoft Entra، يمكن لأي مستخدم أو عضو أساسي في الخدمة في هذه المجموعة الاتصال بقاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL باستخدام دور المجموعة.

سرد أدوار Microsoft Entra باستخدام SQL

select * from pg_catalog.pgaadauth_list_principals(isAdminValue boolean)

الوسيطات

isAdminValue

boolean - عندما true، إرجاع المستخدمين المسؤولين. عندما false، إرجاع جميع مستخدمي Microsoft Entra ، بما في ذلك مسؤولي Microsoft Entra وغير المسؤولين.

نوع الإرجاع

TABLE(rolename name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) - جدول يحتوي على المخطط التالي:

  • rolename - اسم الدور في PostgreSQL.
  • principalType - نوع المدير في معرف Microsoft Entra. يمكن أن يكون user، أو group، أو service.
  • objectId - معرف الكائن في معرف Microsoft Entra لهذا المدير.
  • tenantId - معرف المستأجر الذي يستضيف هذا المدير في معرف Microsoft Entra.
  • isMfa - ترجع قيمة 1 ما إذا كان المستخدم/الدور قد تم فرض المصادقة متعددة العوامل.
  • isAdmin - إرجاع قيمة 1 إذا كان المستخدم/الدور مسؤولا في PostgreSQL.

إنشاء مستخدم أو دور باسم أساسي ل Microsoft Entra

select * from pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)

الوسيطات

roleName

text اسم الدور المراد إنشاؤه. يجب أن يتطابق هذا الاسم مع اسم كيان Microsoft Entra.

  • بالنسبة للمستخدمين، استخدم الاسم الأساسي للمستخدم من ملف التعريف. بالنسبة للمستخدمين الضيوف، أدرج الاسم الكامل في نطاقهم الرئيسي باستخدام علامة #EXT#.
  • بالنسبة إلى المجموعاتوكيانات الخدمة، استخدم اسم العرض. يجب أن يكون الاسم فريدا في المستأجر.
isAdmin

boolean عندما true، ينشئ مستخدم مسؤول PostgreSQL (عضو في الدور azure_pg_admin وبأذونات CREATEROLE و CREATEDB). عندما false، ينشئ مستخدم PostgreSQL عادي.

isMfa

boolean عندما true، يفرض المصادقة متعددة العوامل لمستخدم PostgreSQL هذا.

Important

تختبر isMfa العلامة المطالبة mfa في الرمز المميز لمعرف Microsoft Entra، ولكنها لا تؤثر على تدفق اكتساب الرمز المميز. على سبيل المثال، إذا لم يتم تكوين مستأجر المبدأ للمصادقة متعددة العوامل، فإنه يمنع استخدام الميزة. وإذا طلب المستأجر مصادقة متعددة العوامل لجميع الرموز المميزة، فهذا يجعل هذه العلامة عديمة الفائدة.

نوع الإرجاع

text قيمة مفردة تتكون من سلسلة "تم إنشاء دور ل roleName"، حيث roleName هي الوسيطة التي تقوم بتمريرها للمعلمة roleName .

إسقاط دور باسم أساسي ل Microsoft Entra

يمكنك إسقاط دور يتوافق مع كيان معرف Microsoft Entra بثلاث طرق:

  • مدخل Microsoft Azure

  • واجهة برمجة تطبيقات Azure Resource Manager (ARM)

  • عن طريق تنفيذ عبارة SQL التالية:

    DROP ROLE rolename;
    

ملاحظة

يعرض مدخل Microsoft Azure أدوار المسؤول فقط. لإسقاط دور غير مسؤول، استخدم إما واجهة برمجة تطبيقات Azure Resource Manager (ARM) أو عبارة SQL.

إنشاء دور باستخدام معرف كائن معرف Microsoft Entra

select * from pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)

الوسيطات

roleName

text اسم الدور المراد إنشاؤه.

objectId

text معرف الكائن الفريد لكائن Microsoft Entra.

  • بالنسبة للمستخدمينوالمجموعاتوالهويات المدارة، ابحث عن صفحة objectId البحث عن اسم الكائن في معرف Microsoft Entra في مدخل Microsoft Azure. انظر هذا الدليل كمثال.
  • بالنسبة إلى المجموعاتوكيانات الخدمة، استخدم اسم العرض. يجب أن يكون الاسم فريدا في المستأجر.
  • بالنسبة للتطبيقات، استخدم objectId الخاص بكيان الخدمة المقابل. في مدخل Microsoft Azure، ابحث عن objectId المطلوب في صفحة تطبيقات المؤسسة .
objectType

text نوع كائن Microsoft Entra للارتباط بهذا الدور. يمكن أن يكون user، أو group، أو service.

isAdmin

boolean عندما true، ينشئ مستخدم مسؤول PostgreSQL (عضو في الدور azure_pg_admin وبأذونات CREATEROLE و CREATEDB). عندما false، ينشئ مستخدم PostgreSQL عادي.

isMfa

boolean عندما true، يفرض المصادقة متعددة العوامل لمستخدم PostgreSQL هذا.

Important

تختبر isMfa العلامة المطالبة mfa في الرمز المميز لمعرف Microsoft Entra، ولكنها لا تؤثر على تدفق اكتساب الرمز المميز. على سبيل المثال، إذا لم يتم تكوين مستأجر المبدأ للمصادقة متعددة العوامل، فإنه يمنع استخدام الميزة. وإذا طلب المستأجر مصادقة متعددة العوامل لجميع الرموز المميزة، فهذا يجعل هذه العلامة عديمة الفائدة.

نوع الإرجاع

text قيمة مفردة تتكون من سلسلة "تم إنشاء دور ل roleName"، حيث roleName هي الوسيطة التي تقوم بتمريرها للمعلمة roleName .

تمكين مصادقة Microsoft Entra لدور PostgreSQL موجود باستخدام SQL

تستخدم قاعدة بيانات Azure ل PostgreSQL تسميات الأمان المقترنة بأدوار قاعدة البيانات لتخزين تعيين معرف Microsoft Entra المقابل.

استخدم SQL التالي لتعيين تسمية الأمان المطلوبة وتعيينها إلى كائن Microsoft Entra:

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<objectType>,admin';

الوسيطات

roleName

text اسم دور PostgreSQL موجود لتمكين مصادقة Microsoft Entra.

objectId

text معرف الكائن الفريد لكائن Microsoft Entra.

objectType

text تعيين إلى user، groupأو service (للتطبيقات أو الهويات المدارة المتصلة ببيانات اعتماد الخدمة الخاصة بها).

admin

text تعيين على الحاضر أو الغائب. إذا كان موجودا في تسمية الأمان، يمكن للمستخدمين أو الأدوار إدارة أدوار معرف Microsoft Entra الأخرى.