Настройка аутентификации SAML через пользовательский интерфейс Grafana
Note
Доступно в Grafana Enterprise версии 10.0 и более поздних, а также для клиентов на отдельных планах Grafana Cloud. Информацию о ценах см. на странице Цены или свяжитесь с нашей командой продаж.
Вы можете настроить аутентификацию SAML в Grafana с помощью файла конфигурации, Terraform, API или интерфейса. Дополнительные сведения см. в разделе Варианты настройки аутентификации SAML в Grafana. Конфигурация в API или интерфейсе имеет приоритет над конфигурацией в файле конфигурации Grafana. Дополнительную информацию о том, как Grafana определяет порядок приоритета своих настроек, см. в SSO Settings API.
Интерфейс Grafana SAML предоставляет следующие преимущества по сравнению с настройкой SAML в файле конфигурации Grafana:
- Он доступен пользователям Grafana Cloud.
- Доступ к интерфейсу SAML требует только доступа к настройкам аутентификации, поэтому пользователи с ограниченным доступом к конфигурации Grafana могут его использовать.
- Интерфейс SAML выполняет валидацию ввода и даёт обратную связь о том, работает ли конфигурация, что упрощает настройку SAML.
- Он не требует перезапуска Grafana после обновления конфигурации.
Чтобы настроить аутентификацию SAML из интерфейса, войдите в Grafana и перейдите в Administration > Authentication > Configure SAML и следуйте этому документу.
Перед началом
Чтобы следовать этому руководству, вам нужно:
- Знание аутентификации SAML. См. Аутентификация SAML в Grafana для обзора интеграции SAML в Grafana.
- Разрешения
settings:readиsettings:writeс областьюsettings:auth.saml:*, которые позволяют читать и обновлять настройки аутентификации SAML и предоставляются рольюfixed:authentication.config:writer. По умолчанию эта роль предоставляется администратору сервера Grafana в самостоятельно размещённых экземплярах и администраторам организации в экземплярах Grafana Cloud. - Экземпляр Grafana, работающий на версии Grafana 10.0 или более поздней, с Grafana Enterprise или определённая учётная запись Grafana Cloud.
Общие настройки
Заполните поля General settings:
- Allow signup: если включено, вы можете создавать пользователей через вход SAML. Если оно отключено, только существующие пользователи Grafana могут войти с SAML.
- Auto login: если включено, Grafana автоматически входит с SAML, пропуская экран входа.
- Single logout: функция единого выхода SAML позволяет пользователям выходить из всех приложений, связанных с текущей сессией IdP, установленной с помощью SAML SSO. Дополнительную информацию см. в документации по единому выходу SAML.
- Identity provider initiated login: позволяет пользователям входить в Grafana напрямую из SAML IdP. Дополнительную информацию см. в документации по входу, инициированному IdP.
Подпись запросов
Переключите Sign requests, чтобы указать, хотите ли вы, чтобы исходящие запросы были подписаны. Хотя это необязательно, запрашивание подписей обеспечивает более безопасный подход к SAML.
Если вы решите их подписывать:
-
Предоставьте сертификат и приватный ключ, которые будут использоваться поставщиком услуг (Grafana) и SAML IdP.
Используйте формат PKCS #8 для выпуска приватного ключа.
Дополнительную информацию см. в примере того, как сгенерировать учётные данные SAML.
В качестве альтернативы вы можете сгенерировать новую пару приватного ключа и сертификата непосредственно из интерфейса. Нажмите кнопку
Generate key and certificate, чтобы открыть форму, в которой вы предоставляете информацию для встраивания в новый сертификат. -
Выберите, какой алгоритм подписи использовать. Стандарт SAML рекомендует использовать цифровую подпись для некоторых типов сообщений, таких как запросы аутентификации или выхода, чтобы избежать атак типа “человек посередине”.
Подключение Grafana к провайдеру идентификации
Note
Вы можете пропустить этот экран.
Настройте IdP с помощью метаданных Grafana:
- Скопируйте Metadata URL и предоставьте его вашему SAML IdP, чтобы установить соединение между Grafana и IdP. Metadata URL содержит информацию, необходимую IdP для установления соединения с Grafana.
- Скопируйте Assertion Consumer Service URL и предоставьте его вашему SAML IdP. Assertion Consumer Service URL — это конечная точка, куда IdP отправляет утверждение SAML после того, как пользователь был аутентифицирован.
- Если вы хотите использовать функцию Single Logout, скопируйте Single Logout Service URL и предоставьте его вашему SAML IdP.
Завершите настройку Grafana с помощью данных IdP:
- Метаданные содержат информацию, необходимую Grafana для установления соединения с IdP.
- Их можно предоставить как значение в кодировке Base64, путь к файлу или как URL.
Сопоставление пользователей
Сопоставление утверждений
Если вы хотите сопоставить информацию о пользователе из утверждений SAML, заполните раздел Assertion attributes mappings.
- Чтобы использовать синхронизацию команд, вам нужно настроить поле Groups attribute. Синхронизация команд автоматически сопоставляет пользователей с командами Grafana на основе их членства в группах SAML. Узнайте больше о синхронизации команд и настройке синхронизации команд для SAML.
Сопоставление ролей
Если вы хотите автоматически назначать роли пользователей на основе их ролей SAML, заполните раздел Role mapping.
Сначала вам нужно настроить поле Role attribute, чтобы указать, какой атрибут SAML следует использовать для получения информации о роли SAML. Затем введите роли SAML, которые вы хотите сопоставить с ролями Grafana, в разделе Role mapping. Если вы хотите сопоставить несколько ролей SAML с одной ролью Grafana, разделите их запятой и пробелом. Например, Editor: editor, developer.
Сопоставление ролей автоматически обновляет базовую роль пользователя на основе его ролей SAML при каждом входе пользователя в Grafana. Узнайте больше о синхронизации ролей SAML.
Сопоставление с Entra ID
Если вы используете Entra ID в качестве провайдера идентификации через SAML, помните об интерпретации Azure этих атрибутов. Введите полные URL в соответствующих полях в интерфейсе, которые должны совпадать с URL из XML-метаданных. Существуют различия в зависимости от того, является ли это утверждением Role или Group, а не другими утверждениями, которые Microsoft задокументировала.
Group и Role:
http://schemas.microsoft.com/ws/2008/06/identity/claims/role
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
http://schemas.microsoft.com/identity/claims/displayname
Другие утверждения:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Если вы настраиваете Grafana с Entra ID, используя протокол SAML, и хотите получать группы пользователей из Graph API, заполните подраздел Entra ID Service Account Configuration.
- Настройте сервисную учётную запись в Entra ID и предоставьте необходимые сведения в разделе Entra ID Service Account Configuration.
- Предоставьте Client ID вашего приложения Entra ID.
- Предоставьте Client Secret вашего приложения Entra ID; Client Secret будет использоваться для запроса access-токена у Entra ID.
- Предоставьте Access Token URL запроса Entra ID.
- Если у вас нет пользователей с более чем 150 группами, вы всё равно можете принудительно использовать Graph API, включив переключатель Force use Graph API.
Сопоставление организаций
Если у вас несколько организаций и вы хотите автоматически добавлять пользователей в организации, заполните раздел Org mapping.
Сначала вам нужно настроить поле Org attribute, чтобы указать, какой атрибут SAML следует использовать для получения информации об организации SAML.
Теперь заполните поле Org mapping сопоставлениями от организации SAML к организации Grafana. Например, Org mapping: Engineering:2, Sales:2 сопоставит пользователей, принадлежащих организациям Engineering или Sales в SAML, с организацией Grafana с ID 2.
Если вы хотите, чтобы пользователи имели разные роли в разных организациях, вы можете дополнительно указать роль. Например, Org mapping: Engineering:2:Editor сопоставит пользователей, принадлежащих организациям Engineering в SAML, с организацией Grafana с ID 2 и назначит им роль Editor.
Сопоставление организаций автоматически обновляет членство пользователя в организациях (и роли, если они были настроены) на основе его организации SAML при каждом входе пользователя в Grafana. Узнайте больше о сопоставлении организаций SAML.
Если вы хотите ограничить доступ к Grafana на основе членства пользователя в организациях SAML, заполните поле Allowed organizations.
Тестирование и включение
- Нажмите Save and enable. Если в вашей конфигурации есть проблемы, появится сообщение об ошибке. Вернитесь к предыдущим шагам, чтобы исправить проблемы, и нажмите
Save and applyв правом верхнем углу, когда закончите. - Если проблем с конфигурацией нет, статус интеграции SAML изменится на
Enabled. Ваша конфигурация SAML теперь включена. - Чтобы отключить интеграцию SAML, нажмите
Disableв правом верхнем углу.