كيفية إنشاء مستخدم وإضافة دور فيه MongoDB
MongoDB إنشاء مستخدم مسؤول
إنشاء مسؤول المستخدم في MongoDB يتم ذلك باستخدام طريقة createUser. يوضح المثال التالي كيفية القيام بذلك.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
شرح الكود:
- الخطوة الأولى هي تحديد "اسم المستخدم" و"كلمة المرور" المطلوب إنشاؤهما.
- الخطوة الثانية هي تعيين دور للمستخدم. نظرًا لأنه يجب أن يكون مسؤول قاعدة بيانات، وفي هذه الحالة قمنا بتعيين دور "userAdminAnyDatabase". يتيح هذا الدور للمستخدم الحصول على امتيازات إدارية لجميع قواعد البيانات الموجودة فيه MongoDB.
- تحدد المعلمة db قاعدة بيانات المسؤول وهي قاعدة بيانات تعريفية خاصة بداخلها MongoDB الذي يحمل المعلومات لهذا المستخدم.
إذا تم تنفيذ الأمر بنجاح، سيتم عرض الإخراج التالي:
الإخراج:
يُظهر الإخراج أنه تم إنشاء مستخدم يسمى "Guru99" وأن هذا المستخدم لديه امتيازات على جميع قواعد البيانات الموجودة MongoDB.
MongoDB إنشاء مستخدم لقاعدة بيانات واحدة
لإنشاء مستخدم يقوم بإدارة قاعدة بيانات واحدة، يمكننا استخدام نفس الأمر المذكور أعلاه ولكننا نحتاج إلى استخدام خيار "userAdmin" فقط.
يوضح المثال التالي كيفية القيام بذلك؛
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
شرح الكود:
- الخطوة الأولى هي تحديد "اسم المستخدم" و"كلمة المرور" المطلوب إنشاؤهما.
- الخطوة الثانية هي تعيين دور للمستخدم والذي في هذه الحالة لأنه يحتاج إلى أن يكون مسؤول قاعدة بيانات يتم تعيينه لدور "userAdmin". يتيح هذا الدور للمستخدم الحصول على امتيازات إدارية فقط لقاعدة البيانات المحددة في خيار قاعدة البيانات.
- تحدد المعلمة db قاعدة البيانات التي يجب أن يتمتع المستخدم بامتيازات إدارية عليها.
إذا تم تنفيذ الأمر بنجاح، سيتم عرض الإخراج التالي:
الإخراج:
يُظهر الإخراج أنه تم إنشاء مستخدم يسمى "Employeeadmin" وأن هذا المستخدم لديه امتيازات في قاعدة بيانات "Employee" فقط.
إدارة المستخدمين
افهم أولاً الأدوار التي تحتاج إلى تحديدها. هناك قائمة كاملة من الأدوار المتاحة في MongoDB. على سبيل المثال، هناك "دور القراءة" الذي يسمح فقط بالوصول للقراءة فقط إلى قواعد البيانات، ثم هناك دور "القراءة والكتابة" الذي يوفر الوصول للقراءة والكتابة إلى قاعدة البيانات، مما يعني أنه يمكن للمستخدم إصدار الإدراج والحذف والإضافة أوامر التحديث على المجموعات في قاعدة البيانات تلك.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
يوضح مقتطف الكود أعلاه أنه تم إنشاء مستخدم يُدعى Mohan، وتم تعيين أدوار متعددة له في قواعد بيانات متعددة. في المثال أعلاه، تم منحه إذن القراءة فقط لقاعدة بيانات "التسويق" وإذن القراءة والكتابة لقاعدة بيانات "المبيعات".