Repolode
open-policy-agent

open-policy-agent/opa

Универсальный движок политик: правила авторизации и соответствия требованиям на Rego можно применять в сервисах, Kubernetes и других системах.

Звёзды
12,442
Форки
1,710
Открытые issues
266
Последний коммит
16 часов назад

Что это?

Open Policy Agent (OPA) — универсальный движок политик. Вместо того чтобы встраивать логику авторизации или соответствия требованиям непосредственно в каждый сервис, вы описываете правила на Rego — декларативном языке OPA, — а сервисы запрашивают у OPA решение, выполняя запрос. OPA проверяет предоставленные вами данные по этим правилам и возвращает результат, который затем применяет вызывающий сервис.

OPA — зрелый проект Cloud Native Computing Foundation. Его можно запускать как отдельный CLI или сервер, использовать в виде образов контейнеров и бинарных файлов, а также встраивать в Go-сервисы через Go SDK и низкоуровневый Go API. Для интеграции с другими языками служит REST API.

В документации проекта описаны интеграции с такими системами, как Kubernetes, Terraform, Docker и SSH. Для редактора VS Code доступно расширение с диагностикой в реальном времени, отладкой и форматированием.

Ключевые возможности

  • 01Политики описываются на Rego — декларативном языке для правил и запросов.
  • 02Работает как отдельный CLI или сервер либо встраивается в приложения на Go через SDK.
  • 03Предоставляет REST API, через который сервисы на любом языке могут запрашивать решения по политикам.
  • 04Расширение для VS Code поддерживает диагностику в реальном времени, отладку и форматирование.
  • 05Распространяется в виде образов контейнеров и бинарных файлов.

Сценарии использования

  • Проверка авторизации API: сервисы решают, может ли пользователь выполнить операцию над ресурсом.
  • Проверка ресурсов Kubernetes на соответствие политикам admission до их создания.
  • Проверка описаний инфраструктуры, например планов Terraform, на соответствие требованиям.
  • Централизация решений по управлению доступом для множества микросервисов.

Быстрый старт

  1. 1

    Скачайте бинарный файл или образ контейнера OPA со страницы релизов GitHub или из Docker Hub

  2. 2

    Следуйте инструкциям Running OPA в официальной документации, чтобы запустить OPA CLI локально

Что важно знать

  • Для написания политик необходимо изучить язык Rego.

В подборках

Темы

Частые вопросы

Что такое opa?
Универсальный движок политик: правила авторизации и соответствия требованиям на Rego можно применять в сервисах, Kubernetes и других системах. Open Policy Agent (OPA) — универсальный движок политик. Вместо того чтобы встраивать логику авторизации или соответствия требованиям непосредственно в каждый сервис, вы описываете правила на Rego — декларативном языке OPA, — а сервисы запрашивают у OPA решение, выполняя запрос. OPA проверяет предоставленные вами данные по этим правилам и возвращает результат, который затем применяет вызывающий сервис.
opa можно использовать бесплатно? Какая у него лицензия?
opa распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
opa всё ещё поддерживается?
Активно поддерживается. Последний коммит в opa — 6 нояб. 2026 г..
Для чего можно использовать opa?
Проверка авторизации API: сервисы решают, может ли пользователь выполнить операцию над ресурсом. Проверка ресурсов Kubernetes на соответствие политикам admission до их создания. Проверка описаний инфраструктуры, например планов Terraform, на соответствие требованиям. Централизация решений по управлению доступом для множества микросервисов.
Как установить opa?
Скачайте бинарный файл или образ контейнера OPA со страницы релизов GitHub или из Docker Hub Следуйте инструкциям Running OPA в официальной документации, чтобы запустить OPA CLI локально
Где скачать opa?
Исходный код и инструкции по установке — на GitHub: https://github.com/open-policy-agent/opa

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека контроля доступа для Go: применяет политики ACL, RBAC и ABAC, заданные в файлах моделей и правил.

20,5 тыс.+6 за неделю1,8 тыс.GoApache-2.0Активно поддерживаетсяОбновлён 3 дня назад

Самостоятельно размещаемый движок авторизации (PDP), который проверяет YAML-политики и определяет, кто может выполнять какие действия над какими ресурсами.

4,6 тыс.+9 за неделю218GoApache-2.0Активно поддерживаетсяОбновлён 21 час назад

Детерминированный движок политик между AI-агентами и их инструментами, блокирующий вызовы, которые отправляют конфиденциальные данные неавторизованным получателям.

1,6 тыс.70RustMITАктивно поддерживаетсяОбновлён 13 часов назад

Контроль политик, идентификация по принципу нулевого доверия, изоляция выполнения и инструменты SRE для автономных AI-агентов; поддерживаются Python, TypeScript, .NET, Rust и Go.

6,5 тыс.+24 за неделю1,1 тыс.PythonMITАктивно поддерживаетсяОбновлён 13 часов назад

Открытый сервис авторизации по мотивам Google Zanzibar для тонкой настройки RBAC-, ReBAC- и ABAC-контроля доступа вне кода приложения.

6 тыс.+1 за неделю331GoAGPL-3.0Активно поддерживаетсяОбновлён вчера