Overview
The Grafana integration does two things for compliance:- User & team access review — imports your organization users (name, email, role), teams, and service accounts so LowerPlane can run access reviews, verify each account maps to a known person, and confirm offboarded employees lose access.
- Monitoring evidence — collects Grafana alert rules to support continuous-monitoring controls.
Prerequisites
How to Get Your Service Account Token
Connecting in LowerPlane
- Go to Settings > Integrations in LowerPlane
- Find Grafana under Analytics
- Enter your Grafana URL:
- Self-hosted —
https://grafana.yourcompany.com - Grafana Cloud —
https://<your-stack>.grafana.net
- Self-hosted —
- Enter your Service Account Token
- Click Connect
What LowerPlane Collects
Organization Users
Every org user with name, email, and role (Admin/Editor/Viewer). Each account is matched to your LowerPlane people directory for access reviews.
Access Level
Each user’s Grafana role, used as the access-level signal for reviews (Admins flagged as privileged).
Offboarding Status
Cross-checks each user’s email against HR to flag accounts belonging to terminated employees.
Account Identification
Verifies every account is traceable to a named individual (no anonymous or shared accounts).
Teams
Grafana teams and their membership, as access-grouping evidence for reviews.
Alert Rules
Alert rules as monitoring evidence, supporting continuous-monitoring controls.
Service Accounts
Non-human (API) service accounts and their roles, so machine access is reviewed too.
Compliance Mapping
| Framework | Controls | What It Proves |
|---|---|---|
| SOC 2 | CC6.1, CC6.2, CC6.3 | Access is provisioned to identified users and removed on offboarding |
| SOC 2 | CC7.1, CC7.2 | System monitoring and alerting controls are in place |
| ISO 27001 | A.5.16, A.5.18 | Identity management and access rights are controlled and revoked |
| ISO 27001 | A.8.15, A.8.16 | Logging and monitoring activities are enforced |
FAQ
Why does the service account need the Admin role?
Why does the service account need the Admin role?
Listing organization users via
/api/org/users requires the org.users:read permission, which the Admin role includes. A Viewer or alerting-only token returns 403 and no users are collected. On Grafana Enterprise, a custom role with org.users:read is a least-privilege alternative.Why is there no MFA test for Grafana?
Why is there no MFA test for Grafana?
Grafana’s API does not expose per-user two-factor authentication status. The only related field (
authLabels) lives on the server-admin /api/users endpoint, which service-account tokens cannot call. Enforce MFA through your Grafana SSO/SAML provider instead.Does this work with Grafana Cloud?
Does this work with Grafana Cloud?
Yes. Enter your Grafana Cloud stack URL (
https://<your-stack>.grafana.net) and a service-account token created in that stack. Self-hosted Grafana uses the same flow with your instance URL.How often does LowerPlane sync?
How often does LowerPlane sync?
Grafana data syncs every 24 hours by default. You can trigger a manual sync from the integration settings.