تمرين: تكوين الأذونات في MySQL

مكتمل

في هذه التدريبات المعملية، ستقوم بتعيين أدوار التحكم في الوصول استنادا إلى الدور للتحكم في الوصول إلى قاعدة بيانات Azure لموارد MySQL وMySQL GRANTS للتحكم في الوصول إلى عمليات قاعدة البيانات.

هام

تحتاج إلى اشتراك في Azure لإكمال هذا التمرين. إذا لم يكن لديك اشتراك Azure، يمكنك إنشاء إصدار تجريبي لـ Azure.

لإكمال هذه التدريبات، يجب أن يكون لديك:

  • إنشاء مجموعة موارد (راجع الوحدة 1، الوحدة 5).
  • إنشاء قاعدة بيانات Azure لخادم MySQL المرن (راجع الوحدة 1، الوحدة 5).
  • تم تنزيل وتثبيت MySQL Workbench (راجع الوحدة 2، الوحدة 5).
  • إنشاء قاعدة بيانات zoodb (راجع الوحدة 2، الوحدة 5).

تلميح

إذا أوقفت قاعدة بيانات Azure لخادم MySQL بعد إكمال التمرين المعملي الأخير، فقم بإعادة تشغيله الآن.

إنشاء حساب مستخدم جديد في معرف Microsoft Entra

  1. في مدخل Microsoft Azure، سجل الدخول باستخدام حساب المالك وانتقل إلى معرف Microsoft Entra.

  2. ضمن "Manage"، حدد "Users".

  3. في أعلى اليسار، حدد New user ثم حدد Create new user.

  4. في صفحة New user ، أدخل هذه التفاصيل ثم حدد Create:

    • اسم المستخدم: Holly
    • الاسم: Holly Rees
    • كلمة المرور: حدد السماح لي بإنشاء كلمة مرور ثم اكتب Pa$$w 0rd.

    تلميح

    عند إنشاء المستخدم، دون اسم المستخدم الأساسي الكامل بحيث يمكنك استخدامه لاحقا لتسجيل الدخول.

تعيين دور القارئ

  1. في مدخل Microsoft Azure، حدد All resources ثم حدد قاعدة بيانات Azure لمورد MySQL.
  2. حدد Access control (IAM) ثم حدد Role assignments. لا يظهر Holly Rees في القائمة.
  3. حدد + إضافة ثم حدد إضافة تعيين دور.
  4. حدد دور القارئ، ثم حدد التالي.
  5. أضف Holly Rees إلى قائمة الأعضاء ثم حدد التالي.
  6. حدد Review + Assign.

اختبار دور القارئ

  1. في أعلى يمين مدخل Microsoft Azure، حدد حساب المستخدم الخاص بك ثم حدد تسجيل الخروج.
  2. سجل الدخول كمستخدم جديد، باسم المستخدم الأساسي الذي لاحظته وكلمة المرور Pa$$w 0rd. استبدل كلمة المرور الافتراضية إذا تمت مطالبتك بها وقم بتدوين كلمة المرور الجديدة.
  3. في الصفحة الرئيسية للمدخل، حدد All resources ثم حدد قاعدة بيانات Azure لمورد MySQL.
  4. حدد إيقاف. يتم عرض خطأ، لأن دور القارئ يمكنك من رؤية المورد ولكن ليس تغييره.

تعيين دور المساهم

  1. في أعلى يمين مدخل Microsoft Azure، حدد حساب مستخدم Holly ثم حدد تسجيل الخروج.
  2. سجل الدخول باستخدام حساب المالك الأصلي الخاص بك.
  3. انتقل إلى قاعدة بيانات Azure لمورد MySQL، ثم حدد التحكم في الوصول (IAM).
  4. حدد + إضافة ثم حدد إضافة تعيين دور.
  5. حدد دور المساهم، ثم حدد التالي.
  6. أضف Holly Rees إلى قائمة الأعضاء ثم حدد التالي.
  7. حدد Review + Assign.
  8. حدد تعيينات الدور. يحتوي Holly Rees الآن على تعيينات لكل من أدوار القارئ والمساهم.

اختبار دور المساهم

  1. في أعلى يمين مدخل Microsoft Azure، حدد حساب المستخدم الخاص بك ثم حدد تسجيل الخروج.
  2. سجل الدخول باسم Holly Rees، باستخدام اسم المستخدم الأساسي وكلمة المرور التي لاحظتها.
  3. في الصفحة الرئيسية للمدخل، حدد All resources ثم حدد قاعدة بيانات Azure لمورد MySQL.
  4. حدد إيقاف ثم حدد نعم. هذه المرة، يتوقف الخادم دون أخطاء لأن Holly لديه الدور الضروري المعين.
  5. حدد البدء للتأكد من أن مورد MySQL جاهز للخطوات التالية.
  6. في أعلى يمين مدخل Microsoft Azure، حدد حساب مستخدم Holly ثم حدد تسجيل الخروج.
  7. سجل الدخول باستخدام حساب المالك الأصلي الخاص بك.

منح حق الوصول إلى قاعدة بيانات Azure ل MySQL

  1. افتح MySQL Workbench واتصل بقاعدة بيانات Azure لخادم MySQL.

  2. في جزء الاستعلام، قم بتنفيذ هذه التعليمة البرمجية. يجب إرجاع ستة حسابات مستخدمين، بما في ذلك الحساب التجريبي الذي تستخدمه للاتصال:

     SELECT user, host FROM mysql.user;
    
  3. لإنشاء مستخدم جديد، قم بتنفيذ هذه التعليمة البرمجية

     CREATE USER 'dbuser'@'%' IDENTIFIED BY 'Pa$$w0rd';
    
  4. لسرد المستخدم الجديد، قم بتنفيذ استعلام SELECT أعلاه مرة أخرى. يجب أن تشاهد المستخدم dbuser@٪ مدرجا.

  5. لتمكين المستخدم الجديد من الاستعلام عن البيانات وتعديلها في جميع الجداول في قاعدة بيانات zoodb ، قم بتنفيذ هذه التعليمة البرمجية:

     GRANT SELECT, INSERT, UPDATE, DELETE ON zoodb.* TO 'dbuser'@'%';
     FLUSH PRIVILEGES;
    

اختبار المستخدم الجديد

  1. في MySQL Workbench، في قائمة Database، حدد Manage الاتصال ions.

  2. حدد الاتصال الموجود بقاعدة بيانات Azure ل MySQL، ثم حدد تكرار.

  3. في الاتصال المكرر، في مربع نص اسم المستخدم ، اكتب dbuser.

  4. بجوار كلمة المرور، حدد Store في Vault.

  5. في مربع النص كلمة المرور ، اكتب Pa$$w 0rd ثم حدد موافق.

    Screenshot showing the new user account in the Manage Connections dialog in MySQL Workbench.

  6. حدد اختبار الاتصال. إذا كان الاتصال ناجحا، فحدد موافق ثم حدد إغلاق.

  7. في قائمة قاعدة البيانات، حدد الاتصال إلى قاعدة البيانات.

  8. في مربع الحوار الاتصال إلى قاعدة البيانات، حدد الاتصال الجديد، ثم حدد الاتصال.

  9. لاختبار ما إذا كان لديك امتياز SELECT، في نافذة الاستعلام، قم بتنفيذ هذه التعليمة البرمجية:

     SELECT * FROM animal;
    
  10. لاختبار ما إذا كان لديك امتياز UPDATE، قم بتنفيذ هذه التعليمة البرمجية:

     UPDATE animal SET Name = "Linda Lioness" WHERE AnimalID = "6";
     SELECT * FROM animal;
    
  11. لاختبار ما إذا كان لديك امتياز DROP، قم بتنفيذ هذه التعليمة البرمجية. إذا كان هناك خطأ، فافحص رمز الخطأ:

     DROP TABLE animal;
    
  12. لاختبار ما إذا كان لديك امتياز GRANT، قم بتنفيذ هذه التعليمة البرمجية:

     GRANT ALL PRIVILEGES ON zoodb.* TO 'dbuser'@'%';
    

توضح هذه الاختبارات أن المستخدم الجديد يمكنه تنفيذ أوامر لغة معالجة البيانات (DML) للاستعلام عن البيانات وتعديلها ولكن لا يمكنه استخدام أوامر لغة تعريف البيانات (DDL) لتغيير المخطط. أيضا، لا يمكن للمستخدم الجديد منح أي امتيازات جديدة للتحايل على الأذونات.