О проекте
Развиваем OSS-платформу observability на Rust. Нужно встроить OpenFGA напрямую в Rust-бэкенд для реализации объектной авторизации RBAC/ReBAC.
Коротко: ищем Rust-инженера для нативного встраивания OpenFGA в Rust-проект: провайдер авторизации, HTTP-клиент к OpenFGA, маппинг маршрутов, кортежи, миграция, fail-closed и фича-флаг. Стек — Rust, Tokio, Axum, reqwest/serde, OpenFGA HTTP API.
Задачи
- Реализовать trait провайдера авторизации.
- Реализовать проверки через OpenFGA в цепочке middleware на Axum.
- Написать Rust-клиент к HTTP API OpenFGA.
- Сделать маппинг «HTTP-метод + путь → relation + object».
- Записывать кортежи в сервисном слое: роли, владельцы, иерархии, удаление.
- Реализовать фильтрации списковых эндпоинтов.
- Написать bootstrap-миграцию существующих отношений в кортежи OpenFGA.
- Обеспечить fail-closed при недоступности OpenFGA и логирование.
- Покрыть интеграцию тестами.
Обязательные требования
- Опыт Rust: async/await, обработка ошибок, тестируемый код.
- Понимание middleware, извлечения контекста запроса, слоёв сервисов.
- Опыт интеграции с внешними HTTP API: таймауты, деградация, fail-closed.
- Понимание RBAC/ReBAC -подхода (объекты, отношения, кортежи, проверки).
- Умение разбираться в чужой кодовой базе.
- Аккуратность в безопасности: не допускать «тихого» открытия доступа.
Будет плюсом
- Опыт с OpenFGA или SpiceDB.
- Знание функционала и архитектуры observability-платформ.
- Опыт миграции данных для систем авторизации.
- Нагрузочные тесты и метрики latency.
Ключевой стек
- Rust
- Tokio
- Axum
- reqwest + serde
- OpenFGA HTTP API
- Docker — для локального OpenFGA в тестах
Условия
- Удалённо / гибрид.
- Оплата по итогам собеседования.
- Отбор: скрининг → техинтервью (Rust + архитектура) → практическая задача (Rust-клиент Check к локальному OpenFGA) → финал.
- Работа над open-source, чёткое ТЗ, поэтапный план, адекватный code review.
Отклик
Резюме / GitHub + описание опыта с Rust и/или авторизацией. Опционально — ссылка на публичный Rust-код.