Hizmet Hesapları ve İş Yükü Kimliği
Hizmet Hesaplarının Pod'lara nasıl kendi kimliklerini verdiğini, belirteçlerinin nasıl çalıştığını ve en az ayrıcalıkla erişim izni vermeyi öğrenin.
Hizmet Hesapları ve İş Yükü Kimliği, CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.
İş Yükleri İçin Kimlik
Kullanıcılar Kubernetes'te kimlik doğrulaması yapar, ancak Pod'ların da API sunucusuyla güvenli bir şekilde iletişim kurabilmesi için bir kimliğe ihtiyacı vardır. Bu kimlik bir Hizmet Hesabıdır.
Hizmet Hesabı Nedir
ServiceAccount, bir iş yükünün kimliğini temsil eden ve ad alanı kapsamında geçerli bir nesnedir. Belirtmediğiniz takdirde default değerini kullanarak her Pod bir Hizmet Hesabı altında çalışır.
apiVersion: v1
kind: ServiceAccount
metadata:
name: report-generator
namespace: analyticsBir Pod'a Hizmet Hesabı Atama
Belirli bir kimlik altında çalıştırmak için Pod belirtiminde serviceAccountName ayarlayın.
apiVersion: v1
kind: Pod
metadata:
name: reporter
spec:
serviceAccountName: report-generator
containers:
- name: app
image: reporter:1.0Bağlanan Belirteç
Kubernetes, API çağrılarında kimlik doğrulaması yapmak üzere Hizmet Hesabı için kısa ömürlü bir JWT belirtecini Pod'a bağlar.
# inside the Pod
cat /var/run/secrets/kubernetes.io/serviceaccount/tokenVarsayılan Hesap Neden Risklidir
default ServiceAccount'ı bir ad alanındaki tüm Pod'lar tarafından paylaşılır. Bu hesaba izin vermek her şeyi gereğinden fazla açığa çıkarır. Her iş yükü için özel bir hesap kullanmayı tercih edin.
Belirtecin Otomatik Bağlanmasını Devre Dışı Bırakma
Bir Pod API'yi hiç çağırmıyorsa saldırı yüzeyini küçültmek için belirteç bağlamayı devre dışı bırakın.
apiVersion: v1
kind: Pod
metadata:
name: no-api-pod
spec:
automountServiceAccountToken: false
containers:
- name: app
image: myapp:1.0RBAC ile İzin Verme
Bir Hizmet Hesabı, onu bir Role bağlayana kadar hiçbir yetkiye sahip değildir. RoleBinding öznesi Hizmet Hesabıdır.
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.ioUygulamada En Az Ayrıcalık
- Her iş yükü için bir Hizmet Hesabı kullanın
- Yalnızca gerçekten ihtiyaç duyduğu fiilleri ve kaynakları verin
- Mümkün olduğunda kapsamı ClusterRole yerine Role ile bir ad alanıyla sınırlayın
Bağlı ve Yansıtılmış Belirteçler
Modern belirteçler yansıtılmıştır ve kısa bir süre sonrasındaki sona erme zamanı ile Pod'un yaşam süresine bağlanır. Otomatik olarak yenilendikleri için sızdırılmış bir belirteç, eski uzun ömürlü gizli bilgilerden çok daha az tehlikelidir.
Bulutta İş Yükü Kimliği
Bulut platformları bir Kubernetes ServiceAccount'ını bulut IAM kimliğine eşler (ör. AWS üzerinde IRSA, GKE üzerinde Workload Identity); böylece Pod'lar statik kimlik bilgilerini depolamadan bulut kaynaklarına erişir.
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123:role/report-roleİzinleri Doğrulama
Beklediğiniz erişime tam olarak sahip olduğunu doğrulamak için Hizmet Hesabını taklit ederek kubectl auth can-i kullanın.
kubectl auth can-i list pods \
--as=system:serviceaccount:analytics:report-generator \
-n analyticsKısa Kontrol
Hizmet Hesapları konusundaki anlayışınızı sınayın.
Özet
Bir ServiceAccount'ın Pod'a kısa ömürlü, yansıtılmış belirteçlerle desteklenen kendi kimliğini verdiğini öğrendiniz. Her iş yükü için özel bir hesap kullanarak en az ayrıcalık ilkesini uygulayın, erişimi RBAC bağlamalarıyla verin, kullanılmadığında belirteç bağlamalarını devre dışı bırakın ve kimlik bilgisi gerektirmeyen erişim için hesapları bulut IAM'ine eşleyin.
Sıkça Sorulan Sorular
“Hizmet Hesapları ve İş Yükü Kimliği” dersi ücretsiz mi?
Evet — “Hizmet Hesapları ve İş Yükü Kimliği” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.
“Hizmet Hesapları ve İş Yükü Kimliği” dersinde ne öğreneceğim?
Hizmet Hesaplarının Pod'lara nasıl kendi kimliklerini verdiğini, belirteçlerinin nasıl çalıştığını ve en az ayrıcalıkla erişim izni vermeyi öğrenin. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Hizmet Hesapları ve İş Yükü Kimliği” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Role-Based Access Control (RBAC)
- Yalıtım için Ağ İlkeleri
- Pod Güvenlik Standartları
- Hizmet Hesapları ve İş Yükü Kimliği