Настройка провижининга SCIM
System for Cross-domain Identity Management (SCIM) — это открытый стандарт, который позволяет автоматизировать провижининг и управление пользователями. С помощью SCIM вы можете автоматизировать провижининг пользователей и групп из вашего провайдера идентификации в Grafana.
Note
Доступно в Grafana Enterprise и Grafana Cloud.
Преимущества
Note
Провижининг SCIM работает только с аутентификацией SAML. Другие методы аутентификации не поддерживаются.
SCIM предлагает несколько преимуществ для управления пользователями и командами в Grafana:
- Автоматизированный провижининг пользователей: автоматическое создание, обновление и отключение пользователей в Grafana при изменениях в вашем провайдере идентификации
- Автоматизированное управление жизненным циклом команд: автоматическое создание команд при добавлении новых групп, обновление членства в командах и удаление команд при удалении групп из вашего провайдера идентификации
- Снижение административных издержек: устранение задач ручного управления пользователями и снижение риска человеческой ошибки
- Повышенная безопасность: автоматическое отключение доступа, когда пользователи покидают вашу организацию
Требования к аутентификации и доступу
Когда вы включаете SCIM в Grafana, применяются следующие требования и ограничения:
-
Используйте одного и того же провайдера идентификации для провижининга пользователей и для процесса аутентификации: вы должны использовать одного и того же провайдера идентификации как для аутентификации, так и для провижининга пользователей.
-
Ограничение безопасности: при использовании SAML процесс аутентификации при входе требует, чтобы обмен утверждениями SAML между провайдером идентификации и Grafana включал утверждение SAML
userUIDс уникальным идентификатором пользователя у провайдера идентификации.
Согласование идентификатора 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. Здесь вы можете настроить следующие параметры:
Интерфейс SCIM также отображает информацию, которая может помочь вам настроить SCIM в вашем провайдере идентификации, включая домен стека, ID стека и URL тенанта.
Дальнейшие шаги
После настройки SCIM в Grafana настройте ваш провайдер идентификации:
Настройка SCIM через файл конфигурации
В таблице ниже описаны все параметры конфигурации SCIM. Как и любую другую конфигурацию Grafana, вы можете применять эти параметры как переменные среды.
Warning
Совместимость с синхронизацией команд:
- Синхронизация групп SCIM (
group_sync_enabled = true) и синхронизация команд не могут быть включены одновременно- Вы можете использовать синхронизацию пользователей SCIM (
user_sync_enabled = true) вместе с синхронизацией команд- Для получения более подробной информации о миграции и совместимости см. SCIM vs Team Sync
Пример конфигурации SCIM
[auth.scim]
user_sync_enabled = true
group_sync_enabled = false
reject_non_provisioned_users = false
Настройка SCIM с помощью Terraform
Вы также можете настроить провижининг SCIM в Grafana с помощью провайдера Grafana Terraform. Этот подход особенно полезен для развёртываний “инфраструктура как код” и автоматизированного провижининга.
Пример конфигурации Terraform SCIM
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 поддерживает те же параметры конфигурации, что и ручная конфигурация:
Поддерживаемые провайдеры идентификации
Поддерживаются следующие провайдеры идентификации:
Как это работает
Процесс синхронизации работает следующим образом:
- Настройте SCIM как в вашем провайдере идентификации, так и в Grafana
- Ваш провайдер идентификации отправляет запросы SCIM в конечную точку Grafana SCIM API
- Grafana обрабатывает эти запросы для создания, обновления или деактивации пользователей и команд, а также синхронизации членства в командах
Сравнение с другими методами синхронизации
Grafana предлагает несколько методов синхронизации пользователей, команд и ролей. Следующая таблица сравнивает SCIM с другими методами синхронизации, чтобы помочь вам понять преимущества:
Ключевые преимущества
- Комплексная автоматизация пользователей и команд: SCIM обеспечивает полную автоматизацию провижининга пользователей и команд, тогда как управление ролями обрабатывается отдельно через синхронизацию ролей
- Динамическое создание команд: команды создаются автоматически на основе групп провайдера идентификации
- Синхронизация почти в реальном времени: изменения в провайдере идентификации отражаются в соответствии с расписанием синхронизации провайдера
- Готовность к уровню предприятия: разработано для крупных организаций со сложными потребностями в управлении пользователями