docs/sources/setup-grafana/configure-access/configure-scim-provisioning/_index.md
System for Cross-domain Identity Management (SCIM) is an open standard that allows automated user provisioning and management. With SCIM, you can automate the provisioning of users and groups from your identity provider to Grafana.
{{< admonition type="note" >}} Available in Grafana Enterprise and Grafana Cloud. {{< /admonition >}}
{{< admonition type="note" >}} SCIM provisioning only works with SAML authentication. Other authentication methods aren't supported. {{< /admonition >}}
SCIM offers several advantages for managing users and teams in Grafana:
When you enable SCIM in Grafana, the following requirements and restrictions apply:
Use the same identity provider for user provisioning and for authentication flow: You must use the same identity provider for both authentication and user provisioning.
Security restriction: When using SAML, the login authentication flow requires the SAML assertion exchange between the Identity Provider and Grafana to include the userUID SAML assertion with the user's unique identifier at the Identity Provider.
externalIdWhen you use SAML with SCIM provisioning, align the SCIM externalId with the SAML user identifier. Use a stable IdP attribute (for example, Entra ID user.objectid) as the SCIM externalId, and send that same value as a SAML claim. Configure Grafana to read this claim with the assertion_attribute_external_uid setting so SAML authentication links to the SCIM-provisioned user and its permissions.
If the SAML identifier and SCIM externalId differ, Grafana may not link the authenticated user to the intended SCIM profile, which can result in incorrect access. Verify your IdP sends a stable, unique identifier and that it matches the SCIM externalId. Refer to your IdP docs and the Grafana SCIM integration guides for Entra ID and Okta for attribute configuration details.
You can configure SCIM in Grafana using the Grafana user interface. To do this, navigate to Administration > Authentication > SCIM.
The Grafana SCIM UI provides the following advantages over configuring SCIM in the Grafana configuration file:
{{< admonition type="note" >}} Any configuration changes made through the Grafana user interface (UI) will take precedence over settings specified in the Grafana configuration file or through environment variables. This means that if you modify any configuration settings in the UI, they will override any corresponding settings set via environment variables or defined in the configuration file. {{< /admonition >}}
Sign in to Grafana and navigate to Administration > Authentication > SCIM. Here you can configure the following settings:
| Setting | Required | Description | Default |
|---|---|---|---|
Enable Group Sync | No | Enable SCIM group provisioning. When enabled, Grafana will create, update, and delete teams based on SCIM requests from your identity provider. Cannot be enabled if Team Sync is enabled. | false |
Reject Non-Provisioned Users | No | When enabled, prevents non-SCIM provisioned users from signing in. Cloud Portal users can always sign in regardless of this setting. | false |
Enable User Sync | Yes | Enable SCIM user provisioning. When enabled, Grafana will create, update, and deactivate users based on SCIM requests from your identity provider. | false |
The SCIM UI also displays information that may help you configure SCIM in your identity provider, including stack domain, stack ID, and tenant URL.
After configuring SCIM in Grafana, configure your identity provider:
The table below describes all SCIM configuration options. Like any other Grafana configuration, you can apply these options as environment variables.
| Setting | Required | Description | Default |
|---|---|---|---|
user_sync_enabled | Yes | Enable SCIM user provisioning. When enabled, Grafana will create, update, and deactivate users based on SCIM requests from your identity provider. | false |
group_sync_enabled | No | Enable SCIM group provisioning. When enabled, Grafana will create, update, and delete teams based on SCIM requests from your identity provider. Cannot be enabled if Team Sync is enabled. | false |
reject_non_provisioned_users | No | When enabled, prevents non-SCIM provisioned users from signing in. Cloud Portal users can always sign in regardless of this setting. | false |
{{< admonition type="warning" >}} Team Sync Compatibility:
group_sync_enabled = true) and Team Sync cannot be enabled simultaneouslyuser_sync_enabled = true) alongside Team Sync[auth.scim]
user_sync_enabled = true
group_sync_enabled = false
reject_non_provisioned_users = false
You can also configure SCIM provisioning in Grafana using the Grafana Terraform provider. This approach is particularly useful for infrastructure-as-code deployments and automated provisioning.
resource "grafana_scim_config" "scim_config" {
user_sync_enabled = true
group_sync_enabled = false
reject_non_provisioned_users = false
}
The Terraform grafana_scim_config resource supports the same configuration options as the manual configuration:
| Setting | Required | Description | Default |
|---|---|---|---|
user_sync_enabled | Yes | Enable SCIM user provisioning. When enabled, Grafana will create, update, and deactivate users based on SCIM requests from your identity provider. | false |
group_sync_enabled | No | Enable SCIM group provisioning. When enabled, Grafana will create, update, and delete teams based on SCIM requests from your identity provider. Cannot be enabled if Team Sync is enabled. | false |
reject_non_provisioned_users | No | When enabled, prevents non-SCIM provisioned users from signing in. Cloud Portal users can always sign in regardless of this setting. | false |
The following identity providers are supported:
The synchronization process works as follows:
Grafana offers several methods for synchronizing users, teams, and roles. The following table compares SCIM with other synchronization methods to help you understand the advantages:
| Sync Method | Users | Teams | Roles | Automation | Key Benefits | Limitations | On-Prem | Cloud |
|---|---|---|---|---|---|---|---|---|
| SCIM | ✅ | ✅ | ⚠️ | Full | Complete user and team lifecycle management with automatic team creation | Requires SAML authentication; uses Role Sync for basic roles | ✅ | ✅ |
| Team Sync | ❌ | ⚠️ | ❌ | Partial | Syncs team memberships to existing teams | Requires manual team creation; no team lifecycle management | ✅ | ✅ |
| Active LDAP Sync | ✅ | ❌ | ❌ | Full | Background synchronization of LDAP users | Limited to LDAP environments | ✅ | ❌ |
| Role Sync | ❌ | ❌ | ✅ | Full | Full automation of basic role assignment | Limited to basic roles only | ✅ | ✅ |
| Org Mapping | ❌ | ❌ | ⚠️ | Full | Full automation of basic role assignment per organization | Limited to basic roles only; on-premises only | ⚠️ | ❌ |