Credential-Management für DevOps-Teams

Viele DevOps-Teams gehen mit ihnen anvertrauten Credentials wie Passwörtern oder Zertifikaten sorglos um. Verglichen mit Slack Tokens, die versehentlich auf GitHub exponiert wurden, ist ein Schaden bei Infrastructure as Code schnell deutlich größer. Immerhin ist das Äquivalent eines Rechenzentrums bedroht.

Know-how  –  24 Kommentare
Credential-Management für DevOps-Teams

Alte Ansätze wie versiegelte Umschläge im Safe oder fein abgestimmte Active-Directory- oder LDAP-Integrationen funktionieren in der verteilten und dynamischen DevOps-Welt oft nicht mehr. Leider gibt es aber auch noch kein wirklich etabliertes "leichtgewichtiges" Set von Werkzeugen für das Credential-Management. Was also tun, wenn das eigene DevOps-Team schnell wächst, die Zahl der verwendeten Tools schon weit zweistellig ist und die Komplexität dennoch beherrschbar bleiben soll? Gesucht ist eine Möglichkeit für Credential-Management, die zu den verwendeten Tools passt und gleichzeitig die dadurch zusätzlich eingeführte Komplexität niedrig hält.

Die Nachfrage nach guten Möglichkeiten für das Credential-Management besteht nicht erst seit gestern, weshalb sich bereits viele Produkte durchgesetzt haben, die versuchen, verschiedene Ansätze in einem Angebot zu kombinieren. Da die eine fertige "Lösung" noch nicht in Sicht ist, kommt man leider ohne ein tieferes Problemverständnis nicht weit. Um zu beurteilen, welche Produkte sich am besten für DevOps-Teams eignen, müssen zunächst die entscheidenden Kriterien festgelegt werden, nach denen sich die Produktauswahl richten kann.

Die typischen Anforderungen an ein Credential-Management in einem DevOps-Team sind:

  • Sicherheit: Credentials sind ein interessantes und lohnendes Angriffsziel. Daher sind sie sicher zu speichern, zu übertragen und zu verteilen.
  • Nachvollziehbarkeit und Transparenz: Wer hat Zugriff auf welche Passwörter und wie hat das vor einem Jahr ausgesehen? Diese Fragen beantworten zu können, ist ein wichtiger Baustein für die Unternehmens-Compliance.
  • Benutzbarkeit: Sicherheit steht immer im Konflikt mit Benutzerfreundlichkeit. Auch wenn Sicherheit für das Verwalten von Credentials wichtig bleibt, ist die Benutzbarkeit für die Akzeptanz im Team ausgesprochen relevant.
  • unterschiedliche Empfängerkreise: Sobald Teams beginnen, unterschiedliche Rollen zu definieren, ist es vorteilhaft, wenn sich der Empfängerkreis von Credentials feiner abgrenzen lässt.
  • verteilt nutzbar: Mit der Projektdynamik geht häufig eine räumliche Verteilung einher. Verwaltete Credentials müssen daher mit räumlicher Verteilung umgehen können.
  • Integrationsfähigkeit: Das gewählte Credential-Management-Produkt muss sich typischerweise in mehrere DevOps-Tools integrieren lassen. Jedes Tool bringt seine eigene Konfigurationsmethode mit. Eine gute Kommandozeilenintegration ist hier oft die letzte Rettung.
  • Offline-Fähigkeit: Da auch in der heutigen Zeit das Internet auf Reisen nicht unterbrechungsfrei funktioniert, ist die Möglichkeit zur Offline-Arbeit ein Robustheitsbonus.
  • übergreifende Betriebssystemunterstützung: Die einheitliche Entwicklungsumgebung stirbt zunehmend aus. Unterstützung für Linux, macOS und Windows ist daher häufig nötig.
  • Personal-Prozessunterstützung: Teammitglieder kommen ins Team hinein und verlassen es auch wieder. Ein Credential-Management-Produkt muss diese Prozesse unterstützen.
  • Lizenzmodell: Die Lizenz des gewählten Produkts sollte die Möglichkeiten zur Nutzung möglichst wenig einschränken.