Entwickler
Zugänge erstellen
Keycloak
Diese Aktion muss von einem Administrator vorgenommen werden
Von einem Administrator einen Keycloak Account erstellen lassen und OTP (One time password) Setup aktivieren.
Weitere Konfiguration sind hier nicht vorzunehmen, alle Gruppenzugehörigkeiten werden direkt über Cloudflare Zero Trust gesteuert.
Cloudflare
Diese Aktion muss von einem Administrator vorgenommen werden
Für den Zugriff auf alle Entwicklungsressourcen muss die E-Mail Adresse des neuen Mitarbeiters in den folgenden Access Groups (Cloudflare Zero Trust Dashboard) ergänzt werden:
- it-entwickler
- it-entwicklung
- mitarbeiter
Passbolt
neuen Benutzer anlegen
Diese Aktion muss von einem Administrator vorgenommen werden
Der Benutzer wird in Passbolt direkt angelegt und vollendet seine Registrierung anschließend per Magiclink (der per E-Mail zugestellt wird).
SSH User auf den Servern
Diese Aktion muss von einem Administrator vorgenommen werden
Für einen SSH Zugriff auf unsere Server Infrastruktur müssen auf den Servern noch neue User erstellt werden. Diese neuen Nutzer bitte auch gleich in der Cloud config von Hetzner ergänze unter Infrastruktur -> Server
Github
Github Account erstellen mit dem Namen baunach-SHORT, wobei SHORT das zugewiesene Mitarbeiterkürzel ist. Dann von einem Administrator
in die Baunach Organisation baunach-it einladen lassen.
Cloudflared
Installation (WSL)
Cloudflared ist ein Dienst der es ermöglicht auch auf allen anderen wegen neben HTTP Zugriff auf von Cloudflare geschützte Ressourcen zu erhalten. Wir nutzen Cloudflared um uns per SSH auf unsere Server zu verbinden.
Cloudflared kann über das Standardpackaging der jeweiligen WSL Linux Distribution installiert werden. Alternativ stehen auch Installer für alle anderen Systeme wie Windows (nativ) und MacOS zur Verfügung. Weitere Dokumentation ist hier zu finden.
Nach der erfolgreichen Installation muss Cloudflared nicht weiter konfiguriert werden. Die weiteren Konfiguration erfolgen über Cloudflare und Git.
Service Token erstellen
Diese Aktion muss von einem Administrator vorgenommen werden
Für die Machine-to-Machine Kommunikation werden bei Cloudflare sogenannte Service Token verwendet. Diese Token beinhalten ein Client/Secret paar mit dem sich Maschinen gegenüber Cloudflare ausweisen, um (sofern konfiguriert) automatischen Zugriff auf geschützte Ressourcen zu erhalten.
Der Service Token wird aktuell dafür verwendet, um mit Gitea via Git zu kommunizieren und den Code aus und einchecken zu können.
Service Token können über das Cloudflare Zero Trust Dashboard angelegt werden und sind dort unter Access -> Service Auth zu finden. Die ClientId und das Secret werden später benötigt, um Git zu konfigurieren.
Cloudflare Gitea Access Service-Token Policy anpassen
Diese Aktion muss von einem Administrator vorgenommen werden
Der neue Service Token kann nun in der entsprechenden Access Policy für Gitea ergänzt werden.
Über Access -> Applications die vorhandene Applikation Gitea auswählen
Und anschließend im Tab Policies die Policy service-token auswählen
Nun kann man weitere Tokens in den zu konfigurierenden Zugriffsregeln ergänzen
Git Konfiguration
Um Code erfolgreich aus Gitea pullen und pushen zu können, muss der Token noch in der .gitconfig Datei ergänz werden:
[http] extraheader=CF-Access-Client-Id: you.servicetoken.id.access extraheader=CF-Access-Client-Secret: your.servicetoken.secretSSH Konfiguration
Um per SSH auf unsere Server, als auch Github zuzugreifen, müssen die folgenden Schritte durchgeführt werden.
Keys generieren
Verschiedene SSH Keys mit Passphrase erstellen für folgende Zugriffe:
- Server Produktion
- Server Tooling
- Github
Ein neuer Key kann über die folgenden Schritte generiert werden:
ssh-keygen -t ed25519 -C "your_email@example.com"- Passphrase festlegen
- Passphrase in Passbolt ablegen
Die SSH Keys für unsere Server müssen von einem Administrator auf die Server verteilt werden
SSH Config vorbereiten
Produktions und Tooling Server in der SSH Config ergänzen und auf die zuvor installiere *Cloudflared executable verlinken.
Host production ProxyCommand /usr/local/bin/cloudflared access ssh --hostname ssh-production.baunach.work User vorname.nachname IdentityFile ~/.ssh/id_ed25519_production
Host tooling ProxyCommand /usr/local/bin/cloudflared access ssh --hostname ssh-tooling.baunach.work User vorname.nachname IdentityFile ~/.ssh/id_ed25519_tooling