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

Автор: | 21/10/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 организацию:

Логинимся:

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

Готово.

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