TDM Consult GmbHBusiness Flies
Zum Inhalt springen

Secret ​

Secrets enthalten vertrauliche Laufzeitwerte. Sie werden nicht mit echten Werten im Git-Repository abgelegt. Die konkrete Secret-Verwaltung richtet sich nach dem Plattformstandard des Clusters.

Backend-Secret ​

Ein geplantes Secret bflies-backend-sec stellt mindestens folgende Werte bereit:

  • Datenbankbenutzer und Datenbankpasswort,
  • gegebenenfalls Mailserver-Zugangsdaten,
  • technische Client Secrets, sofern ein vertraulicher OAuth-Client benötigt wird,
  • weitere externe Zugangsdaten des Backends.

Das Frontend verwendet einen öffentlichen OpenID-Connect-Client und darf kein Client Secret erhalten.

Datenbank-Secret ​

Das geplante Secret bflies-mysql-sec enthält getrennte Zugangsdaten für:

  • den administrativen Datenbankbenutzer,
  • den eingeschränkten Business-Flies-Anwendungsbenutzer.

Backend und Flyway-Job referenzieren ausschließlich die für ihren Zweck erforderlichen Keys.

yaml
apiVersion: v1
kind: Secret
metadata:
    name: bflies-mysql-sec
    namespace: bflies-int
data:
    root: cmVwbGFjZS10aGlzLXNlY3JldA==
    user: cmVwbGFjZS10aGlzLXNlY3JldA==
type: Opaque

Registry-Zugang ​

Falls der Namespace nicht bereits einen zentral verwalteten Registry-Zugang besitzt, wird ein kubernetes.io/dockerconfigjson-Secret als imagePullSecret benötigt. Dieses Secret soll von der Plattform verwaltet und nicht projektspezifisch dupliziert werden.

Sicherheitsregeln ​

  • Secret-Werte erscheinen weder in Kustomize-Dateien noch in Pipeline-Logs.
  • Pods erhalten nur die für ihre Komponente notwendigen Werte.
  • Secret-Änderungen und Rotation werden betrieblich nachvollziehbar durchgeführt.
  • Base64-Kodierung allein gilt nicht als Schutz oder Verschlüsselung.