Старший Java-разработчик в сервисы безопасности Яндекс 360

Яндекс·Russia·Удалённо, Офис·сегодня

Привет! Меня зовут Паша Ботвинкин, я руковожу группой разработки сервисов безопасности в Яндекс 360. Мы ищем опытного Java-разработчика в команду, отвечающую за критически важные высоконагруженные сервисы Яндекс 360, которыми пользуются абсолютно все пользователи наших продуктов: сервисы авторизации, управления настройками и аудит-логов.

Яндекс 360 — это цифровое пространство, которое помогает организовать рабочие процессы. В него входят Почта, Диск, Календарь, Телемост и другие продукты (всего более 10), которые упрощают жизнь миллионам людей и позволяют работать из любой точки мира.

Каждый из продуктов в Яндекс 360 имеет свою историю и особенности, но все они объединены в единую экосистему платформенными сервисами Яндекс 360. Сервисы безопасности — подмножество этих сервисов, они призваны обеспечить единообразное управление безопасностью каждого из продуктов и экосистемы в целом.

Сервисы безопасности Яндекс 360 включают в себя четыре крупных компонента с единообразным стеком и принципами разработки.

Авторизатор 360 — основной компонент авторизации Яндекс 360. Если главное функциональное требование сервиса легко угадывается из его названия, то основное нефункциональное требование — выдерживать высокие нагрузки в сотни тысяч RPS на чтение от всех продуктов экосистемы при любых обстоятельствах.

Стратегические вызовы, связанные с этим компонентом, обусловлены необходимостью поддерживать транзитивное назначение и вычислять роли на произвольные группы пользователей с поддержкой глубокой вложенности, а также разнородностью требований к авторизации от каждого из продуктов Яндекс 360.

Аудит-логи 360 — компонент централизованного управления событиями безопасности Яндекс 360, обеспечивающий сбор, обогащение, краткосрочное и долгосрочное хранение, поиск и выдачу событий. Поскольку события безопасности могут генерироваться как пишущими, так и читающими операциями, в том числе неудачными, этот компонент должен справляться с десятками тысяч RPS на запись.

Интеграция с DLP — компонент интеграции продуктов Яндекс 360 с внешними системами предотвращения утечек данных (DLP). Принимает контент и метаданные из сервисов экосистемы, передаёт их на проверку в DLP-платформы заказчика и возвращает решения о разрешении или блокировке операций. Спроектирован для единообразного подключения разнородных DLP-вендоров при сохранении единого контракта для продуктов Яндекс 360 — от сценариев проверки файлов на Диске до интеграции с корпоративными DLP-системами.

Интеграция с MDM — компонент интеграции с системами управления мобильными устройствами и приложениями (MDM/MAM). Обеспечивает управление безопасностью мобильных клиентов Яндекс 360: учёт устройств и сессий сотрудников, отзыв доступа, применение политик корпоративной мобильности. Предоставляет продуктам экосистемы и внешним MDM-системам единые механизмы контроля доступа в контексте корпоративных требований информационной безопасности.

Основной стек:

  • Код на Java
  • Spring Boot в качестве основного фреймворка
  • PostgreSQL в качестве основной базы данных
  • YDB Topics в качестве шины данных

Масштабирование сервисов безопасности
Яндекс 360 — молодая экосистема с разнородными продуктами, поэтому ещё не все из них полноценно используют платформенные сервисы. Но у нас есть долгосрочные планы по интеграции каждого из этих продуктов со всеми сервисами безопасности. Это означает, что в ближайшем будущем нагрузки и сложность моделей взаимодействия будут лишь расти, поэтому мы ищем коллег, готовых вместе с нами воплощать эти планы в жизнь.

Функциональное развитие сервисов безопасности
У каждого из компонентов безопасности свой бэклог. В Яндекс 360 предусмотрено квартальное планирование, в рамках которого мы перераспределяем ресурсы команды между компонентами в соответствии с актуальными задачами и техническими инициативами. Это даёт возможность сфокусироваться на развитии одного компонента с возможностью брать задачи по другим.

Влияние на архитектуру всего Яндекс 360
Большинство проектов команды сервисов безопасности так или иначе влияют не только на отдельные компоненты, но и на весь Яндекс 360 и на каждый из входящих в экосистему продуктов. Работа над такими проектами предполагает не столько написание кода, сколько архитектурное проектирование и обоснование изменений. Все архитектурные решения проходят процедуру архитектурной защиты и документируются.

Больше о бэкенде в Яндексе — в канале Yandex for Backend

  • Умеете и хотите писать чистый оптимизированный код на Java
  • Стремитесь декомпозировать и эффективно решать задачи
  • Обладаете развитыми коммуникативными навыками и умеете договариваться со смежными командами
  • Готовы погружаться в домены безопасности: авторизацию, аудит-логи, интеграцию с системами DLP и MDM
  • Разрабатывали высоконагруженные системы со сложными структурами данных
  • Проектировали масштабируемую отказоустойчивую архитектуру
  • Работали со сложными графовыми структурами данных
  • Писали и поддерживали нетривиальные SQL-запросы
  • Проектировали или разрабатывали системы авторизации, сбора логов, интеграции с DLP/MDM или гарантированной доставки сообщений
  • Стремитесь развиваться в контексте лидерства внутри команды разработки и за её пределами

Похожие вакансии

Другие вакансии Яндекс