Параметры конфигурации SAML

Эта страница предоставляет исчерпывающее руководство по настройке аутентификации SAML в Grafana. Вы найдёте подробные примеры конфигурации, доступные настройки и их описания, которые помогут вам настроить и кастомизировать аутентификацию SAML для вашего экземпляра Grafana.

В таблице ниже описаны все параметры конфигурации SAML. Читайте далее для получения сведений о конкретных параметрах. Как и любую другую конфигурацию Grafana, вы можете применять эти параметры как переменные среды.

Параметр Обязательно Описание По умолчанию
enabled Нет Разрешена ли аутентификация SAML. false
name Нет Имя, используемое для ссылки на аутентификацию SAML в пользовательском интерфейсе Grafana. SAML
entity_id Нет Entity ID поставщика услуг. Это уникальный идентификатор поставщика услуг. https://{Grafana URL}/saml/metadata
single_logout Нет Включён ли единый выход SAML. false
allow_sign_up Нет Разрешать ли создание новых пользователей Grafana через вход SAML. Если установлено false, то только существующие пользователи Grafana могут войти с SAML. true
auto_login Нет Включён ли автоматический вход SAML. false
allow_idp_initiated Нет Разрешён ли вход, инициированный IdP SAML. false
certificate или certificate_path Да Строка в кодировке base64 или путь к сертификату SP X.509.
private_key или private_key_path Да Строка в кодировке base64 или путь к приватному ключу SP.
signature_algorithm Нет Алгоритм подписи, используемый для подписи запросов к IdP. Поддерживаемые значения: rsa-sha1, rsa-sha256, rsa-sha512.
idp_metadata, idp_metadata_path или idp_metadata_url Да Строка в кодировке base64, путь или URL к XML-метаданным IdP SAML.
max_issue_delay Нет Максимальное время, допускаемое между выпуском AuthnRequest от SP и обработкой Response. 90s
metadata_valid_duration Нет Длительность, в течение которой метаданные SP остаются действительными. 48h
relay_state Нет Relay state для входа, инициированного IdP. Это должно совпадать с relay state, настроенным в IdP.
assertion_attribute_name Нет Понятное имя (friendly name) или имя атрибута внутри утверждения SAML, используемого как имя пользователя. В качестве альтернативы это может быть шаблон с переменными, соответствующими именам атрибутов внутри утверждения SAML. displayName
assertion_attribute_login Нет Понятное имя или имя атрибута внутри утверждения SAML, используемого как логин пользователя. mail
assertion_attribute_email Нет Понятное имя или имя атрибута внутри утверждения SAML, используемого как адрес электронной почты пользователя. mail
assertion_attribute_groups Нет Понятное имя или имя атрибута внутри утверждения SAML, используемого как группы пользователя.
assertion_attribute_role Нет Понятное имя или имя атрибута внутри утверждения SAML, используемого как роли пользователя.
assertion_attribute_org Нет Понятное имя или имя атрибута внутри утверждения SAML, используемого как организация пользователя
assertion_attribute_external_uid Нет Понятное имя или имя атрибута внутри утверждения SAML, используемого как внешний UID пользователя. userUID
allowed_organizations Нет Список организаций, разделённых запятыми или пробелами. Пользователь должен быть членом как минимум одной организации, чтобы войти.
org_mapping Нет Список сопоставлений Organization:OrgId:Role, разделённых запятыми или пробелами. Organization может быть *, что означает “Все пользователи”. Роль необязательна и может иметь следующие значения: None, Viewer, Editor или Admin.
role_values_none Нет Список ролей, разделённых запятыми или пробелами, которые будут сопоставлены с ролью None.
role_values_viewer Нет Список ролей, разделённых запятыми или пробелами, которые будут сопоставлены с ролью Viewer.
role_values_editor Нет Список ролей, разделённых запятыми или пробелами, которые будут сопоставлены с ролью Editor.
role_values_admin Нет Список ролей, разделённых запятыми или пробелами, которые будут сопоставлены с ролью Admin.
role_values_grafana_admin Нет Список ролей, разделённых запятыми или пробелами, которые будут сопоставлены с ролью Grafana Admin (Super Admin).
skip_org_role_sync Нет Пропускать ли синхронизацию ролей организации. false
name_id_format Нет Задаёт формат запрашиваемого элемента NameID в SAML AuthnRequest. urn:oasis:names:tc:SAML:2.0:nameid-format:transient
client_id Нет Client ID сервисного приложения IdP, используемый для получения дополнительной информации о пользователе от IdP. (Только Microsoft Entra ID)
client_secret Нет Client secret сервисного приложения IdP, используемый для получения дополнительной информации о пользователе от IdP. (Только Microsoft Entra ID)
token_url Нет URL для получения access-токена от IdP. (Только Microsoft Entra ID)
force_use_graph_api Нет Использовать ли сервисное приложение IdP для получения дополнительной информации о пользователе от IdP. (Только Microsoft Entra ID) false

Пример конфигурации SAML

ini
[auth.saml]
enabled = true
auto_login = false
certificate_path = "/path/to/certificate.cert"
private_key_path = "/path/to/private_key.pem"
idp_metadata_path = "/my/metadata.xml"
max_issue_delay = 90s
metadata_valid_duration = 48h
assertion_attribute_name = displayName
assertion_attribute_login = mail
assertion_attribute_email = mail

assertion_attribute_groups = Group
assertion_attribute_role = Role
assertion_attribute_org = Org
role_values_viewer = external
role_values_editor = editor, developer
role_values_admin = admin, operator
role_values_grafana_admin = superadmin
org_mapping = Engineering:2:Editor, Engineering:3:Viewer, Sales:3:Editor, *:1:Editor
allowed_organizations = Engineering, Sales

Пример конфигурации SAML в Terraform

terraform
resource "grafana_sso_settings" "saml_sso_settings" {
  provider_name = "saml"
  saml_settings {
    name                       = "SAML"
    auto_login                 = false
    certificate_path           = "/path/to/certificate.cert"
    private_key_path           = "/path/to/private_key.pem"
    idp_metadata_path          = "/my/metadata.xml"
    max_issue_delay            = "90s"
    metadata_valid_duration    = "48h"
    assertion_attribute_name   = "displayName"
    assertion_attribute_login  = "mail"
    assertion_attribute_email  = "mail"
    assertion_attribute_groups = "Group"
    assertion_attribute_role   = "Role"
    assertion_attribute_org    = "Org"
    role_values_editor         = "editor, developer"
    role_values_admin          = "admin, operator"
    role_values_grafana_admin  = "superadmin"
    org_mapping                = "Engineering:2:Editor, Engineering:3:Viewer, Sales:3:Editor, *:1:Editor"
    allowed_organizations      = "Engineering, Sales"
  }
}

Полное справочное руководство по использованию ресурса grafana_sso_settings см. в Terraform Registry.