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.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F344535904-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0FSPLXBcKDEfL2bo2i3t%252Fuploads%252Fgit-blob-0a4a041e1ebc4c173e9abc6298bb7b082b1b2e87%252Fopenshift-missing-service-account-image1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=92002a10&sv=1)
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:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F344535904-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0FSPLXBcKDEfL2bo2i3t%252Fuploads%252Fgit-blob-be0a6bd7cf778214cd241e04f46b00a26c904a8d%252Fopenshift-missing-service-account-image2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3e7e6a53&sv=1)
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