Biblioteca de controle de acesso em Go que aplica políticas de autorização ACL, RBAC e ABAC configuradas por arquivos de modelo e de políticas.
open-policy-agent/opa
Um mecanismo de políticas de uso geral para escrever regras de autorização e conformidade em Rego e avaliá-las em serviços, Kubernetes e outros sistemas.
- Estrelas
- 12,442
- Forks
- 1,710
- Issues abertas
- 266
- Último commit
- ontem
O que é?
O Open Policy Agent (OPA) é um mecanismo de políticas de uso geral. Em vez de codificar regras de autorização ou conformidade diretamente em cada serviço, você escreve regras em Rego, a linguagem declarativa do OPA, e seus serviços consultam o OPA para obter uma decisão. O OPA avalia as regras com base nos dados fornecidos e retorna o resultado, que o serviço solicitante então aplica.
O OPA é um projeto graduado da Cloud Native Computing Foundation. Ele pode ser executado como CLI ou servidor independente, distribuído como imagens de contêiner e binários e integrado a serviços Go por meio de um SDK Go e de uma API Go de baixo nível. Outras linguagens podem se integrar pela API REST.
O projeto documenta integrações com sistemas como Kubernetes, Terraform, Docker e SSH. O suporte a editores inclui uma extensão para VS Code com diagnósticos em tempo real, depuração e formatação.
Recursos principais
- 01As políticas são escritas em Rego, uma linguagem declarativa para regras e consultas.
- 02Pode ser executado como CLI ou servidor independente, ou integrado a aplicações Go por meio de um SDK.
- 03Disponibiliza uma API REST para que serviços em qualquer linguagem solicitem decisões de políticas.
- 04Oferece uma extensão para VS Code com diagnósticos em tempo real, depuração e formatação.
- 05Distribuído como imagens de contêiner e binários.
Casos de uso
- Aplicar autorização de API para que os serviços decidam se um usuário pode executar uma operação em um recurso.
- Validar recursos do Kubernetes com base em políticas de admissão antes de criá-los.
- Verificar definições de infraestrutura, como planos do Terraform, de acordo com regras de conformidade.
- Centralizar decisões de controle de acesso em vários microsserviços.
Início rápido
- 1
Baixe o binário ou a imagem de contêiner do OPA nas versões do GitHub ou no Docker Hub
- 2
Siga as instruções de Running OPA na documentação oficial para iniciar o OPA CLI localmente
Antes de usar
- Para escrever políticas, é necessário aprender a linguagem Rego.
Em coleções
Tópicos
Perguntas frequentes
- O que é opa?
- Um mecanismo de políticas de uso geral para escrever regras de autorização e conformidade em Rego e avaliá-las em serviços, Kubernetes e outros sistemas. O Open Policy Agent (OPA) é um mecanismo de políticas de uso geral. Em vez de codificar regras de autorização ou conformidade diretamente em cada serviço, você escreve regras em Rego, a linguagem declarativa do OPA, e seus serviços consultam o OPA para obter uma decisão. O OPA avalia as regras com base nos dados fornecidos e retorna o resultado, que o serviço solicitante então aplica.
- opa é gratuito? Qual é a licença?
- opa é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- opa ainda é mantido?
- Manutenção ativa. O último commit de opa foi em 6 de nov. de 2026.
- Para que posso usar opa?
- Aplicar autorização de API para que os serviços decidam se um usuário pode executar uma operação em um recurso. Validar recursos do Kubernetes com base em políticas de admissão antes de criá-los. Verificar definições de infraestrutura, como planos do Terraform, de acordo com regras de conformidade. Centralizar decisões de controle de acesso em vários microsserviços.
- Como instalar opa?
- Baixe o binário ou a imagem de contêiner do OPA nas versões do GitHub ou no Docker Hub Siga as instruções de Running OPA na documentação oficial para iniciar o OPA CLI localmente
- Onde consigo opa?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/open-policy-agent/opa
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Motor de autorização (PDP) self-hosted que avalia políticas YAML para decidir quem pode executar quais ações em quais recursos.
Um mecanismo determinístico de políticas entre agentes de IA e suas ferramentas, que bloqueia chamadas capazes de enviar dados confidenciais a destinos não autorizados.
Aplicação de políticas, identidade zero trust, sandbox de execução e ferramentas de SRE para agentes de IA autônomos, com suporte a Python, TypeScript, .NET, Rust e Go.
Serviço de autorização open source inspirado no Google Zanzibar para criar controles de acesso RBAC, ReBAC e ABAC granulares fora do código da sua aplicação.
Uma extensão do Keycloak que permite aos administradores restringir quais usuários podem entrar em clientes específicos.