OpenShift - Missing Service Account

Brakujące konto usługi

Zdarza się, że klaster jest wdrożony z wstępnie skonfigurowanym szablonem automatycznie ustawiającym role, RoleBindings, a nawet SCC dla konta usługi, które jeszcze nie zostało utworzone. Może to prowadzić do eskalacji uprawnień w przypadku, gdy jesteś w stanie je utworzyć. W takim przypadku będziesz mógł uzyskać token nowo utworzonego konta usługi oraz rolę lub SCC powiązaną. To samo dotyczy przypadku, gdy brakujące konto usługi jest częścią brakującego projektu, w tym przypadku, jeśli możesz utworzyć projekt, a następnie konto usługi, uzyskasz role i SCC powiązane.

Na poprzednim wykresie mamy wiele AbsentProject, co oznacza wiele projektów, które pojawiają się w powiązaniach ról lub SCC, ale nie zostały jeszcze utworzone w klasterze. W ten sam sposób mamy również AbsentServiceAccount.

Jeśli możemy utworzyć projekt i brakujące konto usługi w nim, konto usługi odziedziczy rolę lub SCC, które były ukierunkowane na AbsentServiceAccount. Co może prowadzić do eskalacji uprawnień.

Poniższy przykład pokazuje brakujące konto usługi, które otrzymuje SCC dla node-exporter:

Narzędzia

Następujące narzędzie może być użyte do wyliczenia tego problemu i ogólniej do stworzenia grafu klastra OpenShift:

Last updated