OpenShift - Tekton
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Bu sayfanın orijinal yazarı Haroun
Tekton nedir
Dokümana göre: Tekton, geliştiricilerin bulut sağlayıcıları ve yerel sistemler arasında CI/CD sistemleri oluşturmasına olanak tanıyan güçlü ve esnek bir açık kaynak çerçevesidir. Hem Jenkins hem de Tekton, uygulamaları test etmek, oluşturmak ve dağıtmak için kullanılabilir, ancak Tekton Cloud Native’dir.
Tekton ile her şey YAML dosyalarıyla temsil edilir. Geliştiriciler, çalıştırmak istedikleri birden fazla Tasks belirtebilecekleri Pipelines türünde Özel Kaynaklar (CR) oluşturabilirler. Bir Pipeline’ı çalıştırmak için PipelineRun türünde kaynaklar oluşturulmalıdır.
Tekton yüklendiğinde, her ad alanında pipeline adında bir hizmet hesabı (sa) oluşturulur. Bir Pipeline çalıştırıldığında, YAML dosyasında tanımlanan görevleri çalıştırmak için pipeline adında bu sa kullanılarak bir pod oluşturulacaktır.
Getting Started with Pipelines | Tekton
Pipeline hizmet hesabı yetenekleri
Varsayılan olarak, pipeline hizmet hesabı pipelines-scc yeteneğini kullanabilir. Bu, tekton’un küresel varsayılan yapılandırmasından kaynaklanmaktadır. Aslında, tekton’un küresel yapılandırması da, kümede bazı okuyucu rolleri varsa görülebilen TektonConfig adlı bir openshift nesnesinde bir YAML’dır.
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "pipelines-scc"
Herhangi bir ad alanında, eğer pipeline hizmet hesabı jetonunu alabiliyorsanız pipelines-scc kullanabileceksiniz.
Yanlış Yapılandırma
Sorun, pipeline sa’nın kullanabileceği varsayılan scc’nin kullanıcı tarafından kontrol edilebilir olmasıdır. Bu, ad alanı tanımında bir etiket kullanılarak yapılabilir. Örneğin, eğer aşağıdaki yaml tanımıyla bir ad alanı oluşturabiliyorsam:
apiVersion: v1
kind: Namespace
metadata:
name: test-namespace
annotations:
operator.tekton.dev/scc: privileged
Tekton operatörü, test-namespace içindeki pipeline hizmet hesabına scc privileged kullanım yetkisi verecektir. Bu, düğümün montajına izin verecektir.
Çözüm
Tekton, TektonConfig nesnesine bir etiket ekleyerek scc’nin geçersiz kılınmasını nasıl kısıtlayacağınızı belgeler.
Bu etiket max-allowed olarak adlandırılır.
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

