{"id":17948859,"url":"https://github.com/eko/authz","last_synced_at":"2025-04-05T09:10:24.153Z","repository":{"id":65253615,"uuid":"577073014","full_name":"eko/authz","owner":"eko","description":"🛡️ Authorization backend that comes with a UI for RBAC and ABAC permissions","archived":false,"fork":false,"pushed_at":"2024-04-19T05:24:31.000Z","size":39235,"stargazers_count":250,"open_issues_count":27,"forks_count":24,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T08:09:18.761Z","etag":null,"topics":["abac","auth","authentication","authorization","authorizer","backend","frontend","management","rbac"],"latest_commit_sha":null,"homepage":"https://authz.fr","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["eko"]}},"created_at":"2022-12-11T22:01:56.000Z","updated_at":"2025-02-18T16:40:04.000Z","dependencies_parsed_at":"2023-02-18T15:15:59.304Z","dependency_job_id":"92015586-5f43-4a12-9a13-53d4329d8cf7","html_url":"https://github.com/eko/authz","commit_stats":{"total_commits":67,"total_committers":3,"mean_commits":"22.333333333333332","dds":"0.35820895522388063","last_synced_commit":"88e56a25c8d6f84d3ab4f4d8d07cad427f6c80e4"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Fauthz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Fauthz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Fauthz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Fauthz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eko","download_url":"https://codeload.github.com/eko/authz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312085,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abac","auth","authentication","authorization","authorizer","backend","frontend","management","rbac"],"created_at":"2024-10-29T09:10:23.733Z","updated_at":"2025-04-05T09:10:24.106Z","avatar_url":"https://github.com/eko.png","language":"Go","funding_links":["https://github.com/sponsors/eko"],"categories":[],"sub_categories":[],"readme":"[![Backend](https://github.com/eko/authz/actions/workflows/branches.yaml/badge.svg)](https://github.com/eko/authz/actions/workflows/branches.yaml)\n[![Cucumber badge](https://messages.cucumber.io/api/report-collections/d514b46e-9225-4ae8-afbb-5f825ca2b3df/badge)](https://reports.cucumber.io/report-collections/d514b46e-9225-4ae8-afbb-5f825ca2b3df)\n[![Go Report Card](https://goreportcard.com/badge/github.com/eko/authz/backend)](https://goreportcard.com/report/github.com/eko/authz/backend)\n\n\n🛡️ Authz - Authorization backend\n================================\n\n\u003ch1 align=\"center\"\u003e\u003ca href=\"https://github.com/eko/authz\"\u003e\u003cimg src=\"misc/splash.png\" alt=\"Authz\" width=\"600\"\u003e\u003c/a\u003e\u003c/h1\u003e\n\nThis project brings a backend server with its frontend for managing authorizations.\n\nYou can use both Role-Based Acccess Control (RBAC) and Attribute-Based Access Control (ABAC).\n\n## Why use it?\n\n🌍  A centralized backend for all your applications authorizations\n\n🙋‍♂️  Supports Role-Based Access Control (RBAC)\n\n📌  Supports Attribute-Based Access Control (ABAC)\n\n⚙️   Multiple language SDKs available\n\n✅  Reliable: Authz uses Authz itself for managing its own internal authorizations\n\n🔍  Audit: We log each check decisions and which policy matched\n\n🔐  Single Sign-On: Use your enterprise SSO to log into the web UI, using OpenID Connect\n\n🕵️‍♂️  Observability: Retrieve metrics and tracing data into your prefered tools\n\nMore information on [authz.fr](https://authz.fr)\n\n## How it works?\n\nAuthorization is simple: a `principal` wants to make an `action` on a `resource`. That's it.\n\nAuthz allows you to manage all the authorizations you want to manage. All of them, centralized in a single application.\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs/architecture/howitworks.dark.png\"\u003e\n  \u003cimg alt=\"Text changing depending on mode. Light: 'So light!' Dark: 'So dark!'\" src=\"docs/architecture/howitworks.png\"\u003e\n\u003c/picture\u003e\n\nAll you need to do is to host the backend server (a Go single binary), the frontend (static files) if you want it and use our SDKs.\n\nAll data are stored in a SQL database. We currently support:\n\n* [PostgreSQL](https://www.postgresql.org/)\n* [MySQL](https://www.mysql.com/fr/)\n* [SQLite](https://www.sqlite.org/)\n\n\nYou can run a development environment using our [`docker-compose.mysql.yaml`](https://github.com/eko/authz/blob/master/docker-compose.mysql.yaml) and [`docker-compose.postgres.yaml`](https://github.com/eko/authz/blob/master/docker-compose.postgres.yaml) files. Or, you can see below to run an example using SQLite.\n\n## SDKs\n\nIn order to help you, we have the following available SDKs:\n\n* [Go](https://github.com/eko/authz/tree/master/sdk) - [pkg.go.dev](https://pkg.go.dev/github.com/eko/authz/sdk)\n* [Python](https://github.com/eko/authz-python-sdk) - [pypi](https://pypi.org/project/authz-sdk/)\n* [PHP](https://github.com/eko/authz-php-sdk) - [packagist](https://packagist.org/packages/eko/authz-sdk)\n* [NodeJS](https://github.com/eko/authz-nodejs-sdk) - [npmjs](https://www.npmjs.com/package/@eko/authz-sdk)\n\nPlease check their documentations for detailled usage. They all use `gRPC` for communicating with the Authz backend (server-to-server).\n\nMore SDKs are coming soon.\n\n## Getting started\n\nThe best way to start trying Authz is to use the following standalone Docker image:\n\n\n```bash\n$ docker run --rm \\\n    -e database_driver=sqlite \\\n    -e database_name=:memory: \\\n    -p 8080:8080 \\\n    -p 8081:8081 \\\n    -p 3000:80 \\\n    ekofr/authz:v0.8.4-standalone\n```\n\nHere, we use SQLite in-memory as database.\n\nFrontend will be available under [http://localhost:3000](http://localhost:3000) with default credentials: `admin` / `changeme`.\n\nAlternatively, we also have separated `backend` and `frontend` Docker images available here: [https://hub.docker.com/repository/docker/ekofr/authz](https://hub.docker.com/repository/docker/ekofr/authz).\n\n## Documentation\n\nMore technical documentations are available at [https://docs.authz.fr](https://docs.authz.fr).\n\n## Backend\n\nFor more information about backend, please refer to the [Backend](https://github.com/eko/authz/tree/master/backend) README file.\n\n## Frontend\n\nFor more information about frontend, please refer to the [Frontend](https://github.com/eko/authz/tree/master/frontend) README file.\n\n## Community\n\nPlease feel free to contribute on this project and do not hesitate to open an issue if you want to discuss about a feature.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feko%2Fauthz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feko%2Fauthz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feko%2Fauthz/lists"}