0Pricing
Kubernetes Basics · درس

حسابات الخدمة وهوية أحمال العمل

تعلّم كيف تمنح Service Accounts وحدات Pods هويتها الخاصة، وكيف تعمل رموزها، وكيف تمنحها صلاحيات وصول وفق مبدأ أقلّ الامتيازات.

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

هوية أحمال العمل

يصادق المستخدمون على أنفسهم لدى Kubernetes، لكن Pods تحتاج إلى هوية أيضًا كي تتمكن من التواصل مع خادم API بأمان. وهذه الهوية هي Service Account.

ما هو Service Account

‏ServiceAccount هو كائن مرتبط بنطاق أسماء ويمثل هوية حمل عمل. يعمل كل Pod ضمن أحدها، ويستخدم default افتراضيًا إذا لم تحددوا غير ذلك.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: report-generator
  namespace: analytics

تعيين Service Account لـ Pod

عيّنوا serviceAccountName في مواصفات Pod ليعمل باستخدام هوية محددة.

apiVersion: v1
kind: Pod
metadata:
  name: reporter
spec:
  serviceAccountName: report-generator
  containers:
  - name: app
    image: reporter:1.0

الرمز المميز المركب

تُركّب Kubernetes رمز JWT قصير العمر لـ Service Account داخل Pod، ويُستخدم لمصادقة استدعاءات API.

# inside the Pod
cat /var/run/secrets/kubernetes.io/serviceaccount/token

لماذا يمثل الحساب الافتراضي مخاطرة

يشترك جميع Pods في نطاق الأسماء نفسه في ServiceAccount‏ default. ومنح هذا الحساب أذونات سيعرّض كل شيء لصلاحيات زائدة. ويفضل استخدام حساب مخصص لكل حمل عمل.

تعطيل التركيب التلقائي للرمز

إذا لم يستدعِ Pod واجهة API مطلقًا، فعطّلوا تركيب الرمز لتقليل سطح الهجوم.

apiVersion: v1
kind: Pod
metadata:
  name: no-api-pod
spec:
  automountServiceAccountToken: false
  containers:
  - name: app
    image: myapp:1.0

منح الأذونات باستخدام RBAC

لا يملك Service Account أي صلاحيات حتى تربطوه بـ Role. ويكون Service Account هو موضوع RoleBinding.

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: reporter-read
  namespace: analytics
subjects:
- kind: ServiceAccount
  name: report-generator
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

أقل قدر من الصلاحيات عمليًا

  • استخدموا Service Account واحدًا لكل حمل عمل
  • امنحوا فقط الأفعال والموارد التي يحتاج إليها فعلًا
  • قيّدوا النطاق إلى مساحة أسماء باستخدام Role متى أمكن، بدلًا من ClusterRole

الرموز المميزة المرتبطة والمُسقطة

الرموز الحديثة مُسقطة ومرتبطة بعمر Pod، مع مدة صلاحية قصيرة. وتُجدّد تلقائيًا، لذا يكون الرمز المسرب أقل خطورة بكثير من الأسرار القديمة طويلة العمر.

هوية أحمال العمل في السحابة

تربط منصات السحابة ServiceAccount في Kubernetes بهوية IAM سحابية (مثل IRSA على AWS وWorkload Identity على GKE)، بحيث تصل Pods إلى موارد السحابة من دون تخزين بيانات اعتماد ثابتة.

metadata:
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::123:role/report-role

التحقق من الأذونات

استخدموا kubectl auth can-i مع انتحال هوية Service Account للتأكد من امتلاكه الصلاحيات التي تتوقعونها بالضبط.

kubectl auth can-i list pods \
  --as=system:serviceaccount:analytics:report-generator \
  -n analytics

اختبار سريع

اختبروا مدى فهمكم لـ Service Accounts.

مراجعة

تعلمتم أن ServiceAccount يمنح Pod هويته الخاصة، مدعومًا برموز مميزة مُسقطة قصيرة العمر. طبّقوا مبدأ أقل الصلاحيات باستخدام حساب مخصص لكل حمل عمل، وامنحوا الوصول عبر روابط RBAC، وعطّلوا تركيب الرموز عند عدم استخدامها، واربطوا الحسابات بهوية IAM سحابية للوصول من دون بيانات اعتماد.

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

هل درس «حسابات الخدمة وهوية أحمال العمل» مجاني؟

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

ماذا ستتعلم في «حسابات الخدمة وهوية أحمال العمل»؟

تعلّم كيف تمنح Service Accounts وحدات Pods هويتها الخاصة، وكيف تعمل رموزها، وكيف تمنحها صلاحيات وصول وفق مبدأ أقلّ الامتيازات. تتمرن على Kubernetes Basics مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Kubernetes Basics؟

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

كم من الوقت يستغرق درس «حسابات الخدمة وهوية أحمال العمل»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس Kubernetes Basics هذا؟

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

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

  1. التحكم في الوصول المستند إلى الأدوار (RBAC)
  2. سياسات الشبكة للعزل
  3. معايير أمان الوحدات
  4. حسابات الخدمة وهوية أحمال العمل
← العودة إلى Kubernetes Basics