External Secrets Operator
External Secrets Operator lässt sich für die Secret-Verwaltung in Devolutions Server integrieren.
Authentifizierung
Die Authentifizierung bei Devolutions Server verwendet die Anmeldeinformationen Application ID und Application secret.
Erstellen einer Anwendungsidentität in Devolutions Server
Melden Sie sich an der Weboberfläche Ihres Devolutions Server an.
Navigieren Sie zu Administration – Applications identities.
Klicken Sie auf Add (+), um eine neue Anwendung zu erstellen.
Konfigurieren Sie die Anwendung mit den Berechtigungen, die für den Zugriff auf die gewünschten Tresore und Einträge erforderlich sind.
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.
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:
Wenn Sie umgekehrte Schrägstriche in YAML verwenden, müssen Sie sie mit einem doppelten umgekehrten Schrägstrich (\\) escapen:
Schrägstriche müssen nicht escaped werden und werden aus Gründen der Einfachheit empfohlen.
Eintragsnamen, die Schrägstriche (/) oder umgekehrte Schrägstriche (</code>) are not supported with name-based lookups, as those characters are interpreted as path separators. Use the entry UUID instead.
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.
Wenn keine property angegeben ist, wird standardmäßig das Feld password zurückgegeben.
In der Weboberfläche von Devolutions Server erscheinen "Secret"-Einträge als eigener Eintragstyp und werden intern dem Anmeldeinformations-Subtyp Access Code zugeordnet.
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_FILEals 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:
Überprüfen Sie, ob Application ID und Secret korrekt sind.
Stellen Sie sicher, dass die Anwendung über die erforderlichen Berechtigungen in Devolutions Server verfügt.
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:
Überprüfen Sie, ob die Tresor- und Eintragsverweise korrekt sind (UUID oder Name)
Stellen Sie sicher, dass die Anwendung mindestens Lesezugriff auf den Tresor hat
Prüfen Sie, ob der Eintrag existiert und ein Eintrag des Typs Credential oder Secret ist
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?