OpenShift - Missing Service Account
Reading time: 1 minute
Missing Service Account
Capita che il cluster venga distribuito con un modello preconfigurato che imposta automaticamente i Ruoli, i RoleBindings e persino gli SCC su un service account che non è ancora stato creato. Questo può portare a un'escursione di privilegi nel caso in cui tu possa crearli. In questo caso, saresti in grado di ottenere il token del SA appena creato e il ruolo o SCC associato. Lo stesso caso si verifica quando il SA mancante fa parte di un progetto mancante; in questo caso, se puoi creare il progetto e poi il SA, ottieni i Ruoli e gli SCC associati.

Nel grafico precedente abbiamo più AbsentProject che significano più progetti che appaiono nei Ruoli Bindings o SCC ma non sono ancora stati creati nel cluster. Nella stessa vena abbiamo anche un AbsentServiceAccount.
Se possiamo creare un progetto e il SA mancante al suo interno, il SA erediterà dal Ruolo o dallo SCC che miravano all'AbsentServiceAccount. Questo può portare a un'escursione di privilegi.
Il seguente esempio mostra un SA mancante a cui è concesso il SCC node-exporter:

Tools
Il seguente strumento può essere utilizzato per enumerare questo problema e, più in generale, per graficare un cluster OpenShift: