All Projects → authzed → prom-authzed-proxy

authzed / prom-authzed-proxy

Licence: Apache-2.0 license
A Prometheus proxy that performs SpiceDB permission checks based on labels

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to prom-authzed-proxy

nimSocks
A filtering SOCKS proxy server and client library written in nim.
Stars: ✭ 51 (+70%)
Mutual labels:  proxy-server
LiveProxies
Asynchronous proxy checker
Stars: ✭ 17 (-43.33%)
Mutual labels:  proxy-server
ProxyChecker
proxy checker to check the status of the ip-port proxy list
Stars: ✭ 24 (-20%)
Mutual labels:  proxy-server
firefox-secure-proxy
Standalone wrapper for Firefox Private Network
Stars: ✭ 15 (-50%)
Mutual labels:  proxy-server
Free-Proxy
Hi there will be a lot of proxies here.
Stars: ✭ 135 (+350%)
Mutual labels:  proxy-server
sparql-proxy
SPARQL-proxy: provides cache, job control, and logging for any SPARQL endpoint
Stars: ✭ 26 (-13.33%)
Mutual labels:  proxy-server
yastack
YAStack: User-space network-stack based on DPDK, FreeBSD TCP/IP Stack, EnvoyProxy
Stars: ✭ 90 (+200%)
Mutual labels:  proxy-server
proxy pool
A simple proxy pool
Stars: ✭ 73 (+143.33%)
Mutual labels:  proxy-server
p3y
A single binary reverse proxy written in go. It was developed for use in Kubernetes, to wrap services like Prometheus with simple BasicAuth and TLS encryption.
Stars: ✭ 15 (-50%)
Mutual labels:  proxy-server
nginx-reverseproxy
A simple implementation of a multidomain nginx reverse proxy, using Node apps.
Stars: ✭ 46 (+53.33%)
Mutual labels:  proxy-server
gathertool
gathertool是golang脚本化开发库,目的是提高对应场景程序开发的效率;轻量级爬虫库,接口测试&压力测试库,DB操作库等。
Stars: ✭ 36 (+20%)
Mutual labels:  proxy-server
socks5-proxy
Socks5 Proxy with Go Lang. support USER_ID/PASSWORD. able to bypass HTTPS(SNI) censorship
Stars: ✭ 29 (-3.33%)
Mutual labels:  proxy-server
microsocks11
A cross-platform SOCKS5 library and server based on the microsocks project.
Stars: ✭ 22 (-26.67%)
Mutual labels:  proxy-server
saml-auth-proxy
Provides a SAML SP authentication proxy for backend web services
Stars: ✭ 38 (+26.67%)
Mutual labels:  proxy-server
proxy
An HTTP proxy server written in C# and targeting .NET Core 3.
Stars: ✭ 31 (+3.33%)
Mutual labels:  proxy-server
RandomProxyRuby
Tiny Library for get random proxy (free).
Stars: ✭ 16 (-46.67%)
Mutual labels:  proxy-server
http-knocking
🚪HTTP-Knocking hides a Web server and open it by knocking sequence: Hide Web server until your knocks
Stars: ✭ 28 (-6.67%)
Mutual labels:  proxy-server
vcr.js
Mock server with Proxy and Record support inspired by ruby VCR.
Stars: ✭ 41 (+36.67%)
Mutual labels:  proxy-server
thumbai
Go Mod Repository, Go Vanity Server and Proxy Server
Stars: ✭ 84 (+180%)
Mutual labels:  proxy-server
mtproxy
Alpine-based Docker Image for Telegram MTProto Proxy
Stars: ✭ 89 (+196.67%)
Mutual labels:  proxy-server

prom-authzed-proxy

Container Image License Build Status Mailing List Discord Server Twitter

prom-authzed-proxy is a proxy for Prometheus that authorizes the request's Bearer Token with Authzed or SpiceDB and enforces a label in a PromQL query.

SpiceDB is a database system for managing security-critical permissions checking.

SpiceDB acts as a centralized service that stores authorization data. Once stored, data can be performantly queried to answer questions such as "Does this user have access to this resource?" and "What are all the resources this user has access to?".

Authzed operates the globally available, serverless database platform for SpiceDB.

See CONTRIBUTING.md for instructions on how to contribute and perform common tasks like building the project and running tests.

Basic Usage

Installation

If you're using a modern version of Go, run the following command to install:

go install github.com/authzed/prom-authzed-proxy/cmd/prom-authzed-proxy

If you want a container of the proxy and have docker installed:

docker pull authzed/prom-authzed-proxy:latest

Running against localhost

The following command will run the proxy that checks the permissions against authzed.com and a Prometheus running on localhost:

prom-authzed-proxy \
    --proxy-upstream-prometheus-addr http://localhost:9090 \
    --proxy-spicedb-token tc_client_token_1234deadbeef  \
    --proxy-check-resource-type metric \
    --proxy-check-resource-id-query-param install \
    --proxy-check-permission view
    --proxy-check-subject-type token \

Each request is checked to have a value as a Bearer Token that has the view permission for the resource specified in the PromQL label install with their respective types.

If the permission check fails, the proxy will return an HTTP 403.

Related Projects

  • Prometheus - industry standard time series database
  • SpiceDB - industry standard permissions database
  • prom-label-proxy - proxy that enforces labels in PromQL
  • kube-rbac-proxy - proxy that authorizes requests with Kubernetes cluster RBAC, sometimes used with prom-label-proxy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].