vault-plugin-secrets-qdrant เป็นปลั๊กอิน Hashicorp Vault ที่ขยาย Vault ด้วยเครื่องยนต์ความลับสำหรับ QDRANT สำหรับ JWT Auth
มันมีความสามารถในการสร้างข้อมูลรับรอง QDRANT/JWT โทเค็นที่มีการควบคุมการเข้าถึงแบบละเอียด
บทบาทจะถูกเก็บไว้ในห้องนิรภัยและสามารถเพิกถอนได้ตลอดเวลา
โทเค็น JWT ที่สร้างขึ้นนั้นมีชั่วคราวและไร้สัญชาติ พวกเขาจะไม่ถูกเก็บไว้ในห้องนิรภัย แต่สามารถผูกพันกับบทบาทและไม่ถูกต้องเมื่อมีการลบบทบาท
ปลั๊กอินยังสามารถสร้าง/อัปเดต/ลบข้อมูลบทบาทไปยังเซิร์ฟเวอร์ qdrant
เครื่องยนต์ Qdrant Secrets สร้างข้อมูลรับรอง JWT แบบไดนามิก
ปลั๊กอินรองรับทรัพยากรหลายอย่างรวมถึง: config, บทบาทและ jwt
โปรดอ่านเอกสาร Qdrant อย่างเป็นทางการเพื่อทำความเข้าใจแนวคิดของโทเค็นและการเข้าถึงรวมถึงกระบวนการตรวจสอบสิทธิ์
สามารถกำหนดมือที่เต็มไปด้วยทรัพยากรภายในปลั๊กอิน Vault:
ทรัพยากรของประเภท config แสดงการกำหนดค่าอินสแตนซ์ฐานข้อมูลสำหรับความลับ
| เส้นทางเอนทิตี | คำอธิบาย | การปฏิบัติการ |
|---|---|---|
| qdrant/config | รายการอินสแตนซ์ | รายการ |
| qdrant/config/ | จัดการการกำหนดค่าอินสแตนซ์ | เขียนอ่านลบ |
ทรัพยากรของประเภท role แสดงการกำหนดค่าบทบาทฐานข้อมูลสำหรับความลับ
| เส้นทางเอนทิตี | คำอธิบาย | การปฏิบัติการ |
|---|---|---|
| QDRANT/ROLE/ | รายการบทบาทสำหรับ | รายการ |
| QDRANT/ROLE // | จัดการการกำหนดค่าบทบาทอินสแตนซ์ | เขียนอ่านลบ |
ทรัพยากรของ Type jwt แสดงโทเค็นฐานข้อมูล JWT
| เส้นทางเอนทิตี | คำอธิบาย | การปฏิบัติการ |
|---|---|---|
| qdrant/jwt // | สร้างโทเค็นสำหรับบทบาท | อ่าน |
มีอาร์กิวเมนต์ที่สามารถส่งผ่านไปยังเส้นทางสำหรับ config/ (อินสแตนซ์ฐานข้อมูล), role/
| สำคัญ | พิมพ์ | ที่จำเป็น | ตัวอย่าง | คำอธิบาย |
|---|---|---|---|---|
| url | บูล | จริง | Qdrant: 6334 | ที่อยู่ URL ของอินสแตนซ์ qdrant (โปรโตคอล GRPC) |
| sig_key | สาย | จริง | คีย์ลับ | คีย์ลับเพื่อลงชื่อและตรวจสอบ (เซิร์ฟเวอร์ API-KEY) |
| sig_alg | สาย | จริง | HS256 | อัลกอริทึมในการถอดรหัสโทเค็น |
| jwt_ttl | สาย | จริง | 300s | TTL เริ่มต้นเช่นโทเค็น (สามารถเขียนทับในบทบาทได้) |
| TLS | บูล | เท็จ | จริง | หากตั้งค่าเป็นจริง - Vault จะเปิดการเชื่อมต่อ TLS GRPC กับ QDrant |
| แคลิฟอร์เนีย | สาย | เท็จ | Eyjhbgc ... | Base64 เข้ารหัส CA CAS CAT สำหรับ TLS |
หมายเหตุ: เมื่อคุณลบการกำหนดค่าอินสแตนซ์บทบาทที่เกี่ยวข้องทั้งหมดจะถูกลบโดยอัตโนมัติจากอินสแตนซ์ QDRANT
| สำคัญ | พิมพ์ | ที่จำเป็น | ตัวอย่าง | คำอธิบาย |
|---|---|---|---|---|
| jwt_ttl | สาย | เท็จ | 300s | TTL เช่นโทเค็น |
| การเรียกร้อง | JSON | จริง | แอตทริบิวต์การเข้าถึงและตัวกรอง (ดู QDRANT DOC) |
หมายเหตุ: บทบาทของ Vault Sync กับ QDDRANT อินสแตนซ์คอลเลกชัน sys_roles โดยอัตโนมัติ
ตัวอย่าง claims
{
"claims":{
"value_exists": {
"collection": "sys_roles",
"matches": [
{ "key": "role", "value": "write2" }
]
},
"access": [
{
"collection": "my_collection",
"access": "r"
}
]
}
}
ในการใช้ปลั๊กอินนี้คุณต้องลงทะเบียนด้วย Vault กำหนดค่าเซิร์ฟเวอร์ Vault ของคุณให้มีการกำหนดค่า plugins_directory ที่ถูกต้อง
หมายเหตุ: คุณอาจต้องการตั้ง api_addr เป็นที่อยู่การฟังของคุณและ disable_mlock เป็น true ในการกำหนดค่า vault เพื่อให้สามารถใช้ปลั๊กอินได้
ดาวน์โหลดรีลีสที่เสถียรล่าสุดจากหน้ารุ่นและใส่ลงใน plugins_directory ของเซิร์ฟเวอร์ Vault ของคุณ
ในการใช้ปลั๊กอิน 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