Open Policy Agent

Open Policy Agent (OPA) è un motore di policy open source e di uso generale che consente un'applicazione delle policy unificata e sensibile al contesto nell'intero stack.
OPA è orgoglioso di essere un progetto graduated nel panorama della Cloud Native Computing Foundation (CNCF). Per i dettagli, leggi l'annuncio della CNCF.
Inizia con OPA
Vuoi parlare di OPA o ricevere supporto?
- Unisciti alla Slack di OPA per parlare con altri utenti e manutentori di OPA. Vedi
#help per il supporto.
- Dai un'occhiata alle Discussioni della community per fare domande.
- Vedi la pagina Supporto per le opzioni di supporto commerciale.
Interessato a scoprire cosa fanno gli altri con OPA?
- Sfoglia i progetti della community nella Directory dell'ecosistema OPA - non dimenticare di inserire il tuo!
- Controlla il file ADOPTERS.md per un elenco di adottanti in produzione. La tua organizzazione usa OPA in produzione? Supporta il progetto OPA inviando una PR per aggiungere la tua organizzazione all'elenco con una breve descrizione dei tuoi casi d'uso di OPA!
Vuoi integrare OPA?
- Vedi l'SDK Go di alto livello o l'API Go di basso livello
per integrare OPA con servizi scritti in Go.
- Vedi il riferimento API REST per integrare OPA con servizi scritti in altri linguaggi.
- Vedi la documentazione sull'integrazione per altre opzioni.
Vuoi contribuire a OPA?
- Leggi la Guida al contributo per imparare come fare il tuo primo contributo.
- Usa #contributors su Slack per parlare con altri contributori e manutentori di OPA.
- Apri una GitHub Issue per richiedere funzionalità o segnalare bug.
Come funziona OPA?
OPA ti offre un linguaggio dichiarativo di alto livello per creare e applicare policy nel tuo stack.
Con OPA, definisci regole che governano il comportamento del tuo sistema. Queste regole servono a rispondere a domande come:
- L'utente X può chiamare l'operazione Y sulla risorsa Z?
- In quali cluster deve essere distribuito il workload W?
- Quali tag devono essere impostati sulla risorsa R prima che venga creata?
Integri i servizi con OPA in modo che queste tipologie di decisioni di policy non debbano essere hardcoded nel tuo servizio. I servizi si integrano con OPA eseguendo query quando sono necessarie decisioni di policy.
Quando interroghi OPA per una decisione di policy, OPA valuta le regole e i dati (che gli fornisci) per produrre una risposta. La decisione di policy viene restituita come risultato della query.
Ad esempio, in un caso d'uso semplice di autorizzazione API:
- Scrivi regole che consentono (o negano) l'accesso alle API del tuo servizio.
- Il tuo servizio interroga OPA quando riceve richieste API.
- OPA restituisce decisioni di consenso (o diniego) al tuo servizio.
- Il tuo servizio applica le decisioni accettando o rifiutando le richieste di conseguenza.
Per esempi concreti di come integrare OPA con sistemi come Kubernetes, Terraform, Docker, SSH e altri, consulta openpolicyagent.org.
Presentazioni