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

ينطبق على: قاعدة بيانات Azure ل PostgreSQL - خادم مرن

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

إشعار

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

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

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

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

لقطة شاشة لإدارة مسؤولي Microsoft Entra عبر المدخل.

إشعار

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

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

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

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

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

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

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

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

pg_catalog.pgaadauth_list_principals(isAdminValue boolean)

الوسيطات

isAdminValue

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

نوع الإرجاع

TABLE(rolname name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) جدول بالمخطط التالي:

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

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

pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)

الوسيطات

roleName

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

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

boolean عند true إنشاء مستخدم مسؤول PostgreSQL (عضو azure_pg_admin في الدور ومع أذونات CREATEROLE وCREATEB). عند false إنشاء مستخدم PostgreSQL عادي.

isMfa

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

هام

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

نوع الإرجاع

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

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

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

DROP ROLE rolename;

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

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 المطلوب في صفحة تطبيقات المؤسسة في مدخل Microsoft Azure.
objectType

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

isAdmin

boolean عند true إنشاء مستخدم مسؤول PostgreSQL (عضو azure_pg_admin في الدور ومع أذونات CREATEROLE وCREATEB). عند false إنشاء مستخدم PostgreSQL عادي.

isMfa

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

هام

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

نوع الإرجاع

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

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

يستخدم خادم Azure Database for 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 الأخرى.

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