Единый вход
Tuist предлагает единый вход как вариант авторизации для повышения безопасности аккаунтов вашей организации.
Единый вход настраивается на вкладке Аутентификация в настройках организации. Поддерживаются Google Workspace, Okta, Microsoft Entra ID и пользовательские провайдеры OAuth 2.0.
Microsoft Entra ID — это провайдер OpenID Connect, который Tuist настраивает за вас на основе идентификатора вашего каталога. Всё, что описано в этом руководстве для пользовательских провайдеров, включая проверку домена электронной почты для входа и регистрацию, применимо и к нему.
Единый вход управляет тем, как участники проходят аутентификацию и могут ли авторизованные пользователи присоединяться автоматически. Предоставление доступа через System for Cross-domain Identity Management определяет, может ли провайдер удостоверений создавать, обновлять и удалять участников организации. Для Okta большинство организаций настраивают оба варианта.
Как работает доступ#
Идентификатор провайдера, обнаружение при входе и регистрация в организации — это отдельные аспекты:
- Издатель провайдера: Организация-провайдер или сервер авторизации, который выполнил аутентификацию пользователя. Tuist объединяет провайдера, издателя и стабильный идентификатор пользователя провайдера при поиске связанной учётной записи. Для Okta издатель представлен доменом Okta. Для Microsoft Entra ID он выводится из идентификатора каталога (арендатора). Для пользовательского провайдера он представлен URL-адресом провайдера.
- Домен электронной почты для входа: Домен электронной почты, который Tuist использует для обнаружения провайдера Okta или пользовательского провайдера на общей странице входа. После проверки он также определяет, какие адреса электронной почты можно доверять для привязки новых учётных записей и автоматической регистрации.
- Политика регистрации: Определяет, нужен ли пользователю из доверенного домена приглашение или он может присоединиться автоматически.
- Предоставление доступа: Создаёт и управляет членством в организации независимо от процесса входа.
Издатель провайдера и домен электронной почты для входа часто различаются. Например, компания может использовать example.com для корпоративной почты, тогда как её издатель провайдера — https://login.vendor.example.net. Новые конфигурации Okta и пользовательских провайдеров хранят эти значения отдельно.
Проверка домена электронной почты для входа#
Конфигурации Okta и пользовательских провайдеров требуют проверенный домен электронной почты для входа, прежде чем они смогут создать новую учётную запись Tuist или привязать существующую по адресу электронной почты. Участники всё ещё могут привязать свою существующую учётную запись, пока домен не проверен.
- Введите домен электронной почты сотрудников, например
example.com, в поле Домен электронной почты для входа. - Сохраните конфигурацию единого входа.
- Добавьте текстовую запись, показанную Tuist, в конфигурацию Domain Name System домена.
- Вернитесь в настройки аутентификации и нажмите Проверить домен.
Проверенный домен электронной почты для входа может принадлежать только одной организации Tuist. Изменение домена сбрасывает его проверку и требует публикации новой текстовой записи. Автоматическая регистрация остаётся приостановленной, пока домен не будет проверен.
Tuist ежедневно повторно проверяет текстовую запись. Если запись перестаёт разрешаться, проверка не сбрасывается сразу: домен сохраняет её в течение 14 дней, а в настройках аутентификации отображается Срок действия проверки истекает вместе с записью, которую нужно опубликовать снова. Публикация записи и повторная проверка снимают предупреждение. Домен, запись которого всё ещё отсутствует через 14 дней, возвращается в непроверенное состояние, и обнаружение провайдера, связывание идентичностей и автоматическая регистрация останавливаются до повторной проверки. Сбой поиска по любой другой причине не обновляет таймер и не сбрасывает проверку самостоятельно. Домены, проверенные до внедрения ежедневных повторных проверок, не перепроверяются.
Google Workspace не требует этого отдельного шага проверки в Tuist, поскольку Google предоставляет проверенный домен Workspace как часть аутентифицированной идентичности.
Выбор политики регистрации#
Tuist поддерживает две политики регистрации:
- Только по приглашению: Пользователю требуется приглашение в организацию. Для Okta и пользовательских провайдеров домен электронной почты для входа всё равно должен быть проверен, прежде чем провайдер сможет создать совершенно новую учётную запись Tuist. Приглашённый пользователь с существующей учётной записью Tuist сначала принимает приглашение, а затем привязывает идентичность провайдера, как описано в разделе Привязка существующей учётной записи Tuist.
- Автоматически: Пользователь, чья аутентифицированная электронная почта совпадает с доверенным доменом, может создать или привязать учётную запись и присоединиться к организации без приглашения. Конфигурации Google используют домен Workspace. Okta и пользовательские провайдеры требуют проверенный домен электронной почты для входа.
В конфигурациях Google по умолчанию включена автоматическая регистрация. В новых конфигурациях Okta и пользовательских провайдеров по умолчанию установлена регистрация только по приглашению.
Настройка Принудительный единый вход не зависит от регистрации. Принуждение запрещает существующим участникам организации использовать электронную почту и пароль; оно не предоставляет членство в организации.
Выбор роли для зарегистрированных участников#
Участники, которые присоединяются автоматически, получают роль, установленную в параметре Роль для зарегистрированных участников, которая по умолчанию равна user, если администратор не изменит её. Установка значения viewer открывает вход для всех пользователей в каталоге, не давая всем возможности вносить изменения.
Этот параметр нельзя установить в значение admin, он применяется к участникам, предоставленным через SCIM без роли, а также к тем, кто входит в систему, и никогда не перезаписывает роль, установленную администратором вручную.
Привязка существующей учётной записи Tuist#
Привязанная идентичность провайдера выполняет вход во всю учётную запись Tuist, включая все другие организации, к которым принадлежит эта учётная запись. Для Okta и пользовательских провайдеров Tuist автоматически привязывает существующую учётную запись только тогда, когда её адрес электронной почты находится в проверенном домене для входа или когда учётная запись была создана через предоставление доступа SCIM организации.
Участники, чья учётная запись не соответствует требованиям, привязывают идентичность самостоятельно:
- Войдите в Tuist, используя обычный способ входа для этой учётной записи.
- Откройте Tuist из провайдера удостоверений, например, через плитку приложения, или откройте один из проектов организации, если в ней включён принудительный единый вход.
- Подтвердите организацию и учётную запись провайдера удостоверений, которые показывает Tuist, затем нажмите Привязать учётную запись.
Если участник начинает с единого входа, будучи не авторизованным, ему сначала предлагается войти в систему, после чего Tuist возвращает его к подтверждению. Привязка не зависит от проверки домена, поэтому участники могут использовать единый вход до проверки домена.
Существующие организации#
Все организации Okta и пользовательских провайдеров используют модель проверенного домена. Временный режим совместимости удалён.
Если ваш домен электронной почты для входа не проверен:
- Существующие привязанные участники могут продолжать вход, а существующее принудительное применение SSO по-прежнему действует для членов организации.
- Страница входа обнаруживает вашего провайдера только через существующее членство в организации.
- Автоматическая регистрация приостановлена, и провайдер не может создавать новые учётные записи Tuist, даже при наличии приглашения.
- Непривязанные участники входят в свою существующую учётную запись Tuist и подтверждают привязку, как описано выше. Учётные записи, созданные через предоставление доступа SCIM организации, всё ещё можно привязать при первом входе через SSO.
- Новым пользователям не требуется использовать вашего провайдера только потому, что их адрес электронной почты использует ваш домен.
Существующие включённые настройки регистрации и принудительного применения сохраняются и могут быть отключены. Администраторы могут редактировать конфигурацию, пока домен не проверен; включение любой из этих настроек требует проверки. Проверка возобновляет автоматическую регистрацию для совпадающих адресов электронной почты, когда эта настройка включена. Поведение Google Workspace остаётся неизменным.
Ваш Домен электронной почты для входа может уже быть заполнен на основе участников вашей организации. Подтвердите значение, опубликуйте текстовую запись и нажмите Проверить домен. Оставьте запись опубликованной для ежедневных повторных проверок.
Google Workspace#
Единый вход Google Workspace аутентифицирует пользователей через домен Workspace. Администраторы могут разрешить подходящим пользователям присоединяться автоматически или требовать приглашение.
Вам нужна организация Google Workspace с проверенным доменом. Вы также должны быть аутентифицированы в Google, используя электронную почту, связанную с настраиваемым доменом.
Настройка#
- Перейдите на вкладку настроек Аутентификация вашей организации.
- Включите единый вход.
- Выберите Google в качестве провайдера.
- Введите свой домен Google Workspace, например
example.com. - Выберите Автоматическая регистрация или регистрацию только по приглашению. Автоматическая регистрация включена по умолчанию для Google.
- При необходимости включите Принудительный единый вход после тестирования процесса входа.
- Нажмите Сохранить изменения.
Okta#
Okta использует OpenID Connect для аутентификации участников. Домен Okta идентифицирует эмитента провайдера; отдельно проверенный домен электронной почты для входа управляет обнаружением, привязкой новых учётных записей и регистрацией.
Если вы также хотите, чтобы Okta автоматически создавал, обновлял или удалял участников, настройте предоставление доступа через Okta System for Cross-domain Identity Management после того, как единый вход начнёт работать.
Шаг 1: Создание приложения Okta#
- В панели администратора Okta перейдите в раздел Applications > Applications > Create App Integration.
- Выберите OpenID Connect и Web Application.
- Задайте имя приложения, например
Tuist. При желании загрузите логотип Tuist. - Установите URI перенаправления при входе равным значению, показанному на странице настроек аутентификации, например
https://tuist.dev/users/auth/okta/callback. - В разделе Assignments выберите желаемый контроль доступа и сохраните.
- Скопируйте Client ID и Client Secret из общих настроек приложения. Запишите свой домен Okta, например
your-company.okta.com. - При желании, чтобы разрешить вход из панели управления Okta, нажмите Edit в General Settings, измените Login initiated by на Either Okta or App, выберите Display application icon to users и установите Initiate login URI равным значению, показанному на странице настроек аутентификации.
Шаг 2: Настройка Tuist#
- Перейдите на вкладку настроек Аутентификация вашей организации.
- Включите единый вход.
- Выберите Okta в качестве провайдера.
- Введите домен Okta, Client ID и Client Secret.
- Введите домен корпоративной электронной почты в поле Домен электронной почты для входа. Например, домену Okta
your-company.okta.comможет соответствовать домен электронной почты для входаexample.com. - Нажмите Сохранить изменения.
- Добавьте текстовую запись, показанную Tuist, к домену электронной почты для входа, затем нажмите Подтвердить домен.
- Выберите, требуется ли пользователям приглашение или они могут зарегистрироваться автоматически, затем снова сохраните конфигурацию.
- При желании включите Принудительный единый вход после тестирования процесса входа.
Шаг 3: Назначение пользователей приложению Okta#
Назначьте пользователей или группы, которым должно быть разрешено проходить аутентификацию через приложение Okta.
Назначение предоставляет доступ к процессу входа, но членство в организации по-прежнему регулируется политикой регистрации. Если те же пользователи предоставляются через System for Cross-domain Identity Management, Tuist связывает идентификатор Okta с учётной записью, созданной SCIM, при первом входе пользователя. Участник, чья учётная запись существовала до добавления через SCIM, связывается, когда его адрес электронной почты находится в подтверждённом домене электронной почты для входа, или после того, как он подтвердит связь из своей авторизованной учётной записи.
Microsoft Entra ID#
Microsoft Entra ID выполняет аутентификацию участников через OpenID Connect. Tuist определяет конечные точки авторизации, токенов и информации о пользователе на основе идентификатора вашего каталога (арендатора), поэтому вам нужно ввести только это значение вместе с учетными данными приложения.
Если вы также хотите, чтобы Entra ID автоматически создавал, обновлял или удалял участников, настройте предоставление доступа через Microsoft Entra ID System for Cross-domain Identity Management после того, как единый вход начнёт работать.
Шаг 1: Регистрация приложения Entra#
- В центре администрирования Microsoft Entra перейдите в раздел Identity > Applications > App registrations > New registration.
- Задайте имя приложения, например
Tuist. - В разделе Redirect URI выберите платформу Web и введите значение, показанное на странице настроек аутентификации, например
https://tuist.dev/users/auth/oauth2/callback. - Зарегистрируйте приложение, затем скопируйте Directory (tenant) ID и Application (client) ID с его обзорной страницы.
- Перейдите в раздел Certificates & secrets > New client secret, создайте секрет и скопируйте его Value. Microsoft показывает значение только один раз, и у каждого клиентского секрета есть срок действия, поэтому запишите, когда его нужно будет обновить.
- Перейдите в раздел API permissions и убедитесь, что делегированные разрешения Microsoft Graph
openid,profileиemailпредоставлены. - При желании, чтобы разрешить участникам начинать процесс входа из портала My Apps, установите Home page URL в разделе Branding & properties равным значению, показанному на странице настроек аутентификации.
Шаг 2: Настройка Tuist#
- Перейдите на вкладку настроек Аутентификация вашей организации.
- Включите единый вход.
- Выберите Microsoft Entra ID в качестве провайдера.
- Введите Directory (tenant) ID, Client ID и Client Secret.
- Введите домен корпоративной электронной почты в поле Домен электронной почты для входа. Например, каталогу, пользователи которого входят в систему как
[email protected], соответствует домен электронной почты для входаexample.com. - Нажмите Сохранить изменения.
- Добавьте текстовую запись, показанную Tuist, к домену электронной почты для входа, затем нажмите Подтвердить домен.
- Выберите, требуется ли пользователям приглашение или они могут зарегистрироваться автоматически, затем снова сохраните конфигурацию.
- При желании включите Принудительный единый вход после тестирования процесса входа.
Шаг 3: Назначение пользователей приложению Entra#
Назначьте пользователей или группы, которым должно быть разрешено проходить аутентификацию. Если приложение настроено так, что требует назначения, войти могут только назначенные пользователи.
Назначение предоставляет доступ к процессу входа, но членство в организации по-прежнему регулируется политикой регистрации. Если те же пользователи предоставляются через System for Cross-domain Identity Management, Tuist связывает идентификатор Entra с учётной записью, созданной SCIM, при первом входе пользователя. Участник, чья учётная запись существовала до добавления через SCIM, связывается, когда его адрес электронной почты находится в подтверждённом домене электронной почты для входа, или после того, как он подтвердит связь из своей авторизованной учётной записи.
Требования к утверждению email#
Tuist считывает профиль аутентифицированного пользователя из конечной точки информации о пользователе Microsoft Graph, которая возвращает адрес электронной почты только тогда, когда он доступен у пользователя. Пользователь каталога, у которого атрибут mail пуст, не может войти в систему, потому что у Tuist нет адреса для сопоставления с доменом электронной почты для входа.
Убедитесь, что у назначаемых вами участников в каталоге заполнен адрес электронной почты, прежде чем внедрять единый вход. Пользователи, синхронизированные из локального Active Directory без почтового ящика, являются наиболее частым случаем отсутствия этого атрибута.
Условный доступ и многофакторная аутентификация#
Политики условного доступа, многофакторная аутентификация и политики риска входа применяются к приложению Tuist так же, как и к любому другому приложению Entra, поскольку они оцениваются во время запроса авторизации. Дополнительная настройка Tuist не требуется.
Пользовательский провайдер OAuth 2.0#
Пользовательский провайдер OAuth 2.0 позволяет организации использовать службу идентификации, отличную от Google Workspace или Okta. Конечная точка информации о пользователе провайдера должна возвращать стабильный идентификатор пользователя и адрес электронной почты.
- В провайдере создайте веб-приложение OAuth 2.0.
- Установите URI перенаправления при входе и необязательный URI инициирования входа на значения, указанные в настройках аутентификации Tuist.
- В Tuist включите единый вход и выберите OAuth2.
- Введите URL провайдера, конечную точку авторизации, конечную точку токена, конечную точку информации о пользователе, идентификатор клиента и секрет клиента.
- Введите и сохраните Домен электронной почты для входа. Это домен электронной почты сотрудников, а не URL провайдера.
- Добавьте текстовую запись, показанную Tuist, в домен электронной почты для входа, затем нажмите Проверить домен.
- Выберите регистрацию только по приглашению или автоматическую регистрацию и сохраните конфигурацию.
- Протестируйте вход перед необязательным включением Принудительного единого входа.
URL провайдера ограничивает идентификацию выдающим провайдером. Проверенный домен электронной почты для входа определяет, каким адресам электронной почты Tuist может доверять при связывании или регистрации пользователей.
Настройка через командную строку#
Интерфейс командной строки позволяет настроить Google Workspace или Okta и выбрать политику регистрации. Например:
tuist organization update sso example \
--provider okta \
--organization-id your-company.okta.com \
--enrollment-policy invitation-only
Microsoft Entra ID и пользовательские провайдеры настраиваются через настройки аутентификации организации, а не через командную строку.
Значение --organization-id идентифицирует организацию провайдера. Это не домен электронной почты для входа. Добавьте и проверьте домен электронной почты для входа в настройках аутентификации организации перед регистрацией новых пользователей Okta.
Устранение неполадок#
Существующие участники могут войти, но новые пользователи не могут#
Для конфигураций Okta и пользовательских провайдеров убедитесь, что домен электронной почты для входа проверен. Затем либо пригласите пользователя, либо включите автоматическую регистрацию.
Единый вход просит сначала войти в систему#
Адрес электронной почты вашей учетной записи Tuist не находится в проверенном домене электронной почты для входа организации, или домен еще не проверен, поэтому Tuist не связывает идентичность провайдера автоматически. Войдите в систему обычным способом и подтвердите связь, как описано в разделе Связать существующую учетную запись Tuist.
Tuist не может найти организацию для адреса электронной почты#
Убедитесь, что пользователь ввел ожидаемый адрес электронной почты сотрудника и что его домен точно совпадает с проверенным доменом электронной почты для входа. Существующих участников также можно обнаружить через их текущее членство в организации.
Проверка домена все еще ожидает выполнения#
Убедитесь, что имя и значение текстовой записи точно совпадают со значениями, показанными в Tuist. Изменения в системе доменных имен (DNS) могут распространяться некоторое время, поэтому повторите проверку после того, как запись станет общедоступной.
Вход прекратился после смены провайдера#
Подтвердите новую конфигурацию провайдера, проверьте домен электронной почты для входа и протестируйте процесс входа перед включением принудительного режима.