CodeBlanks Logo Icon CodeBlanks

RBAC nedir?

Role-Based Access Control kavramını öğrenirsin.

RBAC nedir?

RBAC (Role-Based Access Control), Kubernetes API'sinde kimin (kullanıcı, grup, ServiceAccount), hangi kaynaklar üzerinde, hangi işlemleri yapabileceğini belirler. Varsayılan olarak her şey yasaktır; izinler açıkça verilir. Dört nesne vardır:

  • Role / ClusterRole: izin kümesi (ne yapılabilir).
  • RoleBinding / ClusterRoleBinding: izni bir özneye bağlar (kim yapabilir).
$ kubectl auth can-i delete pods -n prod --as ayse
no
$ kubectl auth can-i list pods -n dev --as ayse
yes

auth can-i

kubectl auth can-i, bir işlemin yapılıp yapılamayacağını sorar. --as başka bir kullanıcı ya da ServiceAccount adına sormayı sağlar (bunun için de yetki gerekir); --list tüm izinleri listeler:

kubectl auth can-i create deployments -n dev
kubectl auth can-i get secrets --as system:serviceaccount:dev:api -n dev
kubectl auth can-i --list -n dev --as ayse

Uygulama İzinleri sorgula

Üç komut yaz: dev namespace'inde deployment oluşturabilir misin; ayse adına prod'da pod silebilir mi; ayse'nin dev'deki tüm izinlerini listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl auth can-i create deployments -n dev
kubectl auth can-i delete pods -n prod --as ayse
kubectl auth can-i --list -n dev --as ayse

Beklenen çıktı

yes
no
Resources        Non-Resource URLs   Resource Names   Verbs
pods             []                  []               [get list watch]
pods/log         []                  []               [get list watch]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 RBAC'ta izin verilmemiş bir işlem için varsayılan sonuç nedir?

  • Yöneticiye sorulur
  • Reddedilir; RBAC yalnızca izin ekler, yasak kuralı yoktur Doğru cevap
  • İzin verilir
  • Uyarıyla izin verilir

Açıklama: RBAC toplamsaldır: izinlerin birleşimi geçerlidir.

2 Başka bir kullanıcı adına izin sor.

Soru
kubectl auth can-i delete pods -n prod ____ ayse
Cevap
kubectl auth can-i delete pods -n prod --as ayse

Açıklama: --as kimlik taklidiyle sorar.

3 Eşleştir.

Kavram Anlamı
Role Ne yapılabilir
RoleBinding Kim yapabilir
auth can-i İzin sorgusu
varsayılan Reddet

İleri seviye bölümündeki tüm dersler