Настройка провижининга SCIM

System for Cross-domain Identity Management (SCIM) — это открытый стандарт, который позволяет автоматизировать провижининг и управление пользователями. С помощью SCIM вы можете автоматизировать провижининг пользователей и групп из вашего провайдера идентификации в Grafana.

Note

Доступно в Grafana Enterprise и Grafana Cloud.

Преимущества

Note

Провижининг SCIM работает только с аутентификацией SAML. Другие методы аутентификации не поддерживаются.

SCIM предлагает несколько преимуществ для управления пользователями и командами в Grafana:

  • Автоматизированный провижининг пользователей: автоматическое создание, обновление и отключение пользователей в Grafana при изменениях в вашем провайдере идентификации
  • Автоматизированное управление жизненным циклом команд: автоматическое создание команд при добавлении новых групп, обновление членства в командах и удаление команд при удалении групп из вашего провайдера идентификации
  • Снижение административных издержек: устранение задач ручного управления пользователями и снижение риска человеческой ошибки
  • Повышенная безопасность: автоматическое отключение доступа, когда пользователи покидают вашу организацию

Требования к аутентификации и доступу

Когда вы включаете SCIM в Grafana, применяются следующие требования и ограничения:

  1. Используйте одного и того же провайдера идентификации для провижининга пользователей и для процесса аутентификации: вы должны использовать одного и того же провайдера идентификации как для аутентификации, так и для провижининга пользователей.

  2. Ограничение безопасности: при использовании SAML процесс аутентификации при входе требует, чтобы обмен утверждениями SAML между провайдером идентификации и Grafana включал утверждение SAML userUID с уникальным идентификатором пользователя у провайдера идентификации.

    • Настройте утверждение SAML userUID в Entra ID
    • Настройте утверждение SAML userUID в Okta

Согласование идентификатора SAML с SCIM externalId

Когда вы используете SAML с провижинингом SCIM, согласуйте SCIM externalId с идентификатором пользователя SAML. Используйте стабильный атрибут IdP (например, Entra ID user.objectid) в качестве SCIM externalId и отправляйте то же значение как утверждение SAML. Настройте Grafana на чтение этого утверждения с помощью параметра assertion_attribute_external_uid, чтобы аутентификация SAML связывалась с провижиненным через SCIM пользователем и его разрешениями.

Если идентификатор SAML и SCIM externalId различаются, Grafana может не связать аутентифицированного пользователя с предполагаемым профилем SCIM, что может привести к неправильному доступу. Убедитесь, что ваш IdP отправляет стабильный уникальный идентификатор и что он совпадает с SCIM externalId. Обратитесь к документации вашего IdP и руководствам по интеграции Grafana SCIM для Entra ID и Okta для получения сведений о настройке атрибутов.

Настройка SCIM через пользовательский интерфейс Grafana

Вы можете настроить SCIM в Grafana через пользовательский интерфейс Grafana. Для этого перейдите в Administration > Authentication > SCIM.

Интерфейс Grafana SCIM предоставляет следующие преимущества по сравнению с настройкой SCIM в файле конфигурации Grafana:

  • Он доступен пользователям Grafana Cloud
  • Он не требует перезапуска Grafana после обновления конфигурации
  • Использование разрешения настроек аутентификации позволяет нам ограничить область доступа Grafana, а не полагаться на чрезмерно разрешающую роль, такую как Admin.

Note

Любые изменения конфигурации, сделанные через пользовательский интерфейс Grafana (UI), имеют приоритет над настройками, указанными в файле конфигурации Grafana или через переменные среды. Это означает, что если вы измените какие-либо настройки конфигурации в интерфейсе, они переопределят любые соответствующие настройки, заданные через переменные среды или определённые в файле конфигурации.

Настройка параметров SCIM

Войдите в Grafana и перейдите в Administration > Authentication > SCIM. Здесь вы можете настроить следующие параметры:

Параметр Обязательно Описание По умолчанию
Enable Group Sync Нет Включает провижининг групп SCIM. Когда включено, Grafana будет создавать, обновлять и удалять команды на основе запросов SCIM от вашего провайдера идентификации. Не может быть включено, если включена синхронизация команд. false
Reject Non-Provisioned Users Нет Когда включено, предотвращает вход пользователей, не провижиненных через SCIM. Пользователи Cloud Portal всегда могут войти независимо от этой настройки. false
Enable User Sync Да Включает провижининг пользователей SCIM. Когда включено, Grafana будет создавать, обновлять и деактивировать пользователей на основе запросов SCIM от вашего провайдера идентификации. false

Интерфейс SCIM также отображает информацию, которая может помочь вам настроить SCIM в вашем провайдере идентификации, включая домен стека, ID стека и URL тенанта.

Дальнейшие шаги

После настройки SCIM в Grafana настройте ваш провайдер идентификации:

Настройка SCIM через файл конфигурации

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

Параметр Обязательно Описание По умолчанию
user_sync_enabled Да Включает провижининг пользователей SCIM. Когда включено, Grafana будет создавать, обновлять и деактивировать пользователей на основе запросов SCIM от вашего провайдера идентификации. false
group_sync_enabled Нет Включает провижининг групп SCIM. Когда включено, Grafana будет создавать, обновлять и удалять команды на основе запросов SCIM от вашего провайдера идентификации. Не может быть включено, если включена синхронизация команд. false
reject_non_provisioned_users Нет Когда включено, предотвращает вход пользователей, не провижиненных через SCIM. Пользователи Cloud Portal всегда могут войти независимо от этой настройки. false

Warning

Совместимость с синхронизацией команд:

  • Синхронизация групп SCIM (group_sync_enabled = true) и синхронизация команд не могут быть включены одновременно
  • Вы можете использовать синхронизацию пользователей SCIM (user_sync_enabled = true) вместе с синхронизацией команд
  • Для получения более подробной информации о миграции и совместимости см. SCIM vs Team Sync

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

ini
[auth.scim]
user_sync_enabled = true
group_sync_enabled = false
reject_non_provisioned_users = false

Настройка SCIM с помощью Terraform

Вы также можете настроить провижининг SCIM в Grafana с помощью провайдера Grafana Terraform. Этот подход особенно полезен для развёртываний “инфраструктура как код” и автоматизированного провижининга.

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

hcl
resource "grafana_scim_config" "scim_config" {
  user_sync_enabled            = true
  group_sync_enabled           = false
  reject_non_provisioned_users = false
}

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

Ресурс Terraform grafana_scim_config поддерживает те же параметры конфигурации, что и ручная конфигурация:

Параметр Обязательно Описание По умолчанию
user_sync_enabled Да Включает провижининг пользователей SCIM. Когда включено, Grafana будет создавать, обновлять и деактивировать пользователей на основе запросов SCIM от вашего провайдера идентификации. false
group_sync_enabled Нет Включает провижининг групп SCIM. Когда включено, Grafana будет создавать, обновлять и удалять команды на основе запросов SCIM от вашего провайдера идентификации. Не может быть включено, если включена синхронизация команд. false
reject_non_provisioned_users Нет Когда включено, предотвращает вход пользователей, не провижиненных через SCIM. Пользователи Cloud Portal всегда могут войти независимо от этой настройки. false

Поддерживаемые провайдеры идентификации

Поддерживаются следующие провайдеры идентификации:

Как это работает

Процесс синхронизации работает следующим образом:

  1. Настройте SCIM как в вашем провайдере идентификации, так и в Grafana
  2. Ваш провайдер идентификации отправляет запросы SCIM в конечную точку Grafana SCIM API
  3. Grafana обрабатывает эти запросы для создания, обновления или деактивации пользователей и команд, а также синхронизации членства в командах

Сравнение с другими методами синхронизации

Grafana предлагает несколько методов синхронизации пользователей, команд и ролей. Следующая таблица сравнивает SCIM с другими методами синхронизации, чтобы помочь вам понять преимущества:

Метод синхронизации Пользователи Команды Роли Автоматизация Ключевые преимущества Ограничения On-Prem Cloud
SCIM ✅ ✅ ⚠️ Полная Полное управление жизненным циклом пользователей и команд с автоматическим созданием команд Требует аутентификации SAML; использует синхронизацию ролей для базовых ролей ✅ ✅
Синхронизация команд ❌ ⚠️ ❌ Частичная Синхронизирует членство в командах с существующими командами Требует ручного создания команд; нет управления жизненным циклом команд ✅ ✅
Активная синхронизация LDAP ✅ ❌ ❌ Полная Фоновая синхронизация пользователей LDAP Ограничено средами LDAP ✅ ❌
Синхронизация ролей ❌ ❌ ✅ Полная Полная автоматизация назначения базовых ролей Ограничено только базовыми ролями ✅ ✅
Сопоставление организаций ❌ ❌ ⚠️ Полная Полная автоматизация назначения базовых ролей для каждой организации Ограничено только базовыми ролями; только для локальных установок ⚠️ ❌

Ключевые преимущества

  • Комплексная автоматизация пользователей и команд: SCIM обеспечивает полную автоматизацию провижининга пользователей и команд, тогда как управление ролями обрабатывается отдельно через синхронизацию ролей
  • Динамическое создание команд: команды создаются автоматически на основе групп провайдера идентификации
  • Синхронизация почти в реальном времени: изменения в провайдере идентификации отражаются в соответствии с расписанием синхронизации провайдера
  • Готовность к уровню предприятия: разработано для крупных организаций со сложными потребностями в управлении пользователями

Дальнейшие шаги