BlogsMilvusRole-Based Access Control (RBAC)

Role-Based Access Control (RBAC)

Role-Based Access Control (RBAC)

4
posts
2022–2025

Milvus's Role-Based Access Control (RBAC) system provides granular control over data access. This post details strategies for implementing multi-tenancy in RAG systems using Milvus, focusing on database-level, collection-level, and partition-level approaches. It highlights database-level multi-tenancy as often suitable for enterprise RAG knowledge bases serving distinct business units, offering strong logical isolation. For enhanced security, it introduces physical resource isolation by mapping. Milvus 2.1 introduces user authentication and TLS connection for enhanced data security. User authentication controls access via username and password, with credentials stored in etcd and encrypted using bcrypt. The Milvus proxy handles authentication requests, caching credentials locally for efficiency. TLS connection encrypts data communication using certificates, ensuring secure data transfer.

2025

Milvus RBAC Explained: Secure Your Vector Database with Role-Based Access Control

12/31/2025

This post introduces and explains Milvus's Role-Based Access Control (RBAC) system, detailing its components (Users, Roles, Privileges, Privilege Groups, Resources), how it works, and how to configure it. It covers enabling authorization, initializing users and roles, granting privileges at instance, database, and collection levels, and inspecting/revoking access. An example demonstrates designing RBAC for a RAG system with distinct roles for administration, read-only search, and read-write ingestion.

2024

Designing Multi-Tenancy RAG with Milvus: Best Practices for Scalable Enterprise Knowledge Bases

12/4/2024

This post details how to design multi-tenancy strategies for RAG systems using Milvus, specifically focusing on database-level, collection-level, and partition-level approaches. It emphasizes database-level multi-tenancy for enterprise RAG knowledge bases and introduces physical resource isolation using Resource Groups to map logical components (databases, collections) to physical resources for enhanced security and performance guarantees.

2023

Milvus 2.2.10 & 2.2.11: Minor Updates for Enhanced System Stability and User Experience

7/6/2023

Milvus 2.2.10 adds role-based access control (RBAC) for the FlushAll and Database APIs.

2022

How Does the Milvus Vector Database Ensure Data Security?

9/5/2022

This post details the implementation of user authentication and TLS connection in Milvus 2.1. User authentication involves a workflow where the Milvus proxy verifies credentials (username and password) against stored information in etcd, using bcrypt for password encryption. Credentials are cached locally in the proxy for performance. The post outlines how to enable authentication in `milvus.yaml`, the default root user credentials, and how to create and reset user credentials using the SDK. TLS connection is enabled by configuring server and client certificates (`server.pem`, `server.key`, `ca.pem`) in `milvus.yaml` and providing client-side certificate paths during connection.