# Вход через Google или LDAP Включение [Входа через Google](https://developers.google.com/identity/sign-in/web/sign-in) или [LDAP](https://www.metabase.com/glossary/ldap) для единого входа (SSO) позволяет вашей команде входить в систему одним щелчком мыши вместо ввода электронной почты и пароля. SSO также можно использовать, чтобы позволить людям создавать учетные записи GlarusBI, не прося администратора добавлять каждого человека вручную. Вы можете найти параметры единого входа в разделе **Настройки** > **Настройки администратора** > **Аутентификация**. ## Включение входа через Google Вход через Google — хороший вариант для SSO, если: - Ваша команда уже использует Google Workspace или - Вы хотите использовать двухэтапную или многофакторную аутентификацию Google (2FA или MFA) для защиты своей GlarusBI. ### Работа в консоли разработчика Google Чтобы ваша команда начала входить в Google, вам сначала нужно создать приложение через [консоль разработчика](https://console.developers.google.com/projectselector2/apis/library). Затем вам нужно будет создать учетные данные авторизации для своего приложения, следуя [здесь инструкции от Google](https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid). Укажите URI вашего экземпляра GlarusBI в разделе «Авторизованные источники JavaScript». Вы должны оставить раздел «Авторизованные URI перенаправления» пустым. Получив идентификатор клиента (оканчивающийся на .apps.googleusercontent.com), нажмите «Настроить» в разделе «Войти с помощью Google» на странице аутентификации в панели администратора GlarusBI. Вставьте свой `client_id` в первое поле. Теперь существующие пользователи GlarusBI, вошедшие в учетную запись Google, которая совпадает с адресом электронной почты их учетной записи GlarusBI, могут войти в систему одним щелчком мыши. ### Создание учетных записей GlarusBI с помощью Google Sign-in Если вы добавили свой идентификатор клиента Google в настройки GlarusBI, вы также можете разрешить пользователям регистрироваться самостоятельно, не создавая для них учетные записи. Чтобы включить это, перейдите на страницу конфигурации Google Sign-In и укажите домен электронной почты, который вы хотите разрешить. Например, если вы работаете в WidgetCo, вы можете ввести «widgetco.com» в поле, чтобы любой, у кого есть адрес электронной почты компании, мог зарегистрироваться самостоятельно. Обратите внимание, что учетные записи GlarusBI, созданные с помощью Google Sign-In, не имеют паролей и должны использовать Google для входа в GlarusBI. ## Включение аутентификации LDAP На вкладке **Администрирование** > **Аутентификация** перейдите в раздел LDAP и нажмите **Настроить**. Щелкните переключатель в верхней части формы, чтобы включить LDAP, затем заполните форму, указав следующую информацию о своем сервере LDAP: - имя хоста - порт - Настройки безопасности - Имя пользователя администратора LDAP - Пароль администратора LDAP Затем сохраните изменения. GlarusBI извлечет из вашего каталога LDAP три основных атрибута: - электронная почта (по умолчанию атрибут `mail`) - имя (по умолчанию атрибут `givenName`) - фамилия (по умолчанию атрибут `sn`). Если в вашей настройке LDAP для них используются другие атрибуты, вы можете отредактировать их в разделе «Атрибуты» формы. ![Атрибуты](./images/ldap-attributes.png) В вашем каталоге LDAP должно быть заполнено поле электронной почты для каждой записи, которая станет пользователем GlarusBI, в противном случае GlarusBI не сможет создать учетную запись, и этот человек не сможет войти в систему. Если какое-либо поле имени отсутствует, GlarusBI используйте значение по умолчанию «Неизвестно», и человек может изменить свое имя в своих [настройках учетной записи](./account-settings.md). ### Схема пользователя LDAP В разделе **Пользовательская схема** на этой же странице вы можете настроить параметры, связанные с тем, где и как GlarusBI подключается к вашему серверу LDAP для аутентификации пользователей. Поле **База поиска пользователей** должно быть заполнено _отличительным именем_ (DN) записи на вашем сервере LDAP, которая является отправной точкой при поиске пользователей. Например, предположим, что вы настраиваете LDAP для своей компании WidgetCo, где вашим базовым DN является `dc=widgetco,dc=com`. Если все записи для сотрудников хранятся в организационной единице на вашем LDAP-сервере с именем «Люди», вы должны предоставить базовое поле поиска пользователей с DN «ou=People,dc=widgetco,dc=com». Это говорит GlarusBI начать поиск соответствующих записей в этом месте на сервере LDAP. Вы увидите следующее выделенное серым цветом значение по умолчанию в поле **Пользовательский фильтр**: ``` (&(objectClass=inetOrgPerson)(|(uid={login})(mail={login}))) ``` Когда человек входит в GlarusBI, эта команда подтверждает, что предоставленный им логин соответствует либо UID _, либо_ адресу электронной почты на вашем сервере LDAP, _и_ что соответствующая запись имеет объектный класс `inetOrgPerson`. Эта команда по умолчанию будет работать для большинства серверов LDAP, поскольку `inetOrgPerson` является широко распространенным объектным классом. Но если ваша компания, например, использует другой объектный класс для категоризации сотрудников, в этом поле вы можете установить другую команду для того, как GlarusBI находит и аутентифицирует запись LDAP при входе человека в систему. ### Сопоставление групп LDAP Ручное назначение людей в [группы](./managing.md#groups) в GlarusBI после того, как они вошли в систему через SSO, может быть утомительным. Вместо этого вы можете воспользоваться преимуществами групп, которые уже существуют в вашем каталоге LDAP, включив [сопоставления групп. Документация Metabase.](https://www.metabase.com/learn/permissions/ldap-auth-access-control#group-management). Прокрутите до **Схема группы** на той же странице настроек LDAP и щелкните переключатель, чтобы включить сопоставление групп. Выбор **Редактировать сопоставление** откроет модальное окно, в котором вы можете создавать и редактировать сопоставления, указывая, какая группа LDAP соответствует какой группе GlarusBI. Как вы можете видеть ниже, если у вас есть группа **Accounting** как на вашем сервере LDAP, так и на экземпляре GlarusBI, вам просто нужно указать отличительное имя с вашего сервера LDAP (в примере это `cn=Accounting, ou=Groups,dc=widgetco,dc=com`) и выберите его соответствие из раскрывающегося списка существующих групп GlarusBI. ![сопоставление групп](images/ldap-group-mapping.png) #### Примечания по сопоставлению групп - Группа «Администратор» работает так же, как и любая другая группа. - Обновления членства человека в группе на основе сопоставлений LDAP не происходят мгновенно; изменения вступят в силу только после того, как люди снова войдут в систему. - Люди всегда добавляются или удаляются только из сопоставленных групп; синхронизация не влияет на группы в вашей GlarusBI, у которых нет сопоставления LDAP. ### Фильтр членства в группе LDAP {% include plan-blockquote.html feature="Расширенные функции LDAP" %} Фильтр поиска членства в группе. Заполнители {dn} и {uid} будут заменены отличительным именем и UID пользователя соответственно. ## Включение аутентификации OpenID Connect (OIDC) OpenID Connect (OIDC) - это протокол аутентификации, построенный на OAuth 2.0. Для аутентификации в GlarusBI с использованием OpenID нужно настроить следующие параметры: - **OpenID provider address** - URL провайдера сервиса OpenID (также называемого *OpenID Provider*, *Identity Provider* или *IdP*), осуществляющего аутентификацию пользователя и и выдачу токена. Адреса всех конечных точек добавляются к этому URI. *(https://open-id-server/openid-handler/)* - **OpenID client ID** - Идентификатор приложения (клиента), назначаемый провайдером сервиса. В подавляющем большинстве случаев будет достаточно настроить эти два параметра, оставив в остальных значения по умолчанию. - **Auth endpoint** - Конечная точка авторизации, принимающая запрос аутентификации. Используется для аутентификации и авторизации, возвращает клиенту разрешение на авторизацию. Значение по умолчанию - `auth`. - **Token endpoint** - Конечная точка токена, может использоваться для программного запроса токенов. Значение по умолчанию - `token`. - **Userinfo endpoint** - Конечная точка пользовательских данных. Возвращает атрибуты пользователя, когда поставщики услуг предоставляют токены доступа, выданные вашей конечной точкой токена. Значение по умолчанию - `userinfo`. После настройки не забудьте нажать кнопку "Включить OpenID" вверху страницы. ## Синхронизация атрибутов пользователя при входе в систему {% include plans-blockquote.html feature="Advanced authentication features" %} ### Синхронизация пользовательских атрибутов с LDAP Вы можете управлять [атрибутами пользователя][user-attributes-def], такими как имена, адреса электронной почты и роли, из каталога LDAP. Когда вы настроите [песочницу данных][data-sandboxing-docs], ваш каталог LDAP сможет [передавать эти атрибуты][user-attributes-docs] в GlarusBI. ### Синхронизация атрибутов пользователя с Google Атрибуты пользователя нельзя синхронизировать с обычным входом в Google. Вместо этого вам потребуется настроить [Google SAML][google-saml-docs] или [JWT][jwt-docs]. ## Изменение метода входа в учетную запись с электронной почты на SSO > **Избегайте блокировки себя в GlarusBI!** Эта настройка будет применяться ко всем учетным записям GlarusBI, _включая вашу учетную запись администратора GlarusBI_. Мы рекомендуем включить аутентификацию по паролю. Это защитит вас от блокировки GlarusBI в случае каких-либо проблем с SSO. Чтобы потребовать от людей входа в систему с помощью SSO, отключите аутентификацию по паролю в разделе **Настройки администратора** > **Аутентификация**. ## Устранение проблем со входом в систему - [Не могу войти](../troubleshooting-guide/cant-log-in.md). - [Устранение неполадок LDAP](../troubleshooting-guide/ldap.md) ## Дополнительная информация - [Использование LDAP для аутентификации и управления доступом. Документация Metabase.](https://www.metabase.com/learn/permissions/ldap-auth-access-control). - [Обзор разрешений](../permissions/start.md). [data-sandboxing-docs]: ../permissions/data-sandboxes.md [google-saml-docs]: ./saml-google.md [jwt-docs]: ./authenticating-with-jwt.md [saml-docs]: ./authenticating-with-saml.md [user-attributes-docs]: ../permissions/data-sandboxes.md#getting-user-attributes [user-attributes-def]: https://www.metabase.com/glossary/attribute#user-attributes-in-metabase