vault-plugin-secrets-qdrantは、JWT AUTHのQDRANT用のシークレットエンジンでVaultを拡張するHashicorp Vaultプラグインです。
QDRANT資格情報/JWT署名されたトークンを粒状アクセス制御で生成することができます。
役割は金庫に保存され、いつでも取り消すことができます。
生成されたJWTトークンは一時的で無国籍です。それらは金庫に保管されていませんが、役割に拘束され、役割が削除されたときに無効にすることができます。
プラグインは、QDRANTサーバーにロールデータを作成/更新/削除することもできます
Qdrant SECRETSエンジンは、JWT資格情報を動的に生成します。
プラグインは、構成、役割、JWTを含むいくつかのリソースをサポートしています。
公式のQDRANTドキュメントをお読みください。トークンとアクセスの概念、および認証プロセスを理解してください。
リソースでいっぱいの手は、Vaultプラグイン内で定義できます。
タイプconfigのリソースは、シークレットのデータベースインスタンス構成を表します。
| エンティティパス | 説明 | 操作 |
|---|---|---|
| qdrant/config | リストインスタンスをリストします | リスト |
| qdrant/config/ | インスタンス構成を管理します | 書き込み、読み取り、削除 |
タイプのroleのリソースは、秘密のデータベースロール構成を表します。
| エンティティパス | 説明 | 操作 |
|---|---|---|
| qdrant/role/ | の役割をリストします | リスト |
| qdrant/role // | インスタンスロール設定を管理します | 書き込み、読み取り、削除 |
タイプjwtのリソースは、データベースJWTトークンを表します。
| エンティティパス | 説明 | 操作 |
|---|---|---|
| qdrant/jwt // | 役割のトークンを生成します | 読む |
config/ (データベースインスタンス)、 role/のパスに渡すことができる引数があります。
| 鍵 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| URL | ブール | 真実 | QDRANT:6334 | QDRANTインスタンスのURLアドレス(GRPCプロトコル) |
| sig_key | 弦 | 真実 | Secret-Key | 署名して検証するためのシークレットキー(Api-Key Server)トークン。 |
| sig_alg | 弦 | 真実 | HS256 | トークンをデコードするアルゴリズム。 |
| jwt_ttl | 弦 | 真実 | 300S | たとえばトークンなどのデフォルトのTTL(役割で上書きすることができます) |
| TLS | ブール | 間違い | 真実 | Trueに設定すると、VaultはQDRANTへのTLS GRPC接続を開きます |
| ca | 弦 | 間違い | eyjhbgc ... | TLS用のBase64エンコードカスタムCA CERT |
注:インスタンス構成を削除すると、関連するすべてのロールがQDRANTインスタンスから自動的に削除されます。
| 鍵 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| jwt_ttl | 弦 | 間違い | 300S | たとえば、TTLトークン |
| クレーム | JSON | 真実 | アクセスおよびフィルターの属性(QDRANTドキュメントを参照) |
注:QDRANTインスタンスコレクションsys_rolesと自動的にVAULTの役割同期
claims例
{
"claims":{
"value_exists": {
"collection": "sys_roles",
"matches": [
{ "key": "role", "value": "write2" }
]
},
"access": [
{
"collection": "my_collection",
"access": "r"
}
]
}
}
このプラグインを使用するには、Vaultに登録する必要があります。 Vault Serverを構成して、有効なplugins_directory構成を設定します。
注: api_addrリスニングアドレスに設定し、 vault構成でtrueにdisable_mlockをdisable_mlockにプラグインを使用できる場合があります。
リリースページから最新の安定したリリースをダウンロードして、Vaultサーバーのplugins_directoryに入れます。
Vaultプラグインを使用するには、プラグインのSHA256合計が必要です。
プラグインの登録方法の例:
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注:自己署名証明書を使用している場合は-tls-skip-verifyフラグを使用できます。
$ make $ make setup-env$ make tests$ make e2e$ make teardown-env$ make cleanコードの貢献は大歓迎です。
git checkout -b AmazingFeature )git push origin AmazingFeature )mainブランチをターゲットとするプルリクエストを開きます。