Files
2026-03-25 00:05:57 +01:00

2.4 KiB

RBAC - Role-Based Access Control

#kubernetes #security #rbac #słownik

Co to jest?

RBAC (Role-Based Access Control) to system autoryzacji w Kubernetes. Definiuje kto (subject) może wykonywać jakie operacje (verbs) na jakich zasobach (resources).

Komponenty

Role (namespace-scoped)

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: my-namespace
rules:
  - apiGroups: [""]           # "" = core API group
    resources: ["pods"]
    verbs: ["get", "list", "watch"]

ClusterRole (cluster-scoped)

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: node-reader
rules:
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list"]

RoleBinding (wiąże Role z podmiotem)

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
subjects:
  - kind: ServiceAccount
    name: my-agent
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

Verbs

Verb Opis
get Odczyt pojedynczego zasobu
list Listowanie zasobów
watch Obserwowanie zmian (streaming)
create Tworzenie nowego zasobu
update Aktualizacja istniejącego
patch Częściowa aktualizacja
delete Usuwanie zasobu

Scope

Typ Scope Binding
Role Namespace RoleBinding
ClusterRole Cały klaster ClusterRoleBinding
ClusterRole Namespace (reuse) RoleBinding

Privilege escalation prevention

Kubernetes nie pozwala na tworzenie ról z uprawnieniami większymi niż posiada twórca. Dlatego controller Sympozium wymaga cluster-admin - musi tworzyć dowolne role zdefiniowane w SkillPack.

Użycie w Sympozium

Sympozium implementuje efemeryczny RBAC per-run:

  1. SkillPack deklaruje potrzebne uprawnienia (rbac/clusterRBAC)
  2. Przy tworzeniu AgentRun, controller tworzy:
    • Role + RoleBinding (namespace-scoped, ownerReference → AgentRun)
    • ClusterRole + ClusterRoleBinding (label-based cleanup)
  3. Po zakończeniu runu → RBAC usunięty

Credentials istnieją tylko przez czas trwania runu.

Więcej: Efemeryczny RBAC per-run | Skill Sidecars i auto-RBAC


Powiązane: Efemeryczny RBAC per-run | ServiceAccount | Skill Sidecars i auto-RBAC