llm-config-rbac 0.5.0

Role-Based Access Control (RBAC) system with fine-grained permissions, namespace isolation, and policy enforcement
Documentation

llm-config-rbac

Crates.io Documentation License

Role-Based Access Control (RBAC) system with fine-grained permissions, namespace isolation, and policy enforcement for LLM Config Manager.

Features

  • Fine-Grained Permissions: Read, write, delete, admin permissions per resource
  • Namespace Isolation: Scope permissions to specific configuration namespaces
  • Role Management: Define custom roles with specific permission sets
  • Policy Enforcement: Automatic policy checks before operations
  • User-Role Assignment: Flexible user-to-role mappings
  • Audit Trail: Track all authorization decisions

Usage

[dependencies]
llm-config-rbac = "0.5.0"
use llm_config_rbac::{RBACManager, Permission, Role};

// Create RBAC manager
let rbac = RBACManager::new();

// Define roles
rbac.create_role("admin", vec![
    Permission::Read,
    Permission::Write,
    Permission::Delete,
    Permission::Admin,
]);

// Assign role to user
rbac.assign_role("user123", "admin", Some("production"))?;

// Check permissions
if rbac.can_write("user123", "app.database.url", "production") {
    // User has write permission
}

License

Licensed under the Apache License, Version 2.0.