RabbitMQ Messaging & Async Systems · درس

مستخدمو RabbitMQ والأذونات

أدر المستخدمين والمضيفات الافتراضية والأذونات داخل RabbitMQ للتحكم في الوصول إلى الموارد. طبّق سياسات أمان دقيقة لبيئة المراسلة لديك.

الدرس 1 من 411 خطوة

مستخدمو RabbitMQ والأذونات درس مجاني في RabbitMQ Messaging & Async Systems على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في RabbitMQ Messaging & Async Systems، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة RabbitMQ Messaging & Async Systems 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Why Security Matters in RabbitMQ

In any messaging system, controlling who can send and receive messages is crucial. RabbitMQ provides robust mechanisms to manage access, ensuring only authorized users interact with your message broker.

This lesson will guide you through setting up users, virtual hosts, and permissions to secure your RabbitMQ environment.

Users: Your First Line of Defense

A user in RabbitMQ represents an application or person connecting to the broker. Each user has a username and password for authentication.

By default, RabbitMQ creates a 'guest' user, but it's best practice to create dedicated users for your applications.

To create a new user, you use the rabbitmqctl command:

rabbitmqctl add_user my_app_user strong_password

Virtual Hosts (Vhosts) for Isolation

Virtual hosts (or vhosts) act like separate, isolated RabbitMQ brokers within a single instance. They provide logical grouping and resource separation for different applications or environments.

  • Each vhost has its own exchanges, queues, and bindings.
  • Users are granted permissions to specific vhosts.

To create a vhost:

rabbitmqctl add_vhost /my_application_vhost

The Three Pillars of Permissions

Once you have users and vhosts, you need to define what each user can do within a specific vhost. RabbitMQ permissions are categorized into three types:

  • Configure: For creating, deleting, and altering exchanges and queues.
  • Write: For sending (publishing) messages to exchanges.
  • Read: For receiving (consuming) messages from queues.

Configure Permissions: Managing Resources

The configure permission allows a user to manage RabbitMQ resources like exchanges and queues. If a user needs to declare (create) or delete queues and exchanges, they need this permission.

The permission regex applies to the names of the resources.

rabbitmqctl set_permissions \
  -p /my_vhost \
  my_app_user \
  "^my_queue.*" \
  ".*" \
  ".*"

Write Permissions: Sending Messages

The write permission allows a user to publish messages to exchanges within a vhost. Without this, a producer application cannot send messages.

The regex in the second position defines which exchanges the user can write to.

rabbitmqctl set_permissions \
  -p /my_vhost \
  my_app_user \
  ".*" \
  "^my_exchange.*" \
  ".*"

Read Permissions: Receiving Messages

The read permission allows a user to consume messages from queues within a vhost. This is essential for consumer applications to receive messages.

The regex in the third position defines which queues the user can read from.

rabbitmqctl set_permissions \
  -p /my_vhost \
  my_app_user \
  ".*" \
  ".*" \
  "^my_queue.*"

Granting Full Access to a Vhost

Often, an application user needs full control over their dedicated vhost. You can grant all three permissions (configure, write, read) to a user for all resources in a vhost using the ".*" regex for all three permission types.

This means 'match any resource name'.

rabbitmqctl set_permissions \
  -p /my_vhost \
  my_app_user \
  ".*" \
  ".*" \
  ".*"

The Special 'Guest' User

RabbitMQ comes with a default user named guest with password guest. This user has full administrative permissions over all vhosts.

  • Crucially: The 'guest' user can only connect from localhost by default.
  • For production environments, it is highly recommended to delete this user or change its password and restrict its access, and create specific users with minimal necessary permissions.

Permission Check

A new application needs to connect to RabbitMQ, declare a queue named 'tasks_queue', and then consume messages from it. Which set of permissions does its user need on the /app_vhost?

Recap: Users, Vhosts & Permissions

You've learned how to secure your RabbitMQ instance by managing user access. Here's a quick summary:

  • Users authenticate client applications.
  • Virtual Hosts (Vhosts) provide isolated environments.
  • Permissions (Configure, Write, Read) control what users can do within a vhost.
  • Always use specific users and minimal permissions, especially for production.

Next, we'll explore how to encrypt these connections with SSL/TLS!

البدء مجانًا

تعلم RabbitMQ Messaging & Async Systems مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
11
الدروس
44

الأسئلة الشائعة

هل درس «مستخدمو RabbitMQ والأذونات» مجاني؟

نعم — نص درس «مستخدمو RabbitMQ والأذونات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة RabbitMQ Messaging & Async Systems، انتقل إلى CoddyKit PRO. تتضمن دورة RabbitMQ Messaging & Async Systems 4 دروس في المجموع.

ماذا ستتعلم في «مستخدمو RabbitMQ والأذونات»؟

أدر المستخدمين والمضيفات الافتراضية والأذونات داخل RabbitMQ للتحكم في الوصول إلى الموارد. طبّق سياسات أمان دقيقة لبيئة المراسلة لديك. تتمرن على RabbitMQ Messaging & Async Systems مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ RabbitMQ Messaging & Async Systems؟

لا تُشترط خبرة سابقة. RabbitMQ Messaging & Async Systems على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «مستخدمو RabbitMQ والأذونات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس RabbitMQ Messaging & Async Systems هذا؟

نعم. كل درس في RabbitMQ Messaging & Async Systems يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مستخدمو RabbitMQ والأذونات
  2. SSL/TLS للاتصالات الآمنة
  3. إضافة إدارة RabbitMQ والمقاييس
  4. المضيفون الافتراضيون لعزل المستأجرين المتعددين
← العودة إلى RabbitMQ Messaging & Async Systems