Okta: интеграция с G-Suite — provisioning, импорт и экспорт пользователей

Автор: | 10/23/2019
 

Продолжаем настраивать Okta для нашего проекта.

Этот пост — участник конкурса Ukrainian DevOps Community — UkrOps. Крайне рекомендую присоединяться — очень уютный чатик, очень хорошие люди.

Предыдущие посты серии:

Следующая задача — интегрировать наш Google Suite и Okta: требуется настроить возможность импортировать пользователей в Okta из каталога G Suite, и наоборот.

В реальности мы будем использовать Okta как source-of-truth и базу данных пользователей и систему аутентификации, и уже Okta будет управлять пользователями в G Suite, но рассмотрим настройку обоих вариантов.

Документация:

Okta — настройка G Suite App

Переходим в Applications, кликаем Add Application, находим G Suite:

В админке G Suite, в Domains, находим Primary Domain:

Задаём его в настройках приложения (хотя на деле не заметил разницы от того, какое имя тут указывается):

Application username format задаём как Email, остальное можно оставить по умолчанию — Sign-On настроим в следующий раз:

Сохраняем, и переходим во вкладку Provisioning:

Настройка Provisioning

G Suite должен иметь уже настроенный API, см. документацию>>>.

Кликаем Configure API Integration:

Кликаем Authentificate with G Suite, логинимся в нужный аккаунт:

Разрешаем доступы:

Готово:

Жмём Save.

Импорт пользователей из G Suite в Okta

Переходим в Provisioning > To Okta:

Тут:

  • Schedule import: автоматическая синхронизация из G Suite по расписанию
  • Okta username format: тип логина в Okta, оставляем почту

В User Creation & Matching указываем, как Okta будет сравнивать пользователя из G Suite и своей локальной базой.

В данном примере — выполняем сравнение по его почте, она же логин пользователя.

Выполняем импорт юзеров.

Переходим во вкладку Import:

Жмём Import Now:

Ждём 5-10 минут:

Все пользователи из G Suite базы готовы к добавлению в Okta:

Но они не будут созданы, пока не будет выполнено подтверждение.

Например, вот юзер Arseny — он уже есть и в Okta, и в G Suite, поэтому Okta не будет его создавать заново:

А вот второй Arseny — будет создан, т.к. там другой человек и почта, и условие match by email не сработало.

Выбираем пользователя G Suite, которого хотим добавить в нашу Okta:

Тут можно выбрать действие:

  1. создать нового пользователя Okta (действие по умолчанию)
  2. привязать к уже существующему пользоватаелю Okta
  3. игнорировать

Жмём Confirm Assignments:

И пользователь создан в базе Okta:

Экспорт из Okta в G-Suite

Теперь настроим обратный provisioning — локальный пользователь из Okta должен быть создан в G Suite.

Переходим в Provisioning > To App, кликаем Edit, включаем нужные опции:

Тут:

  • Create Users: Okta создаст или слинкует своего пользователя и пользователя в G Suite
  • Update User Attributes: Okta обновит атрибуты профиля пользователя (о профилях поговорим в следующем посте)
  • Deactivate Users: деактивировать пользователя в G Suite при его деактивации в Okta или при отключении пользователя или его группы от приложения G Suite в Okta
  • Sync Password: будет ли Okta управлять паролем создаваемого аккаунта в G Suite

Для тестов — можно включить только Create Users, что бы не убить случайно уже существующую запись в G Suite.

Жмём Save.

Создаём нового пользователя: в Okta переходим в Directory > People > Add Person:

Note: домен почты должен быть добавлен в G Suite в Domains

Возвращаемся к приложению G Suite, переходим во вкладку Assignments, добавляем этого пользователя:

Задаём значения для профиля в G Suite, как минимум указываем Organizational Unit:

Проверяем логи Okta:

И проверяем админку G Suite:

Уведомления

Последним хотелось бы добавить уведомление о том, что в Okta создан новый пользователь (если Okta импортирует юзеров из G Suite).

Переходим в Settings > Account, и в блоке Admin Email Notifications настраиваем уведомления:

Готово.