Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. IAM
  3. Ladon

Ladon

Apache-2.0Gov1.3.0

A Go library for fine-grained, policy-based access control inspired by AWS IAM, designed for microservices and IoT.

Visit WebsiteGitHubGitHub
2.5k stars224 forks0 contributors

What is Ladon?

ORY Ladon is a Go library for implementing fine-grained, policy-based access control systems. It solves authorization challenges in distributed environments like microservices and IoT by allowing developers to define who can perform what actions on which resources under specific conditions. Inspired by AWS IAM policies, it provides a flexible alternative to traditional RBAC or ACL models.

Target Audience

Go developers building secure, distributed applications that require complex authorization logic, such as microservices architectures, multi-tenant SaaS platforms, or IoT ecosystems.

Value Proposition

Developers choose Ladon for its AWS IAM-like flexibility, fine-grained policy model, and extensibility through custom conditions and storage adapters, all while being a lightweight, protocol-agnostic library written in Go.

Overview

A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go.

Use Cases

Best For

  • Implementing authorization in microservices architectures
  • Building multi-tenant applications with complex access rules
  • Adding fine-grained, context-aware access control to IoT systems
  • Creating custom IAM-like systems for on-premises or cloud-native apps
  • Replacing or augmenting traditional RBAC/ACL with policy-based models
  • Developing security-first Go applications that need audit logging and metrics for access decisions

Not Ideal For

  • Projects requiring out-of-the-box HTTP APIs or RESTful endpoints for authorization without implementing custom servers
  • Teams without Go programming expertise, as Ladon requires custom code for conditions, storage adapters, and integration
  • Applications with simple, static access control needs where traditional RBAC or ACL solutions would suffice without policy overhead
  • High-throughput systems relying heavily on SQL databases for policy storage, due to performance degradation with regular expression matching

Pros & Cons

Pros

Fine-Grained Policy Model

Inspired by AWS IAM, it allows defining complex rules with subjects, actions, resources, effects, and conditions for precise access control in distributed environments like microservices.

Extensible Conditional Logic

Includes built-in conditions like CIDR and string matching, plus support for custom conditions via Go programming, enabling context-aware authorization decisions.

Built-In Audit and Metrics

Provides audit logging and a metrics interface for tracking authorization grants, denials, and errors, essential for security monitoring and compliance.

Protocol and Storage Agnostic

Does not impose a specific protocol or storage, giving developers full control over implementation, though it requires custom work for persistence and APIs.

Cons

No Built-In Server

Ladon is a library only; developers must implement their own HTTP or other protocol layers for API access, increasing integration effort and time.

SQL Performance Limitations

The README admits regular expressions in policies cause O(n) complexity and poor performance with SQL adapters, with about a 1000:1 slowdown compared to in-memory storage.

Limited Official Persistence

Only ships with an in-memory manager; persistent storage relies on community-supported adapters for databases like CockroachDB, which may lack maturity or comprehensive support.

Open Source Alternative To

Ladon is an open-source alternative to the following products:

AWS IAM
AWS IAM

AWS Identity and Access Management (IAM) enables you to manage access to AWS services and resources securely, allowing you to create and manage AWS users and groups and use permissions to allow and deny their access to AWS resources.

Frequently Asked Questions

Quick Stats

Stars2,457
Forks224
Contributors0
Open Issues0
Last commit6 months ago
CreatedSince 2015

Tags

#iot#rbac#acl#authorization#security#iam#access-control#microservices#go

Built With

G
Go

Links & Resources

Website

Included in

IAM2.2k
Auto-fetched 1 day ago

Related Projects

CasbinCasbin

Apache Casbin: an authorization library that supports access control models like ACL, RBAC, ABAC.

Stars20,028
Forks1,731
Last commit4 days ago
Open Policy AgentOpen Policy Agent

Open Policy Agent (OPA) is an open source, general-purpose policy engine.

Stars11,629
Forks1,554
Last commit2 days ago
ketoketo

The most scalable and customizable permission server on the market. Fix your slow or broken permission system with Google's proven "Zanzibar" approach. Supports ACL, RBAC, and more. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.

Stars5,318
Forks381
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub