تخطَّ إلى المحتوى

☸️ شرح Kubernetes

فهم التحكّم بالوصول المبني على الأدوار (RBAC) في Kubernetes

الدرس 24 من 35· ⏱ 1 دقائق قراءة

من يستطيع فعل ماذا في عنقودك؟ يجيب Kubernetes عن هذا عبر RBAC. درس متقدّم في الأمان يبني على الـ Namespaces.

🔒 مراجعة أمنية مطلوبة: صفحة أمنية أساسية؛ تخضع لمراجعة متخصّص قبل النشر.

ما هو RBAC؟

RBAC اختصار لـ Role-Based Access Control (التحكّم بالوصول المبني على الأدوار). إنه نظام Kubernetes لتحديد الصلاحيات: أي الهويّات تستطيع تنفيذ أي الإجراءات على أي الموارد.

يقوم على أربعة مكوّنات متكاملة:

1. الدور (Role) و ClusterRole

يعرّف مجموعة أذونات (ماذا يُسمح فعله):

  • Role: أذونات ضمن Namespace واحد.
  • ClusterRole: أذونات على مستوى العنقود كلّه.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["get", "list", "watch"]

يسمح هذا الدور بقراءة الـ pods فقط (لا إنشاء ولا حذف) ضمن default.

2. الارتباط (RoleBinding) و ClusterRoleBinding

الدور وحده لا يفعل شيئًا حتى يُربَط بهويّة. الـ RoleBinding يمنح دورًا لهويّة معيّنة:

  • RoleBinding: يربط ضمن Namespace.
  • ClusterRoleBinding: يربط على مستوى العنقود.

3. الهويّات (Subjects)

تُمنح الأدوار لثلاثة أنواع من الهويّات: مستخدمون (بشر)، مجموعات، وحسابات خدمة (Service Accounts) تستخدمها التطبيقات داخل العنقود.

مبدأ الأقلّ امتيازًا

القاعدة الأمنية الذهبية هنا كما في كل مكان: امنح كل هويّة أقلّ الأذونات اللازمة. تجنّب منح ClusterRole واسع (مثل صلاحيات المسؤول) إلّا لمن يحتاجه فعلًا؛ فكل إذن زائد سطح هجوم.

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

اجمع RBAC مع بقيّة ممارسات التحصين في أفضل ممارسات أمان Kubernetes، وراجع تأمين الأسرار.

شرح فهم التحكّم بالوصول المبني على الأدوار (RBAC) في Kubernetes — Kubernetes بالعربي
فهم التحكّم بالوصول المبني على الأدوار (RBAC) في KubernetesKubernetes بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟