Github: SAML Okta — настройка SSO в Github Enterprise Cloud — Organization

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

В продолжение темы SSO, Okta и SAML.

Для Jenkins всё сделано (см. Jenkins: SAML, Okta, группы пользователей и Role-Based Security) — теперь пришёл черёд Github.

Идея та же: в Okta держим список пользователей, при логине в Github (наш Service provider, SP) — он должен запросить авторизацию у нашего Identity Provider, IDP — Okta, используя SAML.

Используем приложение Okta Github Enterprise Cloud — Organization.

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

Чего пока не нашёл, как реализовать — так это передать группы из Okta в Github как teams пользователя.

Trial Github Enterprise Cloud — Organization

Для того, что бы использовать SAML в Github — необходим тип аккаунта Github Enterprise Cloud — Organization.

Для тестов — создадим новую огранизацию и возьмём Enterprise на trial-период.

Переходим в огранизацию, Settings > Security:

Сейчас тут нет ни SAML, ни SSH-сертификатов.

Переходим на страницу GitHub Enterprise Cloud:

Кликаем Trial — создаём новую организацию:

Можно сразу добавить пользователей:

Теперь мой пользователь имеется доступ к трём огранизациям — рабочий проект, и два личных, в том числе только что созданный тестовый с Enterprise:

Переходим в Settings — Security организации, и тут уже доступен SAML:

Okta SAML — настройка Github Enterprise Cloud — Organization

Переходим в Okta — Applications — Add application, находим Github Enterprise Cloud — Organization:

Задаём имя организации в том же виде, в котором она задана в Github:

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

Кликаем на View Setup Instructions — будем переадресованы на стрицу с уже готовыми настройками для нашего SAML:

Настройка SAML в Github Organization

Переходим в Github, кликаем Enable SAML authentication, заполняем поля данными со страницы, которую открыли выше в View Setup Instructions, тут просто скпировать значения трёх полей:

Возвращаемся в приложение Github в Okta, во вкладке Assignments подключаем приложение тестовому пользователю:

В Github кликаем Test SAML configuration:

Логинимся с тестовым пользователем из Okta — проверка пройдена:

Внизу не забываем нажать Save.

Проверка SAML

Находим SSO URL:

Открываем его в инкогнито:

Кликаем Continue — и нас переадресует на страницу аутентификации в Okta:

Тут можно либо создать нового пользователя — либо залогиниться с уже существующим аккаунтом Github.

В любом случае Okta использует Just In Time (JIT) Provisioning для добавления пользователя в Github организацию:

Логинимся:

И получаем доступ к огранизации:

Готово.

Осталось придумать с группами.