Pipeline per GitLab-JWT anmelden

Zielgruppe: Betreuer · Stand: 06.11.2026

Pipelines melden sich mit ihrem GitLab-JWT bei OpenBao an. Sie brauchen dafür kein gespeichertes Token. Den Login übernimmt die CI-Component ci-components/deployment. Das Deployment-Repo setzt nur zwei Inputs. Eine Anleitung für Anwender folgt mit DEV.

Lab-PoC: Bisher gibt es nur das Lab-OpenBao. Die JWT-Rollen legen Betreuer an.

Voraussetzungen

Vorgehen

  1. Inputs im include setzen:

    include:
      - component: $CI_SERVER_FQDN/cloud-core-infrastructure/ci-components/deployment/terraform@<version>
        inputs:
          openbao-jwt-role: <rolle>
          openbao-addr: https://openbao-lab-bre1.dexpro.parts:8200
    
    • <version>: Version bzw. SHA der Component, auf die das Repo pinnt
    • <rolle>: JWT-Rolle des Projekts in OpenBao
  2. Im Terraform-Code den Vault-Provider ohne Zugangsdaten konfigurieren. Er liest Adresse und Token aus der Umgebung:

    provider "vault" {}
    
  3. Pipeline auf dem Stage-Branch starten.

Was dann passiert: Die Jobs plan, deploy und destroy holen sich vor tofu das JWT, prüfen die Erreichbarkeit von OpenBao und tauschen das JWT gegen ein kurzlebiges Token (15 Minuten, höchstens 1 Stunde). Es steht nur in der Shell des Jobs als BAO_TOKEN/BAO_ADDR und VAULT_TOKEN/VAULT_ADDR bereit und wird nie ausgegeben.

Prüfen

Der Job meldet den erfolgreichen Login, und plan liest die erwarteten Secrets. Ein Zugriff auf fremde Pfade oder eine andere Stage endet mit 403.

Stolperfallen

Weiterführend


Revision #1
Created 2026-11-06 17:36:28 UTC by Alexander Golembek
Updated 2026-11-06 17:36:28 UTC by Alexander Golembek