OpenShift - Tekton
Ova stranica prikazuje scenarij eskalacije privilegija uz pretpostavku da je tekton instaliran u klasteru i da možete kreirati namespace (ponekad su dovoljna i prava za uređivanje)
Last updated
Ova stranica prikazuje scenarij eskalacije privilegija uz pretpostavku da je tekton instaliran u klasteru i da možete kreirati namespace (ponekad su dovoljna i prava za uređivanje)
Last updated
Originalni autor ove stranice je Haroun
Prema dokumentaciji: Tekton je moćan i fleksibilan open-source okvir za kreiranje CI/CD sistema, omogućavajući developerima da grade, testiraju i implementiraju aplikacije na različitim cloud provajderima i on-premise sistemima. Sama činjenica da Tekton predstavlja Cloud Native rešenje, omogućava da se koristi za testiranje, izgradnju i implementaciju aplikacija, slično kao i Jenkins.
Sa Tektonom, sve je predstavljeno YAML fajlovima. Developeri mogu kreirati prilagođene resurse (CR) tipa Pipelines
i specificirati više Tasks
u njima koje žele da izvrše. Da bi se izvršio Pipeline, resursi tipa PipelineRun
moraju biti kreirani.
Kada je tekton instaliran, service account (sa) pod nazivom pipeline je kreiran u svakom namespace-u. Kada se pokrene Pipeline, pod će biti pokrenut koristeći ovaj sa pod nazivom pipeline
kako bi izvršio zadatke definisane u YAML fajlu.
Podrazumevano, servisni nalog za pipeline može koristiti mogućnost pipelines-scc
. Ovo je zbog globalne podrazumevane konfiguracije tektona. Zapravo, globalna konfiguracija tektona je takođe YAML fajl u openshift objektu nazvanom TektonConfig
koji može biti viđen ako imate određene čitalačke uloge u klasteru.
Problem je što je podrazumevani scc koji može koristiti servisni nalog za tokene cjevovoda podložan kontroli korisnika. Ovo se može postići korišćenjem oznake u definiciji prostora imena. Na primer, ako mogu da kreiram prostor imena sa sledećom yaml definicijom:
Tekton operator će omogućiti servisnom nalogu za pipeline u test-namespace
mogućnost korišćenja scc privilegija. Ovo će omogućiti montiranje čvora.
Tekton dokumenti opisuju kako ograničiti prebrisavanje scc dodavanjem oznake u objekat TektonConfig
.
Ova oznaka se naziva max-allowed