OpenShift - Tekton
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Lâauteur original de cette page est Haroun
Quâest-ce que tekton
Selon la documentation : Tekton est un cadre open-source puissant et flexible pour crĂ©er des systĂšmes CI/CD, permettant aux dĂ©veloppeurs de construire, tester et dĂ©ployer sur des fournisseurs de cloud et des systĂšmes sur site. Jenkins et Tekton peuvent ĂȘtre utilisĂ©s pour tester, construire et dĂ©ployer des applications, cependant Tekton est Cloud Native.
Avec Tekton, tout est reprĂ©sentĂ© par des fichiers YAML. Les dĂ©veloppeurs peuvent crĂ©er des Ressources PersonnalisĂ©es (CR) de type Pipelines et spĂ©cifier plusieurs Tasks quâils souhaitent exĂ©cuter. Pour exĂ©cuter un Pipeline, des ressources de type PipelineRun doivent ĂȘtre créées.
Lorsque tekton est installĂ©, un compte de service (sa) appelĂ© pipeline est créé dans chaque namespace. Lorsquâun Pipeline est exĂ©cutĂ©, un pod sera gĂ©nĂ©rĂ© en utilisant ce sa appelĂ© pipeline pour exĂ©cuter les tĂąches dĂ©finies dans le fichier YAML.
Getting Started with Pipelines | Tekton
Les capacités du compte de service Pipeline
Par dĂ©faut, le compte de service pipeline peut utiliser la capacitĂ© pipelines-scc. Cela est dĂ» Ă la configuration par dĂ©faut globale de tekton. En fait, la configuration globale de tekton est Ă©galement un YAML dans un objet openshift appelĂ© TektonConfig qui peut ĂȘtre vu si vous avez des rĂŽles de lecteur dans le cluster.
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "pipelines-scc"
Dans nâimporte quel espace de noms, si vous pouvez obtenir le jeton du compte de service de pipeline, vous pourrez utiliser pipelines-scc.
La mauvaise configuration
Le problĂšme est que le scc par dĂ©faut que le sa de pipeline peut utiliser est contrĂŽlable par lâutilisateur. Cela peut ĂȘtre fait en utilisant une Ă©tiquette dans la dĂ©finition de lâespace de noms. Par exemple, si je peux crĂ©er un espace de noms avec la dĂ©finition yaml suivante :
apiVersion: v1
kind: Namespace
metadata:
name: test-namespace
annotations:
operator.tekton.dev/scc: privileged
LâopĂ©rateur tekton donnera au compte de service de pipeline dans test-namespace la capacitĂ© dâutiliser le scc privilĂ©giĂ©. Cela permettra le montage du nĆud.
La solution
Les documents Tekton expliquent comment restreindre lâoverride de scc en ajoutant une Ă©tiquette dans lâobjet TektonConfig.
Cette Ă©tiquette sâappelle max-allowed
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

