Zum Inhalt

Secrets verwalten (Secrets Management)

Übersicht

Mit dem Secrets Management werden sensible Zugangsdaten (z. B. Passwörter, API-Keys, Tokens) sicher zentral verwaltet und zur Laufzeit in Prozessen eingesetzt.

Kurz zusammengefasst

Secrets werden einmalig angelegt und im Prozess nur referenziert, z. B. in einem Service Task über {{secret:FTP_PASSWORD}}. Bei einem Passwortwechsel wird ausschließlich das Secret aktualisiert; laufende und zukünftige Prozessausführungen nutzen automatisch den aktuellen Wert.

Warum das hilfreich ist

Dadurch bleiben BPMN-Modelle frei von Klartext-Zugangsdaten, während Änderungen ohne erneutes Deployment wirksam werden.

Video (YouTube)

▶️Video auf YouTube öffnen


Vorteile

  • 🔐 Sicherheit: Secrets werden verschlüsselt gespeichert und niemals im Klartext angezeigt. Die Auflösung erfolgt „just-in-time“ zur Laufzeit.
  • ♻️ Keine Duplikate: Gleiche Credentials werden zentral gepflegt und mehrfach verwendet.
  • ⚙️ Zentrale Verwaltung: Passwörter werden an einer Stelle geändert; alle Prozesse nutzen automatisch die aktuelle Version.
  • 🔎 Transparenz: Es wird angezeigt, welche Prozesse ein bestimmtes Secret verwenden.
Übersicht Secrets Managment
Secrets können angelegt, gesucht, editiert und gelöscht werden.

Secrets erstellen und verwalten

Neues Secret anlegen

  1. Prozess Designer öffnen.
  2. In der Toolbar das Schlüssel-Symbol (Secrets Management) auswählen.
  3. Secret erstellen auswählen.
  4. Formular ausfüllen:
    • Name: eindeutiger Bezeichner (z. B. EMAIL_PASSWORD). Der Name ist unveränderlich.
    • Anzeigename: lesbarer Name für die Übersicht.
    • Typ: Art des Secrets (z. B. Password, API-Key, Token). Der Typ dient der Strukturierung und optionalen Validierung, hat jedoch keinen Einfluss auf die Verschlüsselung.
    • Wert: geheimer Wert (wird verschlüsselt gespeichert).
  5. Erstellen auswählen.
Erstellung eines neuen Secret
Erstellung eines neuen Secret. Der Secret-Wert kann danach nicht mehr angesehen werden.

Hinweis

Der Secret-Wert wird nach dem Speichern nicht wieder im Klartext angezeigt.

Secret bearbeiten

  • Das Stift-Symbol neben dem Secret wird ausgewählt.
  • Anzeigename, Typ und Wert können geändert werden.
  • Für reine Metadaten-Änderungen bleibt das Wert-Feld leer.
  • Änderungen werden mit Zeitstempel und Anwender protokolliert.
  • Eine Änderung des Werts erfordert kein erneutes Deployment.

Secret löschen

  • Das Papierkorb-Symbol wird ausgewählt.
  • Die Sicherheitsabfrage wird bestätigt.

Achtung

Wenn ein Secret gelöscht wird, schlagen Prozessausführungen fehl, die dieses Secret referenzieren.


Secrets in BPMN-Prozessen verwenden

Syntax

Platzhalter werden im Format {{secret:NAME}} in unterstützten Feldern (z. B. Service Task / Script Task Input) im Input Parameter verwendet:

{
  "credentials": {
    "username": "{{secret:TEAMBEAM_USERNAME}}",
    "password": "{{secret:TEAMBEAM_PASSWORD}}"
  }
}
  • Secrets werden zur Laufzeit aufgelöst
  • Ersetzung erfolgt serverseitig

Wichtig

Die Auflösung erfolgt zur Laufzeit. Das BPMN-Modell enthält keine Klartext-Zugangsdaten.

Beispiel felder für die Verwendung von Secrets

  • TeamBeam Upload/Download: credentials.user, credentials.password, credentials.url
  • DHL Sendungsverfolgung: login.username, login.password, login.apiKey
  • FTP Upload/Download: FTPAccess.user, FTPAccess.password, FTPAccess.host, FTPAccess.port

Beispiel: FTP-Upload mit Secrets

{
  "FTPAccess": {
    "host": "{{secret:FTP_HOST}}",
    "port": "{{secret:FTP_PORT}}",
    "user": "{{secret:FTP_USERNAME}}",
    "password": "{{secret:FTP_PASSWORD}}"
  },
  "sourcePath": "/data/export.csv",
  "targetPath": "/import/export.csv"
}

Secret-Nutzung nachverfolgen

Wo wird ein Secret verwendet?

  1. Secrets Management wird geöffnet.
  2. Der Pfeil nach unten neben einem Secret wird ausgewählt.
  3. Angezeigt werden:
    • welche BPMN-Prozesse das Secret verwenden
    • in welchen Activities (Tasks) es verwendet wird
  4. Über den Prozessnamen wird der Prozess im Prozess Designer geöffnet.

Hinweis

Die Nutzung wird beim Deployment analysiert, nicht beim Speichern des Modells.


Best Practices

Naming Conventions

  • Einheitlicher Stil wird empfohlen. Beispiel: FTP_PASSWORD
  • Ein Präfix pro System wird empfohlen: TEAMBEAM_API_KEY
  • Namen werden kurz gehalten (max. 20 Zeichen)

Sicherheit

  • Niemals Secrets per Copy/Paste in Slack, E-Mail etc. teilen
  • Passwörter werden regelmäßig geändert und das Secret wird aktualisiert
  • Vor dem Löschen wird die Nutzung geprüft

Prozess-Design

  • In der Task-Beschreibung wird dokumentiert, welche Secrets benötigt werden
  • Nach Secret-Änderungen werden betroffene Prozesse getestet
  • Sprechende Secret-Namen werden verwendet (nicht SECRET_1, SECRET_2)

Troubleshooting

"Secret not found" Fehler bei Prozessausführung

Ursache: Das Secret wurde gelöscht oder umbenannt

Lösung: 1. Im Secrets Management wird geprüft, ob das Secret existiert. 2. Der betroffene Prozess wird geöffnet. 3. Der Secret-Name im Task wird korrigiert. 4. Der Prozess wird neu deployt.

Secret wird nicht ersetzt

Ursache: Falsche Syntax oder Position

Lösung: - Syntax prüfen: {{secret:NAME}} (keine Leerzeichen). - Secrets funktionieren nur in unterstützten Feldern. - Nicht alle Tasks unterstützen Secrets.

Secret-Nutzung wird nicht angezeigt

Ursache: Prozess wurde noch nicht deployed

Lösung: - Die Nutzung wird erst beim Deployment erfasst. - Der Prozess wird deployt; danach erscheint er in der Liste.


FAQ – Häufige Fragen zum Secrets Management

Können Secrets in mehreren Prozessen verwendet werden?
Ja. Secrets sind zentral verfügbar und können in beliebig vielen Prozessen referenziert werden.

Werden Secret-Werte während der Prozessausführung angezeigt oder geloggt?
Nein. Sensible Werte werden nicht im Klartext geloggt. Die Auflösung erfolgt „just-in-time“ zur Laufzeit.

Können Secrets in User Tasks verwendet werden?
Nein. Secrets werden nur in unterstützten technischen Feldern (z. B. Credentials/Passwörter/API-Keys) aufgelöst, damit eine sichere Verwendung erzwungen wird.

Wie lang darf ein Secret-Wert sein?
Der Wert ist technisch sehr groß möglich; empfohlen werden maximal 4096 Zeichen.

Können Secrets exportiert oder kopiert werden?
Nein. Secret-Werte sind nach dem Speichern nicht auslesbar und werden nicht exportiert.

Wie viele Secrets können erstellt werden?
Die Anzahl ist nicht limitiert. Es kann eine beliebige Anzahl an Secrets angelegt werden.

Verursacht die Nutzung von Secrets zusätzliche Kosten?
Nein. Secrets verursachen keine zusätzlichen Kosten.

Können Secrets gelöscht werden, obwohl sie verwendet werden?
Ja. Ein verwendetes Secret kann bewusst gelöscht werden. Dadurch schlagen Prozessausführungen fehl, die dieses Secret referenzieren. Auf diese Weise kann der Zugriff gezielt und „hart“ unterbunden werden.

Wie skaliert die Secret-Auflösung bei vielen Zugriffen?
Die Auflösung erfolgt serverseitig zur Laufzeit und ist für eine hohe Anzahl paralleler Zugriffe ausgelegt.


Technische Details (für Administratoren)

Verschlüsselung

  • Secrets werden mit einem KMS (Key Management Service) verschlüsselt
  • Verschlüsselung erfolgt automatisch beim Speichern
  • Entschlüsselung nur zur Laufzeit "just in time"

Berechtigungen

Für alle Secrets-Funktionen wird die Rolle Prozesse erstellen oder admin benötigt.