إنشاء مستخدمين في قاعدة بيانات Azure ل PostgreSQL - Hyperscale (Citus)

حساب المسؤول عن الخادم

يستخدم مشغل PostgreSQL الأدوار للتحكم في الوصول إلى كائنات قاعدة البيانات، وتأتي مجموعة خوادم Hyperscale (Citus) التي تم إنشاؤها حديثا مع العديد من الأدوار المحددة مسبقا:

نظرا لأن Hyperscale (Citus) هي خدمة PaaS مدارة، يمكن ل Microsoft فقط تسجيل الدخول باستخدام دور المستخدم المتميز postgres . للوصول الإداري المحدود، يوفر Hyperscale (Citus) الدور citus .

أذونات الدور citus :

  • اقرأ جميع متغيرات التكوين، حتى المتغيرات التي عادة ما تكون مرئية فقط للمستخدمين المتميزين.
  • اقرأ جميع المشاهدات pg_stat_* واستخدم العديد من الإضافات المتعلقة بالإحصاءات - حتى المشاهدات أو الإضافات التي لا تظهر عادة إلا للمستخدمين المتميزين.
  • قم بتنفيذ وظائف المراقبة التي قد تأخذ أقفال ACCESS SHARE على الطاولات ، وربما لفترة طويلة.
  • إنشاء ملحقات PostgreSQL (لأن الدور عضو في azure_pg_admin).

والجدير بالذكر أن الدور له بعض القيود citus :

  • لا يمكن إنشاء أدوار
  • لا يمكن إنشاء قواعد بيانات

كيفية إنشاء أدوار مستخدم إضافية

كما ذكرنا ، citus يفتقر حساب المسؤول إلى إذن لإنشاء مستخدمين إضافيين. لإضافة مستخدم، استخدم واجهة مدخل Azure.

  1. انتقل إلى صفحة الأدوار لمجموعة خوادم Hyperscale (Citus)، وحدد + إضافة:

    The roles page

  2. أدخل اسم الدور وكلمة المرور. حدد ⁧⁩حفظ⁧⁩.

    Add role

سيتم إنشاء المستخدم على عقدة المنسق لمجموعة الخادم، وسيتم نشره على جميع العقد العاملة. تحتوي الأدوار التي تم إنشاؤها من خلال مدخل Azure على السمة LOGIN ، مما يعني أنهم مستخدمون حقيقيون يمكنهم تسجيل الدخول إلى قاعدة البيانات.

كيفية تعديل امتيازات دور المستخدم

تستخدم أدوار المستخدم الجديدة بشكل شائع لتوفير الوصول إلى قاعدة البيانات بامتيازات مقيدة. لتعديل امتيازات المستخدم، استخدم أوامر PostgreSQL القياسية، باستخدام أداة مثل PgAdmin أو psql. (راجع الاتصال إلى مجموعة خوادم Hyperscale (Citus).)

على سبيل المثال ، للسماح بالقراءة db_usermytable، امنح الإذن:

GRANT SELECT ON mytable TO db_user;

يقوم Hyperscale (Citus) بنشر عبارات GRANT أحادية الجدول من خلال المجموعة بأكملها ، وتطبيقها على جميع عقد العاملين. كما أنه ينشر المنح على نطاق المنظومة (على سبيل المثال، لجميع الجداول في مخطط):

-- applies to the coordinator node and propagates to workers
GRANT SELECT ON ALL TABLES IN SCHEMA public TO db_user;

كيفية حذف دور مستخدم أو تغيير كلمة المرور الخاصة به

لتحديث مستخدم، انتقل إلى صفحة الأدوار لمجموعة خوادم Hyperscale (Citus)، وحدد علامات الحذف ... ستفتح علامات الحذف قائمة لحذف المستخدم أو إعادة تعيين كلمة المرور الخاصة به.

Edit a role

citus الدور مميز ولا يمكن حذفه.

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

افتح جدار الحماية لعناوين IP الخاصة بأجهزة المستخدمين الجدد لتمكينهم من الاتصال: إنشاء قواعد جدار حماية Hyperscale (Citus) وإدارتها باستخدام مدخل Azure.

لمزيد من المعلومات حول إدارة مستخدم قاعدة البيانات، راجع وثائق منتج PostgreSQL: