ORY Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision API that authorizes HTTP requests based on sets of Access Rules. The BeyondCorp Model is designed by Google and secures applications in Zero-Trust networks.
An Identity & Access Proxy is typically deployed in front of (think API Gateway) web-facing applications and is capable of authenticating and optionally authorizing access requests. The Access Control Decision API can be deployed alongside an existing API Gateway or reverse proxy. ORY Oathkeeper's Access Control Decision API works with:
- Ambassador via auth service.
- Envoy via the External Authorization HTTP Filter
- AWS API Gateway via Custom Authorizers
- Nginx via Authentication Based on Subrequest Result
This service is stable, but under active development and may introduce breaking changes in future releases. Any breaking change will have extensive documentation and upgrade instructions.
- Who's using it?
Head over to the ORY Developer Documentation to learn how to install ORY Oathkeeper on Linux, macOS, Windows, and Docker and how to build ORY Oathkeeper from source.
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 16.000.000.000+ API requests every month with over 250.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 firstname.lastname@example.org now!
|Sponsor||Raspberry PI Foundation||raspberrypi.org|
|Sponsor||Cashdeck / All My Funds||cashdeck.com.au|
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.
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 which easily connects to any existing identity system by writing a tiny "bridge" application. Gives absolute control over user interface and user experience flows.
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.
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 email@example.com instead.
Our services collect summarized, anonymized data which can optionally be turned off. Click here to learn more.
The Guide is available here.
HTTP API documentation
The HTTP API is documented here.
Upgrading and Changelog
Command line documentation
oathkeeper -h or
Developing with ORY Oathkeeper is as easy as:
$ cd ~ $ go get -d -u github.com/ory/oathkeeper $ cd $GOPATH/src/github.com/ory/oathkeeper $ export GO111MODULE=on $ go test ./...