Jak odbywa się Autoryzacja w Kubernetes?¶
Istnieją 4 rodzaje typów autoryzacji w Kubernetes:
- Node Authorization - autoryzacja między węzłami (np. Worker Node), działa tylko dla kubeletów
- ABAC - Attribute-based access control - określanie per każdy user, do czego ma mieć dostęp w klastrze (typu odczyt listy Podów, tworzenie nowych Podów)
- RBAC - Role-based access control - określanie reguł per większa grupa (np. deweloperzy), dostęp przypisywany jest już dla większej grupy, częściej taki sposób jest wykorzystywany
- Webhook - zlecanie zarządzania dostępem do klastra zewnętrznemu oprogramowaniu, rozwiązaniu. Kubernetes wystawia API na zewnątrz, gdzie inne rozwiązania otrzymują webhooki i odpowiadają jaki user ma dostęp.
Jak weryfikowany jest dostęp do klastra?¶
Sprawdzane jest pole --authorization-mode w ustawieniach kube-apiserver.
Brana jest kolejność w jakiej będzie sprawdzane, czy jest możliwy dostęp do klastra, np. dla usera lub noda.
Na przykład:
- będą na początku sprawdzane reguły ABAC,
- gdy żadnej nie będzie dla usera, który próbuje się połączyć,
- wówczas z Node - sprawdzany Node Authorization,
- a następnie RBAC.
Gdy w żadnym trybie nie będzie - Forbidden.