Grafana SSO and identity integration

How to connect a self-hosted Grafana to your identity provider, which login method fits your edition and directory, and how to verify role and folder access before users depend on it.

On this page

Why Grafana SSO is an access design task, not just a login setting

Connecting Grafana to your identity provider is quick to switch on, but the harder work is deciding who ends up with which access once users sign in. The sign-in method sets how people prove who they are. The access design decides which corporate groups become Grafana organization roles, which teams they belong to, which folders they can see, and what happens when someone leaves the company. Treat the login setting as the last step of the project, not the first.

Grafana supports several authentication paths in every edition. According to the Grafana authentication docs, all editions support LDAP, generic OAuth, Entra ID, Okta, GitHub, GitLab, Google OAuth, auth proxy and JWT. SAML, team sync, active sync and SCIM provisioning are available only in Grafana Enterprise and Grafana Cloud. That split matters early. If your directory requires SAML, or if you expect group-driven team membership and automatic deprovisioning, the edition decision comes before the architecture, and it changes which controls you can rely on.

Most of the effort sits in group mapping. Your identity provider will carry groups or claims that describe job functions, business units or environments, and those rarely match Grafana's model of organizations, roles (Admin, Editor, Viewer), teams and folder permissions one to one. Before configuring anything, write a table that maps each source group to a Grafana role, a team and the folders it may read or edit. Confirm with the owners of the operational data which groups should see production metrics, logs and traces, and which should only see staging. Ask the identity team to confirm how group claims are emitted, including how nested groups and empty groups are handled.

Offboarding is the second area where projects get harder. Local Grafana users persist in the database unless something removes them, and sign-in through an external provider does not by itself revoke an existing session or a stored user record. Confirm with your identity team how disabled accounts are represented to Grafana, how long active sessions and API tokens remain valid, and whether service account tokens are owned by people or by systems. Decide which of these controls you can enforce in the open-source edition and which need Enterprise features such as active sync or SCIM, and document the manual steps that cover the gap.

Finally, plan for the platform around the login. Authentication settings, role mappings and folder permissions change how every dashboard is reached, so they should be kept as configuration you can review and test, not as clicks in one administrator's session. Plan a non-production tenant to test each group mapping with real test accounts from each population, and record which sign-in path, role and folder result is expected for each one. The effort for this work depends on the number of groups, the depth of folder structure and the edition you choose, so ask any partner to price those drivers explicitly in a written scope.

Which identity methods Grafana offers and what each one needs

Grafana supports several ways to sign users in, and each one places different requirements on your identity provider. Some methods are available in every edition, while SAML, team sync, active sync and SCIM require Grafana Enterprise. Check each method against what your identity side can actually issue before you choose one.

LDAP directory bind

Grafana queries an LDAP directory with a bind account that has read access to users and groups, then checks user passwords against the directory. Confirm with your directory team which base DNs, user search scope and group objects Grafana may read, and whether the bind account is service-only and rotated under your policy. Plan for TLS to the directory, because credentials travel over that connection. Group membership in LDAP is used to map users to Grafana roles, so verify the group names before you build mappings.

Generic OAuth and OpenID Connect

This method sends users to an OIDC provider and receives an identity token back after sign-in. Your provider must register Grafana as a client with a redirect URL matching your Grafana domain, and it must include the claims Grafana uses for login, email and roles. Ask the identity team whether group membership appears as a claim in the ID token or the userinfo response, since role mapping depends on it. Keycloak is a common OIDC provider in this model.

Entra ID sign-in

Entra ID uses the OAuth and OpenID Connect flow with an app registration in your Microsoft tenant. Decide early whether group mapping uses group object IDs or application roles, because that choice affects how Grafana roles are assigned. Groups that exceed token size limits can be omitted from the token, so confirm with the tenant administrator how overage is handled. Check whether your conditional access policies apply to the Grafana app.

Okta sign-in

Okta sign-in also runs over OAuth and OpenID Connect, using an application integration that you create for Grafana in your Okta org. Agree with the Okta administrator which groups are assigned to the app and which claim carries them into the token. Users outside the assigned groups cannot sign in, so confirm the assignment model before testing. Confirm the redirect URI and the scopes Grafana requests against the current Grafana authentication documentation.

Auth proxy headers

In auth proxy mode, a reverse proxy or gateway authenticates the user and passes the username in an HTTP header that Grafana trusts. This only works if Grafana accepts traffic exclusively through that proxy, because any client that can reach Grafana directly can forge the header. Confirm the network path, the proxy's authentication method and which header carries group or role data. Treat this method as a security boundary you must test, not a convenience.

JWT signed tokens

JWT login accepts a signed token from an upstream system and trusts it according to the key or verification setup you configure. Your identity side must issue tokens with a stable subject, an expiry and the claims Grafana maps to roles. Agree on signing key ownership, rotation and how expired or revoked tokens are handled. Because a compromised signing key grants access, document who holds it and where it is stored.

SAML and team sync (Enterprise)

SAML is available only in Grafana Enterprise and Grafana Cloud, according to the Grafana authentication documentation. Your identity provider must issue SAML assertions with the attributes Grafana needs, and you must confirm the signing certificate and metadata exchange with the provider team. Team sync, also Enterprise, maps identity provider groups to Grafana teams and depends on the group claims your provider sends. Confirm the Enterprise entitlement before design work begins, because open source editions cannot run these methods.

Active sync and SCIM (Enterprise)

Active sync and SCIM provisioning keep Grafana users and group membership updated from the identity provider between logins, and they are available only in Grafana Enterprise and Grafana Cloud. The identity side must expose the user and group data these features read, and must allow a provisioning credential with the right scope. Ask who owns the provisioning credential and how deprovisioned users lose access. Verify removal behavior in a test environment before relying on it for offboarding.

Choosing between LDAP, OAuth, OpenID Connect and SAML

This table compares the identity protocols Grafana can use for sign-in and what each one costs to run after go-live. Read each row against your existing identity provider, then check the Enterprise column before committing to SAML or SCIM, since the Grafana authentication docs limit those features to Grafana Enterprise and Grafana Cloud. The main takeaway is that protocol choice follows your directory, and the license decision follows the provisioning features you need.

OptionBest fitOperational cost after go-liveEdition needed
LDAPExisting Active Directory or OpenLDAP that must stay the source of truthMaintain a read-only bind account, rotate its password, and keep group search filters aligned with directory changesNo
Generic OAuth or OpenID ConnectKeycloak or another broker, or a cloud identity provider with OIDC supportKeep client secrets and redirect URIs current, and maintain claim or group mapping as token contents changeNo
Entra ID or Okta connectorMicrosoft or Okta tenants where the built-in connector covers your sign-in flowTrack provider-side app registration changes and confirm group claim behavior after tenant policy updatesNo
SAMLEnterprise contracts that require SAML federation with an identity providerRenew signing certificates, maintain attribute mapping and confirm metadata after provider changesYes
Team sync and SCIMTeams that need group membership and user lifecycle managed automaticallyReview group-to-team mapping as organizational structure changes and reconcile deprovisioningYes
Auth proxy or JWTEnvironments where a gateway already authenticates users in front of GrafanaKeep the proxy in the request path, plus its header trust settings and its own availabilityNo
Edition costOpen source Grafana uses the AGPLv3 release, while Grafana Enterprise is a separate commercial licenseLicense fees recur annually under the vendor agreement, so request current pricing in writing from Grafana LabsNot applicable

How to build Grafana SSO step by step

This sequence moves Grafana from local accounts to single sign-on in controlled stages, with a check at each step. The result is a tested sign-in path, role and folder mappings that match your identity groups, and local login turned off for end users only after the team has verified access.

  1. Confirm edition and feature fit

    Before any configuration, the identity owner and the Grafana owner agree on which edition and which protocol they will use. The authentication docs list LDAP, generic OAuth, Entra ID, Okta and other providers as available in all editions, while SAML, team sync, active sync and SCIM are limited to Grafana Enterprise and Grafana Cloud. Confirm that your deployed version exposes the provider you need, and record any Enterprise-only requirement as a decision. Done when a written list of required features is mapped to an edition and signed off by both owners.

  2. Create the identity provider application

    In your identity provider, create an application for Grafana and set the redirect URL to your public Grafana address over HTTPS. Use the callback path that the Grafana authentication docs specify for your chosen provider, and confirm that path in the docs for your version rather than copying it from older guides. The scheme, host, port and path must match the Grafana root URL exactly, because a mismatch is the most common cause of failed sign-in. Done when the application exists in the identity provider and its redirect URL matches the Grafana root URL character for character.

  3. Register the Grafana client and scopes

    Generate the client ID and client secret in the identity provider, then request the scopes that the provider's Grafana section requires, typically covering identity, profile, email and, where you map roles from groups, a group claim. Store the client secret in your secrets manager so it never lands in a file in version control. Assign the application to the pilot groups who will test the integration. Done when the client ID and secret are stored, the scope list is recorded, and the pilot groups appear as assigned to the application.

  4. Configure the auth provider in grafana.ini

    Enable the chosen provider in the auth section of grafana.ini or through GF_ prefixed environment variables, which suit containers and Kubernetes better because the secret can come from the platform's secret store. Set the client ID, secret, authorization, token and API endpoints from your identity provider, and set the root URL to match the redirect you registered. Restart Grafana on one node first. Done when Grafana starts without authentication errors in its logs and the login page shows the single sign-on option.

  5. Map groups to org roles and teams

    Write a role mapping expression that reads the group claim from the identity token and assigns Admin, Editor or Viewer per organization. Set the default role for users with no matching group to the least privileged option, so unmatched accounts do not gain access by accident. For team membership, confirm with the documentation for your edition whether team mapping is available, because team sync is listed as Enterprise-only. Done when a test account in each identity group lands with the expected org role, and the mapping table is recorded in your runbook.

  6. Map folder permissions to groups

    Create folders for each team or domain and grant view or edit permissions to the roles or teams that correspond to your identity groups. Keep dashboard ownership in the folder structure and avoid granting permissions to individual users, since individual grants drift from the identity provider as people change roles. If your edition does not map groups directly to teams, confirm the supported method before building the folder layout around it. Done when a test user in each group sees only the folders granted to that group, and the folder-to-group matrix is saved with the configuration.

  7. Test with a non-admin account

    Sign in with standard user accounts from each identity group and work through a scripted set of tasks: open permitted dashboards, attempt to open restricted folders, create and edit dashboards within their role, and confirm that administrative pages are blocked. Repeat the sign-in after a sign-out and after a session expires, and test through the load balancer address if you run multiple nodes. Done when every test case has a recorded expected and actual result, and every failure has been fixed and retested.

  8. Disable local login after verification

    Only after the test matrix passes, turn off the local username and password form for end users using the login setting in the auth section of your configuration. Before you do, confirm that a named administrator can still sign in through single sign-on and that a break-glass path exists and is documented, with its credentials held under controlled access. In a high-availability deployment, roll the change out to each node and confirm each one. Done when a non-admin user cannot reach the local login form, and the break-glass path has been tested and written into the runbook.

Mapping identity groups to Grafana roles, teams and folders

The most important decision in a Grafana identity integration is not the sign-in protocol but how identity groups or claim values translate into Grafana organization roles, folder permissions and team membership. Each identity provider login carries group names or claims, and Grafana's OAuth, OpenID Connect and LDAP configurations let you map those values to a role such as Viewer, Editor or Admin. Before touching any configuration, write down the access model: which groups exist in your identity provider, which Grafana organizations they belong to, which folders each group needs, and who may edit dashboards and data sources. Mapping should follow that written model, not the group names that happen to exist in the directory today.

Grafana's authentication docs describe role assignment through group or claim mapping settings that differ by provider, so the exact attribute names and expressions must be taken from the current configuration reference for your Grafana version and identity provider. Confirm them in a non-production instance first, and test with at least one user from each group. Verify what happens to a user who belongs to no mapped group. Many teams discover that an unmatched user falls back to a default role, and that default is the setting to check first. Set the default to the lowest role that still lets people sign in and see what they are allowed to see, and confirm that no fallback path can grant Admin.

Granting Admin by default is the most common mapping mistake. Admin in Grafana gives control over server-wide and organization-wide settings, data sources and user management, so it should map only from a narrow, named group that the security team owns. Keep Grafana's local admin account for break-glass access, store its credentials under your normal privileged access process, and check that group claims cannot be altered by the user. Also check whether an identity provider group named for a broad population, such as all employees, is accidentally mapped to a high role. A short review of the mapping table against the access model, repeated after every identity provider change, catches most of these errors before they reach production.

Team sync, which maps identity groups to Grafana teams automatically, is listed in Grafana's authentication docs as a Grafana Enterprise and Grafana Cloud feature, alongside SAML, active sync and SCIM provisioning. Open source Grafana does not provide that automatic team membership. If you run the open source edition, decide which teams your organization needs for folder and dashboard permissions and manage their membership through a controlled process, such as an onboarding request approved by the group owner, or through the same provisioning pipeline you use for other configuration. Ask whether the team model is worth the Enterprise license cost for your size and change rate, and do not assume a particular price without a written quote from Grafana Labs.

What drives SSO effort and how to keep it down

This table lists the factors that change how much work a Grafana SSO integration takes, from identity sources and role models to HA, brokers, evidence and environments. Each row names a way to keep that driver small, so the reader can see where scope can be reduced before a quote is written. Most of the effort comes from the number of mappings and environments, not from the sign-in protocol itself.

DriverWhy it changes effortHow to keep it down
Number of identity sourcesEach LDAP directory, OAuth or OIDC provider, or SAML source needs its own configuration, testing and failure handling. Open-source Grafana supports LDAP and generic OAuth, while SAML requires Grafana Enterprise.Confirm which sources are needed at launch and retire unused ones. Use one primary identity provider where possible and treat secondary sources as a later phase.
Number of groups and rolesEvery group-to-role or group-to-team mapping must be designed, tested and reviewed. Large numbers of groups multiply edge cases such as nested groups and users in several groups.Use a small role model (for example Viewer, Editor and Admin per organization) and map identity groups to those roles only. Avoid per-team roles unless a folder permission model needs them.
Multiple Grafana organizationsEach organization needs its own role mappings, default role and sometimes its own team or folder mapping. Users who belong to several organizations add login and access rules to test.Keep the number of organizations to what isolation requires. Where teams only need separate folders, use folder permissions in one organization instead of creating new ones.
High availability with a shared databaseTwo or more active-active servers behind a load balancer need the same authentication settings, a shared MySQL or PostgreSQL database and consistent secrets. Login and session behavior must be verified on every node.Put all SSO settings in configuration files that are identical on every node. Test sign-in through the load balancer and through each node during acceptance testing.
Keycloak or another identity brokerA broker in front of several upstream identity sources adds its own client, mapper and group configuration. Changes can happen in two places, and claim mapping errors are harder to trace.Decide early whether the broker or Grafana owns role mapping. Keep claim names and group paths documented in one place and avoid duplicating logic in both systems.
Compliance evidence needsAssessors often ask for documented access control, change records for mappings, and proof that accounts are removed when people leave. Producing this evidence after the fact takes extra work.Define the evidence list before build starts, such as configuration as code, review records for mapping changes and test results. Ask your auditor which artifacts they expect. DeployOpen prepares evidence but does not issue audit reports.
Environments (dev, test and production)Each environment needs its own identity client, redirect URLs, secrets and test users. Drift between environments is a common source of late failures.Use one client per environment with separate secrets and redirect URIs, and keep environment differences in variables rather than separate configuration files. Promote the same configuration through each stage.

How SSO differs on single node, HA and Kubernetes

A single Grafana server is the simplest model for SSO. Grafana runs on one host, reads its configuration from one file or environment, and handles the OAuth or OpenID Connect redirect on that host's public address. The main decision here is the database. Grafana stores its configuration in SQLite 3 by default, but the installation docs say SQLite does not scale for production. A single node can still use SQLite for a lab or evaluation, but a production sign-in path should sit on MySQL 8.0 or later or PostgreSQL 12 or later, so that the server can be rebuilt or moved without losing users and sessions.

Points to check on a single node:

  • Database choice: confirm the production instance uses MySQL or PostgreSQL, not the SQLite default.
  • Redirect URL: the callback registered with the identity provider must match the public address users reach, including scheme and port.
  • Auth provider settings: confirm the client ID, secret and issuer or endpoint URLs are stored in a secret manager rather than plain configuration files.
  • Cookie and TLS settings: confirm the site is served over HTTPS so secure cookies work as the security hardening guidance expects.
  • Recovery path: confirm you can restore the database and the Grafana configuration on a replacement host.

Before go-live, sign in with a test account from each identity group that will use Grafana, and confirm that a restart of the server does not force a second login loop.

Protecting the sign-in path and its secrets

Once Grafana trusts an external identity provider, the sign-in path, the secrets that authenticate Grafana to that provider, and the endpoints around the login become the attack surface. The cards below cover the settings and checks that protect them, drawn from the Grafana security hardening guidance and the authentication configuration.

Client secret storage

The OAuth or OpenID Connect client secret lets Grafana exchange authorization codes with your identity provider, so anyone who reads it can impersonate the application. Keep it out of grafana.ini and version control, inject it from a secrets manager or environment variable, and confirm that file permissions on the configuration are restricted to the Grafana service account. Plan a rotation procedure before go-live, since rotating the secret requires a change on both the identity provider and Grafana.

TLS on redirect URLs

Redirect URLs registered with the identity provider must use HTTPS, and Grafana's root URL must match the public address users reach. A mismatch between the registered redirect URI and the configured root URL is a common cause of failed sign-in, and an unencrypted redirect exposes authorization codes in transit. Confirm the certificate chain, the exact redirect path, and that no test or staging callback URLs remain registered in production.

Secure and SameSite cookies

The Grafana security hardening guidance recommends secure cookies, which are sent only over HTTPS, and a SameSite setting that limits cross-site cookie sending. Together they reduce the risk of session cookies being captured or replayed from other sites. Test the setting with your reverse proxy and load balancer in place, because a proxy that terminates TLS can make Grafana believe it is serving plain HTTP and break sign-in.

Disabling anonymous access and sign-up

Anonymous access lets unauthenticated visitors view dashboards, and self-service sign-up can create local accounts outside your identity provider's control. For an SSO deployment, both should normally be turned off so that every user enters through the identity provider and its group membership drives role mapping. Verify the setting after each upgrade and confirm that dashboards marked public or embedded are reviewed separately.

Break-glass admin account

If the identity provider, its certificate, or the SSO configuration fails, administrators need a way back into Grafana. Keep one local admin account with a strong, separately stored password and multi-factor protection where available, and restrict its use to documented emergencies. Test the break-glass login during the rollout, log each use, and confirm that the account is excluded from routine role-mapping changes.

Least-privilege LDAP bind account

When Grafana authenticates against LDAP, its bind account searches the directory for users and group membership. That account should be read-only, limited to the search base that Grafana needs, and never a domain administrator. Use LDAPS or StartTLS so bind credentials are not sent in clear text, and document the account's password rotation owner. Confirm with your directory team which attributes Grafana can read.

Content Security Policy and metrics endpoint

The security hardening guidance recommends a Content Security Policy, Trusted Types, hiding the Grafana version from unauthenticated users, requiring authentication on the metrics endpoint, and domain verification against DNS rebinding. Review each setting against your browser and plugin needs, because a strict policy can break panels that load external resources. Confirm that the metrics endpoint is not reachable from untrusted networks, since it can reveal internal details about your instance and data sources.

How to test SSO before users depend on it

Test every sign-in path before any team is told to use single sign-on. The goal is to prove that Grafana grants the right access to the right people, refuses everyone else, and keeps a working administrator path when the identity provider fails. Run these checks in a non-production instance that uses the same identity provider tenant, client registration and group claims as production, because a test that uses different groups or redirect URLs proves little. Start with the positive cases. For each identity group you plan to map, sign in with a test account from that group and confirm the user lands in the expected organization with the expected role (Viewer, Editor or Admin). Check that the group claim arrives in the form your role mapping expects, since a mismatch in claim name, casing or group object ID is the most common reason a valid user gets no role. Repeat for each Grafana team or folder permission you rely on, and confirm the user sees the dashboards in the folders that group should reach and nothing else. Then test the negative cases, which are easier to skip. Sign in with an account that belongs to no mapped group and confirm Grafana refuses access or shows no role, depending on your configuration of the default role and auto sign-up settings. Also test a user who was removed from a group: after the change, the next sign-in or the next token refresh should drop the role. Confirm how long that takes in your setup and write that duration into your access runbook. For logout, verify that signing out ends the Grafana session and that a session cookie from before logout is rejected. Confirm session lifetime behavior for an idle session as well. Next, test failure modes. Stop or block access to the identity provider in the test environment and observe what existing sessions do, what new sign-ins show, and whether dashboards that rely on Grafana's own database still load. Record the result as a finding, not a surprise. Finally, test the break-glass path: sign in with the local administrator account that does not depend on the identity provider, confirm it works while the provider is unavailable, and confirm the account's password is stored under your normal secret controls. Any failure in these tests should leave local admin access in place, so do not move to production until that holds.

What to monitor, document and maintain after go-live

This table lists the recurring operational tasks that keep Grafana sign-in working after launch, with what to watch, what to review and what to document for each. Read each row as a standing task with a named owner, not a one-time setup step. The main takeaway is that most SSO outages and access errors come from directory changes, expired secrets and upgrades that were never reviewed against the auth configuration.

TaskWhat it coversWhat to confirm or record
Failed logins and token errorsReview authentication failures from the Grafana server log and identity provider sign-in logs, including callback errors, expired tokens and LDAP bind failures.Which logs are shipped to your monitoring stack, who receives alerts on spikes, and how users report sign-in problems.
Group mapping reviewCheck that role and folder mappings still match the directory after groups are renamed, split, merged or deprovisioned.Mapping rules in version control, the approver for changes, and the directory group owners to notify.
Client secret rotationRotate the OAuth or OpenID Connect client secret on a schedule set by your security policy, then update Grafana configuration and confirm sign-in.Secret storage location, rotation date, the identity provider admin who issues new secrets, and the rollback plan.
LDAP bind password rotationRotate the service account password Grafana uses to search the directory, and confirm the account still has the required read access.Service account owner, password vault entry, and whether the account is excluded from interactive login policies.
Grafana upgrades that change authReview release notes for each Grafana upgrade for changes to authentication, cookie, token or provisioning behavior before applying it.Current Grafana version, target version, release notes reviewed, and a test sign-in on staging with each supported identity method.
Identity provider changesTrack changes to redirect URIs, claims, tenant settings, certificates and conditional access policies that affect Grafana sign-in.Change calendar owner, redirect URIs in use, claim names Grafana reads, and who approves identity provider changes.
Mapping model and ownersKeep a current description of how identity groups map to Grafana organizations, teams, roles and folder permissions, and who owns each part.Named owners for the directory, Grafana administration and each mapped group, plus the date the document was last reviewed.
Break-glass and admin accessConfirm that a local administrator path exists for recovery when the identity provider is unavailable, and test it on a schedule your team sets.Where the recovery credentials are stored, who can use them, and how each use is logged and reviewed.

Questions teams ask before scoping Grafana SSO

How much does a Grafana SSO project cost?

The cost depends on how much identity work the project covers, not on a fixed package. The main drivers are the number of identity providers, how complex the role and folder mapping is, whether Enterprise-only features such as SAML, team sync or SCIM are in scope, how many environments need testing, and how much documentation and handover the team expects. Most engagements are fixed-scope, so the written scope sets the quote. One-time work includes design, configuration, testing and handover. Recurring costs usually include the Grafana Enterprise license if you need those features, plus internal time to maintain group mappings as teams change. When you ask for a quote, request a line-item breakdown of design, configuration, testing, documentation and any licensing assumptions.

How long does Grafana SSO setup take?

Duration depends mainly on your directory and your role model. A single OAuth or OpenID Connect integration with a small set of roles usually moves faster than an LDAP setup with nested groups, or an Enterprise SAML setup with team sync and SCIM provisioning. Other factors include how quickly identity administrators can make changes, how many group claims need to be reviewed, and how many environments must be validated before cutover. No standard duration applies across environments, so ask for a timeline in the written scope that lists the directory, the role model and the environments included. Confirm your change approval windows early, since they often set the pace.

What does the team need to provide for Grafana SSO?

The work needs access and decisions from your side before configuration starts. Typically this includes:

  • Identity admin access to create or edit the application registration or client in your identity provider
  • A group list showing which groups map to Grafana organizations, teams, folders or roles
  • Redirect URL decisions, including the public hostname, TLS certificate and the callback path that the Grafana docs specify for your authentication method
  • Role mapping rules that state who gets Viewer, Editor or Admin access by default
  • Test accounts for each role so access can be verified before users are moved

If any of these are missing, configuration usually stalls. Confirm the list against your own identity provider and security policy.

Can an internal engineer set up Grafana SSO alone?

An internal engineer can often do the configuration alone if they hold both identity administrator rights and Grafana administrator rights. The work spans the identity provider, Grafana configuration files, role mapping, testing and rollback planning, so it helps to have someone comfortable with OAuth or OpenID Connect claims. The gaps usually appear in group claim design, edge cases such as users in several groups, and the security review of login paths. A practical check is whether one person can change the identity provider settings, edit the Grafana configuration, and verify access for each role in a non-production instance. If not, a shared scope with a partner for the design or review phase can close the gap.

Which Grafana SSO features require Grafana Enterprise?

According to the Grafana authentication docs, SAML, team sync, active sync and SCIM provisioning are available only in Grafana Enterprise and Grafana Cloud. Open-source Grafana supports LDAP, generic OAuth, Entra ID, Okta, GitHub, GitLab, Google OAuth, auth proxy and JWT. Team sync and SCIM are the features most teams ask about when they want group membership and user lifecycle managed from the identity provider. Because feature availability can change between releases, confirm the current list in the documentation for the version you plan to run before you finalize the design.

Do I need a Grafana Enterprise license for Entra ID or Okta?

No, a Grafana Enterprise license is not required for Entra ID or Okta sign-in. According to the Grafana authentication docs, both providers are supported in all editions, so OAuth-based sign-in works in open-source Grafana. An Enterprise license becomes relevant only when you need features the open-source edition does not include, such as SAML, team sync or SCIM provisioning, and those features may be requested alongside Entra ID or Okta. Confirm the licensing terms and any support entitlements with Grafana Labs before you commit, because the answer depends on which features your design needs.

What usually goes wrong in a Grafana SSO rollout?

Most problems come from a small set of causes. Redirect URLs that do not exactly match the registered value cause sign-in failures. Group claims that are missing from the token, or that arrive in a different format than expected, lead to users landing in the wrong role. Default role settings that are too permissive can grant more access than intended, while settings that are too strict lock out valid users. Teams also sometimes forget to plan for an administrator fallback, so a broken identity configuration blocks everyone. Test each role with a real account in a non-production instance, record the claims you expect, and keep a documented way to recover administrator access before cutover.

How DeployOpen works on this

DeployOpen plans and implements Grafana sign-in against your identity provider inside your own infrastructure, from LDAP or generic OAuth and OpenID Connect through to role and folder mapping. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • Confirm which Grafana edition you run, since SAML, team sync and SCIM are Enterprise or Cloud only features.
  • Record your identity provider, its version, and whether it is Entra ID, Okta, Keycloak, LDAP or another generic OIDC source.
  • Map your groups and roles to Grafana organizations, teams and folder permissions, and agree who approves changes to that mapping.
  • Agree in writing what the scope covers, including test users, environments and the handover documentation you will receive.

How we build

  • Configure the authentication provider in a non-production instance first, using the settings for your chosen method.
  • Set role mapping and team sync rules as code where possible, so access decisions can be reviewed in version control.
  • Test login, logout, session expiry and role assignment for each user group before any production cutover.
  • Harden cookie and session settings alongside the sign-in change, and confirm the database backing Grafana supports your design.

How we hand over

  • Provide a written record of the configured identity settings, group-to-role mappings and the reasons behind each decision.
  • Walk your administrators through how to add a group, change a role and revoke access without breaking existing sessions.
  • Document the test cases used, the results observed and the known limits, so your team can repeat them after changes.

How we support

  • Ongoing support is available as a retainer, covering upgrades, identity provider changes and access reviews after go-live.
  • Retainers can cover tracking of Grafana patch releases that affect authentication, so sign-in changes are tested before rollout.
  • Ask any support provider to confirm response expectations, the environments covered and who approves production changes.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.