ORY Keto is a permission server that implements best practice access control mechanisms. If you
came looking for the answer to the question:
- is a certain user allowed to modify that blog article?
- is this service allowed to print a document?
- is a member of the ACME organisation allowed to modify data in one of their tenants?
- is this process allowed to execute the worker when coming from IP 10.0.0.2 between 4pm and 5pm on a Monday?
- ...
Introduction
ORY Keto is a permission server that implements best practice access control mechanisms:
- Available today:
- ORY-flavored Access Control Policies with exact, glob, and regexp matching strategies
- Available soon:
- Access Control Lists
- Role Based Access Control
- Role Based Access Control with Context (Google/Kubernetes-flavored)
- Amazon Web Services Identity & Access Management Policies (AWS IAM Policies)
Each mechanism is powered by a decision engine implemented on top of the
Open Policy Agent and provides well-defined management and authorization endpoints.
Who's using it?
The ORY community stands on the shoulders of individuals, companies, and
maintainers. We thank everyone involved - from submitting bug reports and
feature requests, to contributing patches, to sponsoring our work. Our community
is 1000+ strong and growing rapidly. The ORY stack protects 1.200.000.000+ API
requests every month with over 15.000+ active service nodes. We would have never
been able to achieve this without each and everyone of you!
The following list represents companies that have accompanied us along the way
and that have made outstanding contributions to our ecosystem. If you think
that your company deserves a spot here, reach out to
hi@ory.sh now!
Please consider giving back by becoming a sponsor of our open source work on
Patreon or
Open Collective.
We also want to thank all individual contributors
as well as all of our backers
and past & current supporters (in alphabetical order) on
Patreon: Alexander Alimovs, Billy, Chancy
Kennedy, Drozzy, Edwin Trejos, Howard Edidin, Ken Adler Oz Haven, Stefan Hans,
TheCrealm.
* Uses one of ORY's major projects in production.
Installation
Head over to the documentation to learn about ways of installing ORY Keto.
Ecosystem
We build Ory on several guiding principles when it comes to our architecture design:
- Minimal dependencies
- Runs everywhere
- Scales without effort
- Minimize room for human and network errors
ORY's architecture designed to run best on a Container Orchestration Systems such as Kubernetes, CloudFoundry, OpenShift, and similar projects.
Binaries are small (5-15MB) and available for all popular processor types (ARM, AMD64, i386) and operating
systems (FreeBSD, Linux, macOS, Windows) without system dependencies (Java, Node, Ruby, libxml, ...).
ORY Kratos: Identity and User Infrastructure and Management
ORY Kratos is an API-first Identity and User
Management system that is built according to
cloud architecture best practices.
It implements core use cases that almost every software application needs to
deal with: Self-service Login and Registration, Multi-Factor Authentication
(MFA/2FA), Account Recovery and Verification, Profile and Account Management.
ORY Hydra: OAuth2 & OpenID Connect Server
ORY Hydra is an OpenID Certified™ OAuth2 and OpenID Connect
Provider can connect to any existing identity database (LDAP, AD, KeyCloak, PHP+MySQL, ...)
and user interface.
ORY Oathkeeper: Identity & Access Proxy
ORY Oathkeeper is a BeyondCorp/Zero Trust
Identity & Access Proxy (IAP) with configurable authentication, authorization,
and request mutation rules for your web services: Authenticate JWT, Access Tokens,
API Keys, mTLS; Check if the contained subject is allowed to perform the request;
Encode resulting content into custom headers (X-User-ID
), JSON Web Tokens
and more!
ORY Keto: Access Control Policies as a Server
ORY Keto is a policy decision point. It uses a
set of access control policies, similar to AWS IAM Policies, in order to
determine whether a subject (user, application, service, car, ...) is authorized
to perform a certain action on a resource.
Examples
The ory/examples repository contains numerous examples of setting up this project and combining it with other services from the ORY Ecosystem.
Security
Disclosing vulnerabilities
If you think you found a security vulnerability, please refrain from posting it publicly on the forums, the chat, or GitHub
and send us an email to hi@ory.am instead.
Telemetry
Our services collect summarized, anonymized data which can optionally be turned off. Click
here to learn more.
Guide
The Guide is available here.
HTTP API documentation
The HTTP API is documented here.
Upgrading and Changelog
New releases might introduce breaking changes. To help you identify and incorporate those changes, we document these
changes in UPGRADE.md and CHANGELOG.md.
Command line documentation
Run keto -h
or keto help
.
Backers
Thank you to all our backers! ? [Become a backer]
We would also like to thank (past & current) supporters (in alphabetical order) on Patreon: Alexander Alimovs, Billy, Chancy Kennedy, Drozzy, Edwin Trejos, Howard Edidin, Ken Adler Oz Haven, Stefan Hans, TheCrealm
Sponsors
Sponsors support this project. The sponsor's logo or brand will show up here with a link to the website. [Become a sponsor]
A special thanks goes out to Wayne Robinson for supporting this ecosystem with $200 every month since October 2016 on Patreon.