For the complete documentation index, see llms.txt. This page is also available as Markdown.

External Secrets Operator

External Secrets Operator lässt sich für die Secret-Verwaltung in Devolutions Server integrieren.

Die Werte in dieser Anleitung (z. B. your-application-id) sind Platzhalter; ersetzen Sie sie durch die spezifischen Werte Ihrer Umgebung.

Authentifizierung

Die Authentifizierung bei Devolutions Server verwendet die Anmeldeinformationen Application ID und Application secret.

Erstellen einer Anwendungsidentität in Devolutions Server

  1. Melden Sie sich an der Weboberfläche Ihres Devolutions Server an.

  2. Navigieren Sie zu AdministrationApplications identities.

  3. Klicken Sie auf Add (+), um eine neue Anwendung zu erstellen.

  4. Konfigurieren Sie die Anwendung mit den Berechtigungen, die für den Zugriff auf die gewünschten Tresore und Einträge erforderlich sind.

  5. Speichern Sie die Application ID und das Application secret.

Erstellen des Kubernetes-Secrets

Erstellen Sie mit dem folgenden Skript ein Kubernetes-Secret, das Ihre Devolutions Server-Anmeldeinformationen enthält:

kubectl create secret generic dvls-credentials \
  --from-literal=app-id="your-application-id" \
  --from-literal=app-secret="your-application-secret"

Erstellen eines SecretStore

Feld

Beschreibung

serverUrl

Die URL der Devolutions Server-Instanz (z. B. https://devolutions-server.example.com)

vault

Der Name oder die UUID des Tresors, aus dem Secrets abgerufen werden sollen. Wird er weggelassen, muss der Tresor im Secret-Schlüssel im veralteten Format <vault-id>/<entry-id> angegeben werden. Dieses Feld ist optional.

insecure

Auf true setzen, um einfache HTTP-Verbindungen zuzulassen. Für die Produktion nicht empfohlen. Dieses Feld ist optional.

auth.secretRef.appId

Verweis auf das Secret, das die Application ID enthält.

auth.secretRef.appSecret

Verweis auf das Secret, das das Application secret enthält.

Stellen Sie bei ClusterSecretStore sicher, dass Sie den namespace in den Secret-Verweisen angeben.

Auf Secrets verweisen

Auf Einträge kann per UUID oder Name verwiesen werden:

Format

Beispiel

Eintrags-UUID

7c9e6679-7425-40de-944b-e07fc1f90ae7

Eintragsname

db-credentials

Eintragsname mit Ordnerpfad

infrastructure/databases/db-credentials

Ordnerpfad mit umgekehrten Schrägstrichen

infrastructure\databases\db-credentials

Der Tresor wird im Feld vault des SecretStore konfiguriert (Name oder UUID), sodass der Schlüssel nur den Eintrag identifizieren muss.

Ordnerpfade

Wenn sich ein Eintrag in einem Ordner befindet, können Sie den Ordnerpfad vor dem Eintragsnamen angeben. Als Pfadtrennzeichen werden sowohl Schrägstriche (/) als auch umgekehrte Schrägstriche (\) akzeptiert:

Schrägstriche müssen nicht escaped werden und werden aus Gründen der Einfachheit empfohlen.

Der Ordnerpfad ist optional. Ohne Pfad sucht der Provider in allen Ordnern des Tresors. Wenn mehrere Einträge in verschiedenen Ordnern denselben Namen haben, können Sie entweder den Ordnerpfad angeben oder die Eintrags-UUID zur Eindeutigkeit verwenden.

Namensbasierte Suchen lösen den Namen zur Laufzeit über einen API-Aufruf in eine UUID auf. Wenn mehrere Anmeldeinformations-Einträge übereinstimmen, wird ein Fehler zurückgegeben. Für schreibintensive Szenarien (häufige PushSecret-Vorgänge) sind UUID-Verweise vorzuziehen, um die zusätzliche Suche pro Vorgang zu vermeiden.

UUIDs finden Sie in der Weboberfläche von Devolutions Server, indem Sie die Eintragseigenschaften anzeigen.

Unterstützte Anmeldeinformationstypen

Devolutions Server unterstützt mehrere Anmeldeinformationstypen. Der Provider ordnet jedem Typ bestimmte Eigenschaften zu:

Anmeldeinformationstyp

Devolutions Server Eintragstyp

Verfügbare Eigenschaften

Standard

Credential

username, password, domain

Access Code

Secret

password

API Key

Credential

api-id, api-key, tenant-id

Azure Service Principal

Credential

client-id, client-secret, tenant-id

Connection String

Credential

connection-string

Private Key

Credential

username, password, private-key, public-key, passphrase

Alle Einträge enthalten außerdem die Metadaten-Eigenschaften entry-id und entry-name.

Beispiele

Einzelne Eigenschaften abrufen

So rufen Sie bestimmte Eigenschaften aus einem Anmeldeinformations-Eintrag ab:

dataFrom verwenden, um alle Felder zu extrahieren

Bei Verwendung von dataFrom.extract werden alle verfügbaren Eigenschaften des Anmeldeinformations-Eintrags mit dem Kubernetes-Secret synchronisiert.

Secrets übertragen

Der Devolutions Server-Provider unterstützt das Zurückübertragen von Secrets an Devolutions Server:

Hinweis: Push Secret aktualisiert das Passwortfeld eines vorhandenen Eintrags. Der Eintrag muss in Devolutions Server bereits vorhanden sein.

Einschränkungen

  • GetAllSecrets: Der find-Vorgang zum Auffinden von Secrets wird derzeit nicht unterstützt.

  • Benutzerdefinierte CA-Zertifikate: Benutzerdefinierte TLS-Zertifikate für selbstsignierte Devolutions Server-Instanzen werden noch nicht unterstützt. Verwenden Sie die Umgebungsvariable SSL_CERT_FILE als Problemumgehung.

  • Zertifikatseinträge: Zertifikats-Eintragstypen (Document/Certificate) werden derzeit nicht unterstützt. Es werden nur Credential-Einträge unterstützt.

Fehlerbehebung

Authentifizierungsfehler

Wenn Sie Authentifizierungsfehler erhalten:

  1. Überprüfen Sie, ob Application ID und Secret korrekt sind.

  2. Stellen Sie sicher, dass die Anwendung über die erforderlichen Berechtigungen in Devolutions Server verfügt.

  3. Prüfen Sie, ob die Server-URL von Devolutions Server von Ihrem Kubernetes-Cluster aus erreichbar ist.

Eintrag nicht gefunden

Wenn ein Eintrag nicht gefunden werden kann:

  1. Überprüfen Sie, ob die Tresor- und Eintragsverweise korrekt sind (UUID oder Name)

  2. Stellen Sie sicher, dass die Anwendung mindestens Lesezugriff auf den Tresor hat

  3. Prüfen Sie, ob der Eintrag existiert und ein Eintrag des Typs Credential oder Secret ist

  4. Stellen Sie sicher, dass die Anwendung mindestens die Berechtigungen Lesen, Passwort anzeigen und Verbinden (Ausführen) für den Eintrag hat

Mehrere Einträge gefunden

Wenn Sie bei namensbasierten Verweisen den Fehler "multiple entries found" erhalten, bedeutet dies, dass mehr als ein Anmeldeinformations-Eintrag denselben Namen im Tresor hat. Verwenden Sie die Eintrags-UUID anstelle des Namens, um den richtigen Eintrag anzusprechen.

Zuletzt aktualisiert

War das hilfreich?