Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/Permify/permify

Permify is an open-source authorization service inspired by Google Zanzibar.
https://github.com/Permify/permify

abac access-control acl authorization ciam cloud-native distributed fga fine-grained-access-control golang grpc kubernetes least-privilege permission permissions rbac rebac security zanzibar

Last synced: about 1 month ago
JSON representation

Permify is an open-source authorization service inspired by Google Zanzibar.

Lists

README

        


Permify logo

Permify - Open Source Authorization Service



Seamlessly build and manage fine-grained and scalable access controls, saving engineers months of time.


Permify Go Version 
Permify Go Report Card 
Permify Licence 
Permify Discord Channel 
Permify Release 
Permify Commit Activity 
GitHub Workflow Status 
Scrutinizer code quality (GitHub/Bitbucket) 
Coveralls

![Permify - Open source authorization as a service](https://github.com/Permify/permify/assets/39353278/06262e07-84ba-4a1c-b859-870344396600)

## Join Our Team

Permify is on the lookout for engineers eager to tackle challenges in authorization. Join us!

We are hiring 

## What is Permify?

[Permify](https://github.com/Permify/permify) is an open-source authorization service for easily building and managing fine-grained, scalable, and extensible access controls for your applications and services. Inspired by Google’s consistent, global authorization system, [Google Zanzibar](https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41f08f03da59f5518802898f68730e247e23c331.pdf)

Our service makes authorization more secure and adaptable to changing needs, allowing you to get it up and running in just a few minutes to a couple of days—no need to spend months building out entire piece of infrastructure.

### With Permify, you can:

🔮 Create permissions and policies using domain specific language that is compatible with traditional roles and permissions (RBAC), arbitrary relations between users and objects (ReBAC), and dynamic attributes (ABAC).

🔐 Set up isolated authorization logic and custom permissions for your applications/organizations (tenants) and manage them in a single place.

✅ Interact with the Permify API to perform access checks, filter your resources with specific permissions, perform bulk permission checks for various resources, and more!

🧪 Abstract your authorization logic from app logic to enhance visibility, observability, and testability of your authorization system.

## Getting Started

- Follow a guide to model your authorization using [Permify's Authorization Language].
- See our [Playground], build your authorization logic and test it with sample data.
- Explore overview of [Permify API] and learn how to interact with it.
- See [our article] to examine [Google Zanzibar](https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41f08f03da59f5518802898f68730e247e23c331.pdf) in a nutshell.

[Permify's Authorization Language]: https://docs.permify.co/getting-started/modeling
[playground]: https://play.permify.co/
[Permify API]: https://docs.permify.co/api-reference
[our article]: https://permify.co/post/google-zanzibar-in-a-nutshell

### QuickStart

You can quickly start Permify on your local with running the docker command below:

```shell
docker run -p 3476:3476 -p 3478:3478 ghcr.io/permify/permify serve
```

This will start Permify with the default configuration options:
* Port 3476 is used to serve the REST API.
* Port 3478 is used to serve the GRPC Service.
* Authorization data stored in memory.

See [all of the options] that you can use to set up and deploy Permify in your servers.

[all of the options]: https://docs.permify.co/setting-up

#### Test your connection

You can test your connection with creating an GET request,

```shell
localhost:3476/healthz
```

## Community ♥️

We would love to hear from you!

Get the latest product updates, receive immediate assistance from our team members, and feel free to ask any questions about Permify or authorization in a broader context by joining our conversation on Discord!

Join Our Discord 

## Contributing

The open source community thrives on contributions, offering an incredible space for learning, inspiration, and creation. Your contributions are immensely valued and appreciated!

Here are the ways to contribute to Permify:

* **Contribute to codebase:** We're collaboratively working with our community to make Permify the best it can be! You can develop new features, fix existing issues or make third-party integrations/packages.
* **Improve documentation:** Alongside our codebase, documentation one of the most significant part in our open-source journey. We're trying to give the best DX possible to explain ourselves and Permify. And you can help on that with importing resources or adding new ones.
* **Contribute to playground:** Permify playground allows you to visualize and test your authorization logic. You can contribute to our playground by improving its user interface, fixing glitches, or adding new features.

### Bounties
[![Open Bounties](https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2Fpermify%2Fbounties%3Fstatus%3Dopen&style=for-the-badge)](https://console.algora.io/org/permify/bounties?status=open)

We have a list of [issues](https://github.com/Permify/permify/labels/%F0%9F%92%8E%20Bounty) where you can contribute and gain bounty award! Bounties will be awarded for fixing issues via accepted Pull Requests (PR).

Before start please see our [contributing guide](https://github.com/Permify/permify/blob/master/CONTRIBUTING.md).

## Roadmap

You can find Permify's Public Roadmap [here](https://github.com/orgs/Permify/projects/1)!

## Contributors ♥️



## Communication Channels

If you like Permify, please consider giving us a :star:



permify | Discord


permify | Twitter


permify | Linkedin