Skip to content

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:

--authorization-mode=ABAC,Node,RBAC

  • 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.