Open Policy Agent

Open Policy Agent (OPA) — это движок политик общего назначения с открытым исходным кодом, который обеспечивает унифицированное применение политик с учётом контекста во всём стеке.
OPA гордится тем, что является выпущенным (graduated) проектом в экосистеме Cloud Native Computing Foundation (CNCF). Подробности читайте в объявлении CNCF.
Начало работы с OPA
- Напишите свою первую политику Rego с помощью Rego Playground или используйте его, чтобы поделиться своей работой с другими для получения обратной связи и поддержки. Если вы не знаете, с чего начать, посмотрите примеры контроля доступа.
- Установите расширение для VS Code, чтобы начать работу локально с диагностикой в реальном времени, отладкой и форматированием. Другие поддерживаемые редакторы см. в разделе Поддержка редакторов и IDE.
- Перейдите в Документацию OPA, чтобы изучить язык Rego, а также узнать, как развертывать и интегрировать OPA.
- Ознакомьтесь с учебными ресурсами в разделе Learning Rego каталога экосистемы.
- Следуйте инструкциям в разделе Запуск OPA, чтобы начать работу с CLI OPA локально.
- Образы контейнеров см. на Docker Hub, а бинарные файлы — в релизах GitHub.
- Ознакомьтесь с дорожной картой OPA, чтобы увидеть общий обзор функций OPA, которые находятся в разработке и запланированы.
Хотите обсудить OPA или получить поддержку?
Хотите узнать, что другие делают с OPA?
- Просмотрите проекты сообщества в каталоге экосистемы OPA — не забудьте добавить свой собственный проект!
- Ознакомьтесь с файлом ADOPTERS.md, содержащим список организаций, использующих OPA в производстве. Ваша организация использует OPA в производстве? Поддержите проект OPA, отправив pull request, чтобы добавить свою организацию в список с кратким описанием ваших сценариев использования OPA!
Хотите интегрировать OPA?
- Используйте высокоуровневый Go SDK или низкоуровневый Go API,
чтобы интегрировать OPA с сервисами, написанными на Go.
- См. справочник REST API, чтобы интегрировать OPA с сервисами, написанными на других языках.
- Больше вариантов см. в документации по интеграции.
Хотите внести вклад в OPA?
Как работает OPA?
OPA предоставляет вам высокоуровневый декларативный язык для написания и применения политик во всём вашем стеке.
С помощью OPA вы определяете правила, которые определяют, как должна вести себя ваша система. Эти правила существуют для ответа на такие вопросы, как:
- Может ли пользователь X вызвать операцию Y над ресурсом Z?
- В какие кластеры должна быть развернута рабочая нагрузка W?
- Какие теги должны быть установлены на ресурсе R до его создания?
Вы интегрируете сервисы с OPA, чтобы такого рода решения о политиках не были зашиты в ваш сервис. Сервисы интегрируются с OPA, выполняя запросы (queries), когда им нужны решения о политиках.
Когда вы запрашиваете у OPA решение о политике, OPA вычисляет правила и данные (которые вы ему предоставляете), чтобы сформировать ответ. Решение о политике отправляется обратно в качестве результата запроса.
Например, в простом сценарии авторизации API:
- Вы пишете правила, которые разрешают (или запрещают) доступ к API вашего сервиса.
- Ваш сервис запрашивает OPA при получении API-запросов.
- OPA возвращает вашему сервису решения allow (разрешить) или deny (запретить).
- Ваш сервис применяет эти решения, принимая или отклоняя запросы соответствующим образом.
Конкретные примеры интеграции OPA с такими системами, как
Kubernetes,
Terraform,
Docker,
SSH,
и другие, см. на сайте openpolicyagent.org.
Презентации
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2026: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2025: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2025: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2024: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2024: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2023: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2023: видео
- Running Policy in Hard to Reach Places with WASM & OPA @ CN Wasm Day EU 2023: видео
- OPA maintainers talk @ Kubecon NA 2022: видео
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2022: видео
- Open Policy Agent Intro @ KubeCon EU 2021: видео
- Using Open Policy Agent to Meet Evolving Policy Requirements @ KubeCon NA 2020: видео
- Applying Policy Throughout The Application Lifecycle with Open Policy Agent @ CloudNativeCon 2019: видео
- Open Policy Agent Introduction @ CloudNativeCon EU 2018: видео, слайды
- Rego Deep Dive @ CloudNativeCon EU 2018: видео, слайды
- How Netflix Is Solving Authorization Across Their Cloud @ CloudNativeCon US 2017: видео, .
Безопасность
Сторонний аудит безопасности был проведён компанией Cure53; полный отчёт можно посмотреть здесь.
Пожалуйста, сообщайте об уязвимостях по электронной почте open-policy-agent-security.
Мы отправим подтверждающее сообщение, чтобы уведомить вас о получении
отчёта, а затем отправим дополнительные сообщения для последующего уведомления после того, как проблема будет исследована.