Role-Based Access Control (RBAC)
RBAC rolleri ve rol bağlamalarıyla kümeniz içindeki kullanıcı ve hizmet hesabı izinlerini yönetin.
Role-Based Access Control (RBAC), CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 1. 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.
Kubernetes'te RBAC nedir?
Hoş geldiniz! Bu derste Kubernetes'te çok önemli bir güvenlik özelliği olan Role-Based Access Control (RBAC) konusunu ayrıntılı olarak inceleyeceğiz.
RBAC, kümeniz içinde kimin ne yapabileceğini yönetmenize yardımcı olur. Kubernetes kaynaklarınız için bir güvenlik görevlisi gibi çalışarak yalnızca yetkili kullanıcıların ve uygulamaların belirli işlemleri gerçekleştirmesini sağlar.
RBAC neden gereklidir
RBAC olmadan kümeye erişimi olan herkes potansiyel olarak her işlemi gerçekleştirebilir; bu da güvenlik risklerine veya yanlışlıkla oluşabilecek hasarlara yol açar.
- Güvenlik: Yetkisiz erişimi ve işlemleri önler.
- Uyumluluk: Erişim denetimiyle ilgili düzenleyici gereksinimleri karşılamaya yardımcı olur.
- En az ayrıcalık: Kullanıcıların ve uygulamaların yalnızca kesinlikle ihtiyaç duydukları izinlere sahip olmasını sağlar.
Temel RBAC kavramları
Kubernetes'teki RBAC birkaç temel bileşene dayanır:
- Özneler: "Kim" (kullanıcılar, hizmet hesapları, gruplar).
- Roller: "Ne" (bir izin kümesi).
- RoleBindings: "Nasıl" (bir Rolü bir Özneye bağlar).
- ClusterRoles ve ClusterRoleBindings: Roller ile RoleBindings'in küme genelinde geçerli sürümleri.
Özneler: Kullanıcılar ve hizmet hesapları
Kubernetes'in bir işlem isteyen kişinin kim olduğunu bilmesi gerekir. Bunlara Özneler denir:
- Kullanıcılar: Genellikle insan yöneticiler veya geliştiricilerdir. Kubernetes kullanıcıları doğrudan yönetmez; harici kimlik doğrulamaya dayanır.
- Hizmet hesapları: Pod'ların içinde çalışan uygulamalar veya işlemler tarafından kullanılan Kubernetes nesneleridir. Pod ile API sunucusu arasındaki iletişim için kritik öneme sahiptirler.
Rollerle izinleri tanımlama
Bir Rol, belirli bir namespace içindeki bir izin kümesini tanımlar. Hangi kaynaklar üzerinde hangi işlemlerin (fiillerin) gerçekleştirilebileceğini belirtir.
Örneğin bir Rol, 'default' namespace'inde Pod'ları 'getirme' ve 'listeleme' izni verebilir.
Rol örneği: Pod okuyucu
Burada pod-reader adlı bir Rol için YAML tanımı yer alıyor. Bu Rol, Pod'lar için 'get', 'list' ve 'watch' (izleme) izinlerini verir.
Çekirdek Kubernetes API grubunu belirten apiGroups: [""] ifadesine dikkat edin.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-reader
namespace: default
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]RoleBindings ile izin verme
Bir RoleBinding, belirli bir namespace içinde belirli bir Rolü bir veya daha fazla Özneye (kullanıcı, hizmet hesabı veya grup) bağlar.
Bu, "Bu kullanıcı/uygulama, bu namespace içinde bu Rolün izin verdiği işlemleri yapabilir" diyen bağlantıdır.
RoleBinding örneği: Erişim verme
Bu RoleBinding, pod-reader Rolünü default namespace'indeki my-app-sa adlı bir ServiceAccount'a bağlar. Artık my-app-sa Pod'ları okuyabilir.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods-binding
namespace: default
subjects:
- kind: ServiceAccount
name: my-app-sa # The service account getting permissions
namespace: default
roleRef:
kind: Role
name: pod-reader # The Role being granted
apiGroup: rbac.authorization.k8s.ioClusterRoles ve ClusterRoleBindings
Bazen yalnızca tek bir namespace için değil, tüm küme genelinde geçerli izinlere ihtiyaç duyarsınız. İşte bu noktada ClusterRoles ve ClusterRoleBindings devreye girer.
- ClusterRole: Küme kapsamındaki kaynaklar (düğümler ve kalıcı birimler gibi) veya tüm namespace'lerdeki işlemler (örneğin, 'tüm Pod'ları listeleme') için izinleri tanımlar.
- ClusterRoleBinding: Bir ClusterRole'ü Öznelerle bağlayarak küme genelinde izin verir.
RBAC hızlı kontrolü
Bir geliştiricinin yalnızca dev namespace'inde yeni uygulamalar dağıtması gerekiyor. Bu özel izni vermek için öncelikle hangi iki Kubernetes RBAC kaynağını kullanırsınız?
Özet: RBAC temelleri
Harika iş çıkardınız! Kubernetes RBAC'ın temelini öğrendiniz:
- RBAC, küme kaynaklarınızla kimin etkileşim kurabileceğini kontrol eder.
- Roller bir namespace içindeki izinleri tanımlar.
- RoleBindings, Rolleri Öznelerle (kullanıcılar, hizmet hesapları) bağlar.
- ClusterRoles ve ClusterRoleBindings küme genelindeki izinleri yönetir.
RBAC'ta uzmanlaşmak, Kubernetes ortamınızın güvenliğini sağlamanın anahtarıdır!
Sıkça Sorulan Sorular
“Role-Based Access Control (RBAC)” dersi ücretsiz mi?
Evet — “Role-Based Access Control (RBAC)” 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.
“Role-Based Access Control (RBAC)” dersinde ne öğreneceğim?
RBAC rolleri ve rol bağlamalarıyla kümeniz içindeki kullanıcı ve hizmet hesabı izinlerini yönetin. 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 1. dersidir.
“Role-Based Access Control (RBAC)” 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