إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية
توقّف عن إيداع Secrets بنص واضح، وادمج Kubernetes مع خزائن خارجية مثل HashiCorp Vault باستخدام External Secrets Operator
إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية درس مجاني في Docker & Kubernetes for Developers على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Docker & Kubernetes for Developers، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Docker & Kubernetes for Developers 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Kubernetes Secrets Are Only Encoded
By default a Kubernetes Secret is just base64-encoded, not encrypted. Anyone with API access or etcd access can read it unless extra protection is added.
Encryption at Rest
A first step is enabling encryption at rest in the API server so Secret data is encrypted before being written to etcd.
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources: ["secrets"]
providers:
- aescbc:
keys:
- name: key1
secret: <base64-key>The Git Problem
In GitOps, committing Secret YAML to a repo leaks credentials. We need secrets that live outside git but still flow into the cluster.
External Secret Stores
Tools like HashiCorp Vault, AWS Secrets Manager, and GCP Secret Manager store secrets centrally with auditing, rotation, and fine-grained access.
The External Secrets Operator
The External Secrets Operator (ESO) syncs values from an external store into native Kubernetes Secrets, so workloads consume them normally.
Defining a SecretStore
A SecretStore tells ESO how to authenticate to the backend.
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: vault-backend
spec:
provider:
vault:
server: https://vault.example.com
path: secret
auth:
kubernetes:
role: my-appDefining an ExternalSecret
An ExternalSecret maps a key in the store to a generated Kubernetes Secret.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: db-creds
spec:
secretStoreRef:
name: vault-backend
kind: SecretStore
target:
name: db-creds
data:
- secretKey: password
remoteRef:
key: database/prod
property: passwordAutomatic Rotation
ESO refreshes synced secrets on an interval, so rotating a value in Vault propagates into the cluster without redeploys.
spec:
refreshInterval: 1hSealed Secrets Alternative
If you must keep secrets in git, Sealed Secrets encrypts them with a cluster-only key, producing a safe-to-commit SealedSecret that only the controller can decrypt.
Limiting Access With RBAC
Restrict who can read Secrets using RBAC, and prefer mounting secrets as files over environment variables to reduce accidental logging.
Avoiding Leaks
Never echo secrets in logs or CI output, and add secret-scanning to your pipeline to catch accidental commits.
Quick Check
Test what you have learned.
Recap
You learned that Secrets are only base64-encoded, how encryption at rest helps, and how the External Secrets Operator syncs from Vault and similar stores, plus Sealed Secrets, rotation, and RBAC to keep credentials safe.
تعلم Docker & Kubernetes for Developers مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 12
- الدروس
- 48
الأسئلة الشائعة
هل درس «إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية» مجاني؟
نعم — نص درس «إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Docker & Kubernetes for Developers، انتقل إلى CoddyKit PRO. تتضمن دورة Docker & Kubernetes for Developers 4 دروس في المجموع.
ماذا ستتعلم في «إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية»؟
توقّف عن إيداع Secrets بنص واضح، وادمج Kubernetes مع خزائن خارجية مثل HashiCorp Vault باستخدام External Secrets Operator تتمرن على Docker & Kubernetes for Developers مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Docker & Kubernetes for Developers؟
لا تُشترط خبرة سابقة. Docker & Kubernetes for Developers على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Docker & Kubernetes for Developers هذا؟
نعم. كل درس في Docker & Kubernetes for Developers يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التحكم في الوصول المستند إلى الأدوار (RBAC)
- أمان Pod وفحص الصور
- تأمين حركة مرور الشبكة في Kubernetes
- إدارة الأسرار بأمان باستخدام مخازن الأسرار الخارجية