Единый вход
Tuist предлагает единый вход как вариант авторизации для повышения безопасности аккаунтов вашей организации.
Единый вход настраивается на вкладке Аутентификация в настройках организации. Поддерживаются Google Workspace, Okta, Microsoft Entra ID и пользовательские провайдеры OAuth 2.0.
Microsoft Entra ID — это провайдер OpenID Connect, который Tuist настраивает за вас на основе идентификатора вашего каталога. Всё, что описано в этом руководстве для пользовательских провайдеров, включая проверку домена электронной почты для входа и регистрацию, применимо и к нему.
Единый вход управляет тем, как участники проходят аутентификацию и могут ли авторизованные пользователи присоединяться автоматически. Предоставление учетных записей через систему управления идентификацией (SCIM) определяет, может ли провайдер удостоверений создавать, обновлять и удалять участников организации. Для Okta большинство организаций настраивают оба механизма.
Как работает доступ#
Идентификатор провайдера, обнаружение при входе и регистрация в организации — это отдельные аспекты:
- Издатель провайдера: Организация-провайдер или сервер авторизации, который выполнил аутентификацию пользователя. При поиске связанной идентичности Tuist объединяет провайдер, издателя и стабильный идентификатор пользователя провайдера. Для Okta издатель представлен доменом Okta. Для Microsoft Entra ID он определяется по идентификатору каталога (арендатора). Для пользовательского провайдера он представлен URL-адресом провайдера.
- Домен электронной почты для входа: Домен электронной почты, который Tuist использует для обнаружения провайдера Okta или пользовательского провайдера на общей странице входа. После проверки он также определяет, какие адреса электронной почты можно доверять для привязки новых аккаунтов и автоматической регистрации.
- Политика регистрации: Определяет, нужен ли пользователю из доверенного домена приглашение или он может присоединиться автоматически.
- Предоставление учетных записей: Создает и управляет членством в организации независимо от процесса входа.
Издатель провайдера и домен электронной почты для входа часто различаются. Например, компания может использовать example.com для корпоративной почты, тогда как издатель её провайдера — https://login.vendor.example.net. В новых конфигурациях Okta и пользовательских провайдеров эти значения хранятся раздельно.
Проверка домена электронной почты для входа#
Конфигурации Okta и пользовательских провайдеров требуют проверенный домен электронной почты для входа, прежде чем они смогут создать новый аккаунт Tuist или привязать существующий аккаунт по его адресу электронной почты. Участники всё ещё могут привязать свой существующий аккаунт, пока домен не проверен.
- Введите домен электронной почты сотрудников, например
example.com, в поле Домен электронной почты для входа. - Сохраните конфигурацию единого входа.
- Добавьте текстовую запись, показанную Tuist, в конфигурацию системы доменных имен (DNS) вашего домена.
- Вернитесь в настройки аутентификации и нажмите Проверить домен.
Проверенный домен электронной почты для входа может принадлежать только одной организации 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, затем нажмите Привязать аккаунт.
Если участник начинает процесс с единого входа, будучи неавторизованным, система сначала предложит ему войти, а затем вернется к подтверждению. Привязка не зависит от проверки домена, поэтому участники могут использовать единый вход до проверки домена.
Существующие организации#
Все организации 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. - Установите Sign-in redirect 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) могут занимать время на распространение, поэтому повторите проверку после того, как запись станет общедоступной.
Вход прекратился после смены провайдера#
Подтвердите новую конфигурацию провайдера, проверьте домен электронной почты для входа и протестируйте процесс входа перед включением принудительного режима.