For shared access policies, the strongest matches are nestjsx/nest-access-control (This is a framework for implementing role-based and attribute-based), casbin/casbin (Casbin is a powerful authorization library that provides a) and kanidm/kanidm (Kanidm is a centralized identity and access management server). hsluoyz/casbin and open-policy-agent/opa round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Compare the top open-source access control management libraries. Hand-picked by activity and features to help you find the best fit for your project.
NestJS Access Control is a role-based and attribute-based authorization framework designed for the NestJS ecosystem. It provides a declarative system for securing application routes and resources, allowing developers to enforce granular access policies through metadata-driven decorators. The framework distinguishes itself by supporting hierarchical role inheritance, which enables the resolution of complex permission sets by traversing parent and child role relationships. It also facilitates dynamic authorization management, allowing security rules to be loaded asynchronously from external dat
This is a framework for implementing role-based and attribute-based access control within NestJS applications, providing the granular policy enforcement and decorator-driven authorization you need.
Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse application environments. It decouples authorization logic from application code by using a configuration-driven approach, allowing developers to define access rules and evaluation logic independently. The system supports a wide range of access control models, including role-based, attribute-based, and relationship-based patterns, which are evaluated at runtime to determine if a subject is permitted to perform an action on a resource. The project distinguishes itself through a hig
Casbin is a powerful authorization library that provides a centralized, model-based engine for enforcing complex access control policies like RBAC and ABAC across your applications. While it functions as a library you integrate into your services rather than a standalone network-accessible server, it fully delivers the requested granular policy enforcement capabilities.
Kanidm is a centralized identity management server designed to handle authentication, authorization, and directory services across distributed infrastructure. It provides a comprehensive framework for managing human and service accounts, utilizing a schema-driven database to store identity records, group memberships, and system attributes. The platform supports a wide range of authentication methods, including passkeys, passwords, and standard protocols like OAuth2, OIDC, LDAP, and RADIUS. The system distinguishes itself through a granular access control engine that enforces security policies
Kanidm is a centralized identity and access management server that provides a robust policy engine for granular, attribute-based authorization across distributed services, directly addressing your requirements for centralized control and multi-tenant-ready identity management.
Casbin is an authorization library designed to manage application access control and permissions through a configurable model-based engine. It serves as a centralized system for verifying whether a user has permission to perform specific actions on a resource. The engine supports multiple access control models, including Role-Based Access Control, Attribute-Based Access Control, and Access Control Lists. It allows for the definition of role hierarchies and the evaluation of user, resource, and environment attributes to make access decisions. The library decouples authorization logic from dat
Casbin is a powerful, centralized authorization engine that supports both role-based and attribute-based access control, providing the granular policy management required for complex application security.
This project is a unified, cloud-native policy engine designed to decouple authorization and security logic from application codebases. It functions as a centralized authorization service that evaluates structured input data against declarative rules, enabling consistent policy enforcement across microservices, infrastructure, and continuous integration pipelines. The engine utilizes a specialized logic programming language to express complex constraints, which are compiled into an optimized intermediate representation for high-performance evaluation. By supporting both sidecar-based deployme
This is a centralized, cloud-native policy engine that provides a decoupled, API-driven framework for enforcing complex role-based and attribute-based access control policies across distributed services.
SpringBoot-Shiro-Vue is a permission management framework and role-based access control system. It provides a backend implemented with Spring Boot and a frontend built with Vue.js to manage user roles and map them to specific interface and API access rights. The project utilizes a token-based authentication system to verify user identities and enable stateless communication between the frontend and backend. It implements granular UI permission control to show or hide specific buttons and interface elements based on the current user's assigned access rights. The framework covers API security
This is a role-based access control system that provides a centralized framework for managing user permissions and API access rights within a Spring Boot and Vue.js stack.
Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec
Cerbos is a centralized, policy-as-code authorization engine that provides granular role-based and attribute-based access control through a decoupled API, perfectly matching the requirements for a cross-service access management system.
Ory Keto is an open-source authorization server that implements Google Zanzibar’s relationship-based access control model. It stores every access relationship as a tuple in a SQL database and exposes a declarative TypeScript-like namespace language for defining object types, relations, and permissions. The service provides bidirectional permission resolution, configurable consistency levels for checks, and dual gRPC and REST APIs for broad integration. Keto extends the Zanzibar model with edge enforcement of access policies, structured compliance auditing of permission decisions, and infrastr
Ory Keto is a dedicated, API-driven authorization server that provides a centralized policy engine capable of handling complex, fine-grained access control models like RBAC and ABAC through its relationship-based architecture.
Keycloak is an open-source identity and access management server that provides a centralized platform for user authentication, authorization, and identity federation. It functions as a standards-compliant identity provider, utilizing a centralized engine to validate credentials and issue cryptographically signed tokens based on industry-standard protocols like OpenID Connect and SAML. This enables organizations to secure diverse applications and services through a unified authentication layer. The platform distinguishes itself through its cloud-native orchestration and high-availability capab
Keycloak is a comprehensive identity and access management server that provides a centralized policy engine for role-based access control and multi-tenant support, making it a flagship solution for managing granular permissions across distributed services.
Cloud-native authorization for modern applications and APIs
Topaz is a cloud-native authorization engine that provides a centralized policy system supporting both role-based and attribute-based access control via a dedicated API, making it a comprehensive solution for managing granular permissions across services.
Warrant is a centralized authorization service that provides a policy engine supporting RBAC, ABAC, and relationship-based access control via an API, making it a comprehensive solution for managing granular permissions across services.
Authentik is a centralized identity and access management platform designed to serve as a unified authentication authority. It enables enterprise single sign-on across diverse applications and services, providing a cloud-native identity provider that manages user sessions and security protocols from a single location. The platform distinguishes itself through a policy-driven flow engine and a visual orchestration interface. This allows administrators to design complex, custom authentication workflows by chaining modular verification stages and conditional logic. These workflows can be further
Authentik is a centralized identity and access management platform that provides robust authentication and policy-driven authorization flows, though it focuses more on identity provider services than on granular resource-level access control.
This project is a cloud-native identity and access management platform designed to centralize authentication, authorization, and identity lifecycle management. It functions as a standards-compliant OpenID Connect authorization server, providing secure session management and token issuance for web, mobile, and device-based applications. The platform is built to handle complex identity requirements through stateless token authentication and support for modern passwordless methods, including biometrics and hardware keys. What distinguishes this platform is its native support for multi-tenant env
Zitadel is a comprehensive identity and access management platform that provides centralized authorization, role-based access control, and multi-tenant support, making it a robust solution for managing granular permissions across services.
Authelia is a centralized identity and access management server designed to secure web applications through unified authentication and authorization. It functions as an identity authority that enables single sign-on across diverse platforms, allowing users to access multiple services with a single set of credentials. By acting as a standards-compliant provider, it facilitates secure identity propagation and token issuance for client applications. The platform distinguishes itself through its ability to integrate directly with web gateways as a reverse proxy authentication middleware, intercep
Authelia functions as a centralized identity and access management server that provides authentication and authorization services, though it is primarily focused on SSO and gateway-level access rather than the granular, policy-as-code resource authorization typically found in dedicated policy engines.
Opal is a policy distribution engine and real-time authorization data synchronizer. It serves as a management plane for deploying and monitoring distributed policy engines, such as OPA and Cedar, across microservices architectures. The project centralizes the administration of policies and data while deploying decentralized decision points. The system distinguishes itself by decoupling policy code, managed via version control, from authorization data retrieved from external databases and APIs. It uses a pub/sub-based state distribution model to push immediate updates to agents via WebSockets
Opal is a specialized management plane for distributing policies and data to decentralized authorization engines, providing the centralized control and real-time synchronization needed for granular access management across microservices.
Authorizer is an open-source identity provider that functions as a centralized authentication and authorization platform. It manages user identities and session lifecycles by implementing standard OpenID Connect protocols, allowing for secure verification across web, mobile, and backend applications. The service is designed as a containerized microservice that provides a unified interface for administrative and authentication operations. The platform distinguishes itself through a multi-tenant architecture that isolates authentication rules and user data across different business domains. It
This is an authentication and authorization service that provides built-in role-based access control and user management, though it focuses more on identity management and user authentication than on a decoupled, policy-as-code engine for complex resource authorization.
| Repositorio | Estrellas | Lenguaje | Licencia | Último push |
|---|---|---|---|---|
| nestjsx/nest-access-control | 1.2K | TypeScript | MIT | |
| casbin/casbin | 19.8K | Go | apache-2.0 | |
| kanidm/kanidm | 4.6K | Rust | mpl-2.0 | |
| hsluoyz/casbin | 20.2K | Go | Apache-2.0 | |
| open-policy-agent/opa | 11.9K | Go | Apache-2.0 | |
| heeexy/springboot-shiro-vue | 4.7K | Java | MIT | |
| cerbos/cerbos | 4.5K | Go | Apache-2.0 | |
| ory/keto | 5.3K | Go | apache-2.0 | |
| keycloak/keycloak | 34.9K | Java | Apache-2.0 | |
| aserto-dev/topaz | 1.3K | Go | Apache-2.0 |