Перейти к содержимому

Войдите с командой через SSO

К концу этого учебника у вас будет:

  • SAML-подключение между вашим сервером Control Center и провайдером удостоверений (в примере мы используем Okta),
  • один пользователь, подготовленный автоматически при первом входе, и
  • политика членства в рабочих пространствах, которую вы выбрали осознанно.

Вам понадобится сервер, которым вы управляете (владелец сервера — оператор установки), и приложение IdP, которое вы можете настроить. Заложите 20 минут.

Войдите в Control Center и перейдите в Настройки → Сервер → Единый вход. Экран переключается между SAML и OpenID Connect, а также содержит карточку Подготовка пользователей (SCIM). Останьтесь на SAML.

Всё на этом экране действует на уровне всего сервера: один IdP аутентифицирует людей во всех рабочих пространствах, поэтому редактировать это может только владелец сервера.

В Okta откройте вкладку Sign On вашего приложения и скопируйте XML метаданных (или скачайте файл и вставьте его содержимое). Вернувшись в Control Center, вставьте его в поле XML метаданных IdP и нажмите Проверить подключение.

Всплывающее уведомление показывает эндпоинт входа IdP — доказательство того, что метаданные разобраны, сертификат прочитан и сервер может построить запрос на вход (тест проверяет всё, кроме самого перехода через браузер). Если проверка не проходит, значит XML не был полным EntityDescriptor (во вкладке SAML в Okta это называется “Metadata URL”; откройте URL и скопируйте то, что он отдаёт). Та же кнопка на вкладке OpenID Connect вместо этого проверяет документ обнаружения вашего издателя. Чтобы также заметить истекающий сертификат и узнать, распознаёт ли IdP Control Center, воспользуйтесь проверкой из шага 6.

Нажмите Копировать метаданные SP и передайте их тому, кто настраивает сторону Okta (или продиктуйте два значения, которые у вас запросят):

  • ACS URL: https://<your-server>/saml/acs
  • Entity ID: https://<your-server>/saml

Эти URL выводятся из origin, по которому браузеры ваших пользователей обращаются к серверу. Если сервер работает за туннелем или обратным прокси, убедитесь, что origin стабилен (Настройки → Сервер → Подключение и состояние → Открыть доступ к серверу показывает публичный URL) — или явно зафиксируйте entity ID в поле Entity ID SP.

Что произойдёт при первом входе, определяют две политики:

  • Добавлять пользователей во все рабочие пространства при первом входе — оставьте включённой для развёртывания одной команды, где SSO равнозначен доверию. Отключите её, когда сервер совместно используют несколько команд или заказчиков: тогда каждому новичку потребуется явное приглашение в рабочее пространство — это более безопасное значение по умолчанию.
  • Создавать неизвестных пользователей при первом входе — включено по умолчанию; отключите, чтобы отклонять всех, у кого ещё нет учётной записи.

При необходимости сопоставьте атрибут с именами групп (в Okta обычно это groups) и переведите группы в роли с помощью таблицы сопоставления — например {"platform-leads": "admin"}. SSO никогда не может выдать роль владельца.

Включите Вход через SAML, нажмите Сохранить подключение, затем откройте приватное окно браузера по адресу https://<your-server>/saml/login. Войдите в Okta — и вернётесь в веб-клиент уже с выполненным входом: учётная запись создана, а членство выдано согласно выбранной вами политике.

Та же точка входа появляется на экране подключения в веб-клиенте (Войти через SAML), как только вы введёте адрес сервера — форма подстраивается под то, что предлагает сервер (для OpenID Connect отображается Войти через OpenID Connect). Кнопка открывает вход в новой вкладке; когда переход завершается, ожидающая вкладка автоматически подхватывает сессию. Экран настройки сервера в настольном приложении работает так же: введите URL сервера, появится кнопка Войти через SAML, которая откроет браузер, и приложение выполнит вход, когда переход завершится.

Прежде чем разворачивать SSO, а также когда вход не срабатывает, проверьте компоненты здесь. Проверка полностью выполняется в вашем браузере: она читает метаданные, которые вы вставляете на этой вкладке, и применяет те же правила, что и сервер. Получив адрес вашего сервера, она также спрашивает у него, включён ли вход через SAML.

Она выявляет то, чего не видит Проверить подключение в приложении: сертификат подписи, близкий к истечению; IdP, который настаивает на подписанных запросах; а с помощью тестового входа — распознаёт ли IdP Control Center вообще.

Runs in your browserYour metadata is read in this tab and never uploaded. Add a server address and your browser also asks that server which sign-in methods it offers.

The address your users open. Adds a reachability check and a test sign-in.

Only if you pinned one in the app.