vault-plugin-secrets-qdrant 는 JWT Auth 용 Qdrant 용 비밀 엔진으로 Vault를 확장하는 Hashicorp Vault 플러그인입니다.
QDRANT 자격 증명/JWT 서명 토큰을 세분화 액세스 제어로 생성 할 수 있습니다.
역할은 금고에 저장되며 언제든지 취소 할 수 있습니다.
생성 된 JWT 토큰은 임시 및 상태가 없다. 금고에 저장되지는 않지만 역할에 묶여 역할을 삭제할 때 무효화 될 수 있습니다.
플러그인은 QDRANT 서버에 역할 데이터를 작성/업데이트/삭제할 수 있습니다.
Qdrant 비밀 엔진은 JWT 자격 증명을 동적으로 생성합니다.
플러그인은 구성, 역할 및 JWT를 포함한 여러 리소스를 지원합니다.
공식 Qdrant 문서를 읽고 토큰의 개념과 액세스 및 인증 프로세스를 이해하십시오.
자원으로 가득 찬 손은 금고 플러그인 내에서 정의 될 수 있습니다.
유형 config 리소스는 비밀에 대한 데이터베이스 인스턴스 구성을 나타냅니다.
| 엔티티 경로 | 설명 | 운영 |
|---|---|---|
| qdrant/config | 인스턴스를 나열합니다 | 목록 |
| qdrant/config/ | 인스턴스 구성을 관리합니다 | 쓰기, 읽기, 삭제 |
유형 role 의 리소스는 비밀에 대한 데이터베이스 역할 구성을 나타냅니다.
| 엔티티 경로 | 설명 | 운영 |
|---|---|---|
| qdrant/역할/ | 목록 역할 | 목록 |
| qdrant/역할 // | 인스턴스 역할 구성을 관리합니다 | 쓰기, 읽기, 삭제 |
유형 jwt 의 리소스는 데이터베이스 JWT 토큰을 나타냅니다.
| 엔티티 경로 | 설명 | 운영 |
|---|---|---|
| qdrant/jwt // | 역할을위한 토큰을 생성합니다 | 읽다 |
config/ (데이터베이스 인스턴스), role/ 경로로 전달할 수있는 인수가 있습니다.
| 열쇠 | 유형 | 필수의 | 예 | 설명 |
|---|---|---|---|---|
| URL | 부 | 진실 | Qdrant : 6334 | QDRANT 인스턴스의 URL 주소 (GRPC 프로토콜) |
| SIG_KEY | 끈 | 진실 | 비밀 키 | 비밀 키 (API-Key Server) 토큰에 서명하고 확인하는 비밀 키. |
| SIG_ALG | 끈 | 진실 | HS256 | 토큰을 해독하는 알고리즘. |
| JWT_TTL | 끈 | 진실 | 300 년대 | 기본 TTL 예를 들어 토큰 (역할에서 덮어 쓸 수 있음) |
| TLS | 부 | 거짓 | 진실 | true로 설정된 경우 -Vault가 qdrant에 대한 TLS GRPC 연결을 엽니 다. |
| CA | 끈 | 거짓 | eyjhbgc ... | Base64 TLS 용 인코딩 된 사용자 정의 CA 인증 |
참고 : 인스턴스 구성을 삭제하면 qdrant 인스턴스에서 모든 관련 역할이 자동으로 삭제됩니다.
| 열쇠 | 유형 | 필수의 | 예 | 설명 |
|---|---|---|---|---|
| JWT_TTL | 끈 | 거짓 | 300 년대 | 예를 들어 TTL 토큰 |
| 주장 | JSON | 진실 | 액세스 및 필터 속성 (Qdrant Doc 참조) |
참고 : Vault RECLE QDRANT 인스턴스 컬렉션과 동기화 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 청취 주소로 설정하고 플러그인을 사용할 수 있도록 vault 구성에서 true 로 disable_mlock 수 있습니다.
릴리스 페이지에서 최신 안정적인 릴리스를 다운로드하여 Vault 서버의 plugins_directory 에 넣으십시오.
금고 플러그인을 사용하려면 플러그인의 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 브랜치를 타겟팅하는 풀 요청을 엽니 다.