vault-plugin-secrets-qdrant ist ein Hashicorp-Trag-Plugin, das Vault mit einer Secrets-Engine für QDrant für JWT Auth.
Es ist in der Lage, QDrant -Anmeldeinformationen/JWT -signierte Token mit granularer Zugangskontrolle zu generieren.
Die Rollen werden in Tresor gespeichert und können jederzeit widerrufen werden.
Die erzeugten JWT -Token sind kurzlebig und staatenlos; Sie werden nicht in einem Gewölbe gespeichert, können jedoch an Rollen gebunden und ungültig gemacht werden, wenn die Rolle gelöscht wird.
Das Plugin kann auch Rollendaten auf einen QDrant -Server erstellen/aktualisieren/löschen
Der Motor Qdrant Secrets erzeugt jWT -Anmeldeinformationen dynamisch.
Das Plugin unterstützt mehrere Ressourcen, darunter: Konfiguration, Rolle und JWT.
Bitte lesen Sie die offizielle QDrant -Dokumentation, um die Konzepte von Token und Zugriff sowie den Authentifizierungsprozess zu verstehen.
Eine Hand voller Ressourcen kann im Tresor -Plugin definiert werden:
Die Ressource der Type config repräsentiert Datenbankinstanzkonfiguration für Geheimnisse.
| Entitätsweg | Beschreibung | Operationen |
|---|---|---|
| qdrant/config | Instanzen auflisten | Liste |
| qdrant/config/ | Instanzkonfiguration verwalten | schreiben, lesen, löschen |
Die Ressource der Typ role repräsentiert die Konfiguration der Datenbankrollen für Geheimnisse.
| Entitätsweg | Beschreibung | Operationen |
|---|---|---|
| QDRANT/ROLLE/ | Listen Sie Rollen für | Liste |
| qdrant/rolle // | Instanzrollenkonfiguration verwalten | schreiben, lesen, löschen |
Die Ressource vom Typ jwt repräsentiert die Datenbank JWT -Token.
| Entitätsweg | Beschreibung | Operationen |
|---|---|---|
| qdrant/jwt // | Für die Rolle Token erzeugen | lesen |
Es gibt Argumente, die an die Pfade für config/ (Datenbankinstanz) übergeben werden können role/
| Schlüssel | Typ | Erforderlich | Beispiel | Beschreibung |
|---|---|---|---|---|
| URL | bool | WAHR | QDRANT: 6334 | URL -Adresse der QDrant -Instanz (GRPC -Protokoll) |
| sig_key | Saite | WAHR | Geheimschlüssel | Geheimnisschlüssel zum Signieren und Überprüfen (API-Key Server) -Tokens. |
| sig_alg | Saite | WAHR | HS256 | Algorithmus zum Dekodieren der Token. |
| jwt_ttl | Saite | WAHR | 300s | Standard -TTL -Token (kann in Rollen überschrieben werden) |
| tls | bool | FALSCH | WAHR | Wenn auf true festgelegt - öffnet Vault die TLS -GRPC -Verbindung zu QDrant |
| ca. | Saite | FALSCH | eyjhbgc ... | Base64 Coded Custom CA CERT für TLS |
Hinweis: Wenn Sie eine Instanzkonfiguration löschen, werden alle zugeordneten Rollen automatisch aus der QDRant -Instanz gelöscht.
| Schlüssel | Typ | Erforderlich | Beispiel | Beschreibung |
|---|---|---|---|---|
| jwt_ttl | Saite | FALSCH | 300s | TTL zum Beispiel Token |
| Ansprüche | JSON | WAHR | Zugriffsattribute und Filterattribute (siehe QDRANT DOC) |
HINWEIS: Tresorrollen synchronisieren mit QDrant Instance Collection sys_roles automatisch
claims Beispiel
{
"claims":{
"value_exists": {
"collection": "sys_roles",
"matches": [
{ "key": "role", "value": "write2" }
]
},
"access": [
{
"collection": "my_collection",
"access": "r"
}
]
}
}
Um dieses Plugin zu verwenden, müssen Sie es mit Vault registrieren. Konfigurieren Sie Ihren Tresorserver so, dass sie eine gültige plugins_directory -Konfiguration haben.
HINWEIS: Möglicherweise möchten Sie api_addr auf Ihre Höradresse einstellen und in der vault auf true auf true disable_mlock , um das Plugin zu verwenden.
Laden Sie die neueste stabile Version von der Release -Seite herunter und geben Sie sie in den plugins_directory Ihres Tresorservers ein.
Für die Verwendung eines Gewölfs -Plugins benötigen Sie die SHA256 -Summe des Plugins.
Beispiel, wie Sie das Plugin registrieren:
SHA256SUM=$(sha256sum vault-plugin-secrets-qdrant | cut -d' ' -f1)
vault plugin register -sha256 ${SHA256SUM} secret vault-plugin-secrets-qdrant
vault secrets enable -path=qdrant vault-plugin-secrets-qdrant Hinweis: Sie können das -tls-skip-verify Flag verwenden, wenn Sie ein selbstsigniertes Zertifikat verwenden.
$ make $ make setup-env$ make tests$ make e2e$ make teardown-env$ make cleanCodebeiträge sind sehr willkommen .
git checkout -b AmazingFeature )git push origin AmazingFeature )main abzielt.