OpenShift - Tekton
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Mwandishi wa awali wa ukurasa huu ni Haroun
Tekton ni nini
Kulingana na hati: Tekton ni mfumo wenye nguvu na rahisi wa chanzo wazi wa kuunda mifumo ya CI/CD, ikiruhusu waendelezaji kujenga, kupima, na kupeleka katika watoa huduma wa wingu na mifumo ya ndani. Jenkins na Tekton zinaweza kutumika kupima, kujenga na kupeleka programu, hata hivyo Tekton ni Cloud Native.
Kwa Tekton kila kitu kinawakilishwa na faili za YAML. Waendelezaji wanaweza kuunda Rasilimali za Kijadi (CR) za aina Pipelines na kubainisha Tasks nyingi ndani yao ambazo wanataka kuendesha. Ili kuendesha rasilimali ya Pipeline ya aina PipelineRun lazima iundwe.
Wakati tekton imewekwa, akaunti ya huduma (sa) inayoitwa pipeline inaundwa katika kila namespace. Wakati Pipeline inapoendeshwa, pod itazaliwa ikitumia hii sa inayoitwa pipeline kuendesha kazi zilizofafanuliwa katika faili la YAML.
Getting Started with Pipelines | Tekton
Uwezo wa akaunti ya huduma ya Pipeline
Kwa default, akaunti ya huduma ya pipeline inaweza kutumia uwezo wa pipelines-scc. Hii ni kutokana na usanidi wa default wa kimataifa wa tekton. Kwa kweli, usanidi wa kimataifa wa tekton pia ni YAML katika kitu cha openshift kinachoitwa TektonConfig ambacho kinaweza kuonekana ikiwa una baadhi ya majukumu ya msomaji katika klasta.
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "pipelines-scc"
Katika namespace yoyote, ikiwa unaweza kupata token ya akaunti ya huduma ya pipeline utaweza kutumia pipelines-scc.
The Misconfig
Tatizo ni kwamba scc ya default ambayo akaunti ya huduma ya pipeline inaweza kutumia inasimamiwa na mtumiaji. Hii inaweza kufanywa kwa kutumia lebo katika ufafanuzi wa namespace. Kwa mfano, ikiwa naweza kuunda namespace na ufafanuzi wa yaml ufuatao:
apiVersion: v1
kind: Namespace
metadata:
name: test-namespace
annotations:
operator.tekton.dev/scc: privileged
Tekton operator itatoa kwa akaunti ya huduma ya pipeline katika test-namespace uwezo wa kutumia scc privileged. Hii itaruhusu kuunganishwa kwa node.
Suluhisho
Dokumenti za Tekton kuhusu jinsi ya kuzuia kuondoa scc kwa kuongeza lebo katika kitu cha TektonConfig.
Lebo hii inaitwa max-allowed
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"
tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks Cloud