20 августа 2021

Блог

Как мы используем Google Identity Platform для безопасности рабочих проектов

Наши мобильные разработчики ведут свои проекты в Firebase – это платформа от Google, которая объединяет в себе средства мониторинга, пользовательской аналитики в приложениях, прочие полезные инструменты. Есть система алертов, которая отправляет уведомления на почту, если в приложении что-то начинает идти не так. 

Раньше доступ к проектам в Firebase сотрудники получали через собственные Google-аккаунты. Так же в рабочее пространство заходили и представители заказчиков – аналитики, PM-ы и т.д. Эта схема создавала серьезные риски безопасности – если личную запись взломают, злоумышленникам откроется прямой путь к нашим продуктам. К тому же, не было инструментов централизованного контроля, чтобы отключить от проекта сотрудника, который вышел из команды или покинул компанию. Не говоря уже о пользователях из сторонних организаций. 

К тому же, пользователи Firebase с базовыми ролями имеют избыточные права – например, «редактор» и «зритель» могут перейти в консоль управления проектами. 
 

Как мы взяли ситуацию под контроль

Итак, нам нужна была такая система аутентификации, которая будет обеспечивать вход без личных адресов, иметь консоль администратора для контроля всех участников проектов. Плюс, нужна возможность назначить пользователям минимально необходимые права. Далеко ходить не пришлось, решением стала облачная платформа от той же Google (Google Cloud Platform, GCP).

Теперь у нас есть корпоративный аккаунт, который мы синхронизировали с Active Directory. Участники команды получают приглашения присоединиться к проекту через email и авторизуются по своему логину True Engineering. Синхронизация с Active Directory происходит через систему Google Identity Platform (GIP), она же обеспечивает единую авторизацию (Single Sign-On).

Поскольку учетные данные поступают из нашей AD, в Firebase автоматически начинают действовать наши же правила безопасности, например, политика управления паролями и иерархия пользователей. Участников не нужно добавлять руками – из AD они автоматически подтягиваются в консоль администратора GIP.

Что касается управления правами, в платформе есть огромные возможности – достаточно сказать, что там предусмотрено около 5 тысяч ролей. Можно настроить доступ для любых целей.

Основные функции безопасности Google Identity Platform

  • В панели администратора есть весь список пользователей с доступом к рабочим проектам, можно буквально парой кликов назначать и снимать права доступа. Есть средства контроля IP-адресов с возможностью отправить алерт, если пользователь логинится из необычной локации.
  • Система SSO отслеживает список приложений, где пользователи логинятся по рабочему адресу. Разумеется, речь о приложениях, которые подключены к рабочим проектам – приватность соблюдается. Ненужные или небезопасные приложения можно принудительно отключить через панель администратора или назначить приложениям групповые политики.
  • Можно увидеть, сколько документов авторизованный пользователь выложил на Google Drive, ко скольким файлам он открыл доступ. Опять же, из соображений приватности содержание файлов не раскрывается. Но если в компании есть строгие правила насчет использования облаков, эта функция будет очень полезной. Например, в True Engineering разработчикам запрещается отправлять рабочие файлы в публичные облака. 
  • Есть базовая, но неплохая аналитика уязвимостей (Security Health Analytics). Помогает автоматически обнаруживать проблемы конфигурации, незащищенные порты, более серьезные угрозы. Если в продукте есть возможность выполнить произвольный код, перехватить данные или получить несанкционированные права, Security Command Centre покажет уязвимый актив и предложит, как устранить угрозу.

  • Средства удаленного управления устройствами сотрудников позволяют заблокировать украденный или потерянный смартфон. Кроме того, здесь есть алерты о взломанных гаджетах – в случае Android проверяется наличие root-доступа, на iOS контролируется джейлбрейк. Для нас эта функция не очень полезна, поскольку наши мобильные разработчики используют именно такие устройства, но вообще информация полезная.

Как настроить Google Identity Platform – пошаговая инструкция

1)   Перейти в Google Cloud Console.

2)   Авторизоваться под своим GoogleID.
3)   В панели управления слева найти позицию IAM & Admin, кликаем на второй пункт:


4)   При нажатии откроется окно для перехода к чеклисту.


5)   Выполняем инструкции по порядку.


Главная роль у суперадминистратора – он может абсолютно все. В частности, только суперадминистратор сможет восстановить аккаунт.

С помощью роли суперадминистратора создайте «обычных» администраторов, которые будут выполнять рабочие задачи, учетные данные суперадминистратора спрячьте в сейф.

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

По итогу обязательно все перепроверьте. Например, удостоверьтесь, что пользователь без прав «Owner» не может пригласить кого-либо в проект или перейти в консоль Google Cloud. На уровне Firebase, у обычного пользователя не должны быть активны кнопки Add member и Advanced permission setting.

Короткий чек-лист:

  • У вас должен быть Суперадминистратор
  • Администратор на уровне организации
  • Администраторы на уровне ресурсов (подразделений, папок, проектов)
  • У одного пользователя может быть несколько админских прав.

Администратор Firebase обладает максимальными правами только в Firebase:


У администратора организации - максимальные права на уровне организации. Cоздавать, удалять, мигрировать проекты может только Project Mover.


Более подробная информация – в справке Google.

Отдельно про биллинг

Для оплаты можно привязать личную банковскую карту сотрудника, но это может оказаться неудобно или вовсе невозможно по правилам вашей компании. Поэтому более простой вариант – обратиться к одному из партнеров Google и оплачивать потребление по ежемесячным счетам. 

Заключение

Как мы говорили выше, по нашим впечатлениям, решения от Google практически не уступают многим платным продуктам, которые сейчас есть на рынке. Все функции, которые мы здесь описали, доступны в бесплатной версии Google Cloud Platform, которая включает доступ для 50 сотрудников. В нашем отделе мобильной разработки около 40 специалистов, поэтому нам таких возможностей вполне хватает.

При этом если нужно увеличить квоту, можно отправить заявку в поддержку Google, и с некоторой вероятностью вам пойдут навстречу. Например, мы в своих работах используем инструменты BigQuery – тоже из портфеля Google. Они платные, биллинг рассчитывается по объему отправленных запросов. Использование этих систем вполне может быть аргументом для расширения бесплатной квоты GCP.