<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Grafana Enterprise on Grafana Labs</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/</link><description>Recent content in Grafana Enterprise on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v7.5/enterprise/index.xml" rel="self" type="application/rss+xml"/><item><title>Grafana Enterprise license</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/license/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/license/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-enterprise-license&#34;&gt;Grafana Enterprise license&lt;/h1&gt;
&lt;p&gt;To run Grafana Enterprise, you need a valid license. Contact a Grafana Labs representative](&lt;a href=&#34;/contact?about=grafana-enterprise&#34;&gt;https://grafana.com/contact?about=grafana-enterprise&lt;/a&gt;) to obtain the license. For information on how to activate your license, refer to &lt;a href=&#34;activate-license/&#34;&gt;Activate an Enterprise license&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;license-expiration/&#34;&gt;License expiration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;license-restrictions/&#34;&gt;License restrictions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="grafana-enterprise-license">Grafana Enterprise license&lt;/h1>
&lt;p>To run Grafana Enterprise, you need a valid license. Contact a Grafana Labs representative](&lt;a href="/contact?about=grafana-enterprise">https://grafana.com/contact?about=grafana-enterprise&lt;/a>) to obtain the license. For information on how to activate your license, refer to &lt;a href="activate-license/">Activate an Enterprise license&lt;/a>.&lt;/p></description></item><item><title>Usage insights</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/usage-insights/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/usage-insights/</guid><content><![CDATA[&lt;h1 id=&#34;usage-insights&#34;&gt;Usage insights&lt;/h1&gt;
&lt;p&gt;Usage insights allow you to have a better understanding of how your Grafana instance is used.&lt;/p&gt;
&lt;p&gt;The usage insights feature collects a number of aggregated data and stores them in the database:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dashboard views (aggregated and per user)&lt;/li&gt;
&lt;li&gt;Data source errors&lt;/li&gt;
&lt;li&gt;Data source queries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These aggregated data give you access to several features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;dashboard-datasource-insights/&#34;&gt;Dashboard and data source insights&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;presence-indicator/&#34;&gt;Presence indicator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;improved-search/&#34;&gt;Sort dashboards by using insights data&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This feature also generates detailed logs that can be exported to Loki. Refer to &lt;a href=&#34;export-logs/&#34;&gt;Export logs of usage insights&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="usage-insights">Usage insights&lt;/h1>
&lt;p>Usage insights allow you to have a better understanding of how your Grafana instance is used.&lt;/p>
&lt;p>The usage insights feature collects a number of aggregated data and stores them in the database:&lt;/p></description></item><item><title>Query caching</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/query-caching/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/query-caching/</guid><content><![CDATA[&lt;h1 id=&#34;query-caching&#34;&gt;Query caching&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Query caching is available behind the &lt;code&gt;caching&lt;/code&gt; feature flag in Grafana Enterprise 7.5&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;When query caching is enabled, Grafana temporarily stores the results of data source queries. When you or another user submit the exact same query again, the results will come back from the cache instead of from the data source (like Splunk or ServiceNow) itself.&lt;/p&gt;
&lt;p&gt;Query caching currently works for all backend data sources. You can enable the cache globally and configure the cache duration (also called Time to Live, or TTL). The cache can either be in-memory or in Redis.&lt;/p&gt;
&lt;h2 id=&#34;query-caching-benefits&#34;&gt;Query caching benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Faster dashboard load times, especially for popular dashboards.&lt;/li&gt;
&lt;li&gt;Reduced API costs.&lt;/li&gt;
&lt;li&gt;Reduced likelihood that APIs will rate-limit or throttle requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;enable-query-caching&#34;&gt;Enable query caching&lt;/h2&gt;
&lt;p&gt;To enable and configure query caching, please refer the the &lt;a href=&#34;../enterprise-configuration/#caching&#34;&gt;Query caching section of Enterprise Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;sending-a-request-without-cache&#34;&gt;Sending a request without cache&lt;/h2&gt;
&lt;p&gt;If the data source query request contains an &lt;code&gt;X-Cache-Skip&lt;/code&gt; header, then Grafana skips the caching middleware, and does not search the cache for a response. This can be particularly useful when debugging data source queries using cURL.&lt;/p&gt;
]]></content><description>&lt;h1 id="query-caching">Query caching&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> Query caching is available behind the &lt;code>caching&lt;/code> feature flag in Grafana Enterprise 7.5+.&lt;/p>&lt;/blockquote>
&lt;p>When query caching is enabled, Grafana temporarily stores the results of data source queries. When you or another user submit the exact same query again, the results will come back from the cache instead of from the data source (like Splunk or ServiceNow) itself.&lt;/p></description></item><item><title>Request security</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/request-security/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/request-security/</guid><content><![CDATA[&lt;h1 id=&#34;request-security&#34;&gt;Request security&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4 and later versions.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Request security makes it possible to limit requests from the Grafana server, and it targets requests that are generated by users.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data source metric queries&lt;/li&gt;
&lt;li&gt;Alert notifications&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This can be used to limit access to internal systems that the server Grafana runs on can access but that users of Grafana should not be able to access. This feature does not affect traffic from the Grafana users browser.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Although request security works with backend plugins, you can create a backend plugin that bypasses this security.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;ip-and-hostname-blocking&#34;&gt;IP and hostname blocking&lt;/h2&gt;
&lt;p&gt;You can limit requests based on a hostname, an IP address, or both.&lt;/p&gt;
&lt;h3 id=&#34;deny-list&#34;&gt;Deny list&lt;/h3&gt;
&lt;p&gt;Grafana blocks any request to a hostname or IP address on the deny list.&lt;/p&gt;
&lt;h3 id=&#34;allow-list&#34;&gt;Allow list&lt;/h3&gt;
&lt;p&gt;If there is at least one entry on the list, then any request to a hostname or IP address not on the list is denied.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[security.egress]
# A list of hostnames or IP addresses separated by spaces for which requests are blocked.
host_deny_list = supersecret.internal 192.168.1.10
# a list of hostnames or IP addresses separated by spaces for which requests will be allowed, all other requests will be blocked
host_allow_list = prometheus.internal&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;drop-headers-and-cookies&#34;&gt;Drop headers and cookies&lt;/h2&gt;
&lt;p&gt;You can set a list of cookies or headers that are to be dropped from outgoing requests.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;toml&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-toml&#34;&gt;[security.egress]
# a list of headers that will be stripped from outgoing datasource and alerting requests
header_drop_list = user
# a list of cookies that will be stripped from outgoing datasource requests (case sensitive)
cookie_drop_list = session_id&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="request-security">Request security&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> Available in Grafana Enterprise v7.4 and later versions.&lt;/p>&lt;/blockquote>
&lt;p>Request security makes it possible to limit requests from the Grafana server, and it targets requests that are generated by users.&lt;/p></description></item><item><title>Data source permissions</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/datasource_permissions/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/datasource_permissions/</guid><content><![CDATA[&lt;h1 id=&#34;data-source-permissions&#34;&gt;Data source permissions&lt;/h1&gt;
&lt;p&gt;Data source permissions allow you to restrict access for users to query a data source. For each data source there is a permission page that allows you to enable permissions and restrict query permissions to specific &lt;strong&gt;Users&lt;/strong&gt; and &lt;strong&gt;Teams&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;enable-data-source-permissions&#34;&gt;Enable data source permissions&lt;/h2&gt;
&lt;div class=&#34;screenshot&#34; style=&#34;max-width:600px&#34;&gt;
  &lt;a href=&#34;/static/img/docs/enterprise/datasource_permissions_enable.gif&#34; title=&#34;&#34;&gt;
    &lt;img alt=&#34;&#34; src=&#34;data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==&#34;
         data-src=&#34;/static/img/docs/enterprise/datasource_permissions_enable_still.png&#34; class=&#34;screenshot__still lazyload&#34;&gt;
    &lt;img alt=&#34;&#34; src=&#34;/static/img/docs/enterprise/datasource_permissions_enable.gif&#34; class=&#34;screenshot__animated-gif&#34;&gt;
    &lt;div class=&#34;screenshot__play&#34;&gt;
      &lt;i class=&#34;fa fa-play&#34;&gt;&lt;/i&gt;
    &lt;/div&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;By default, data sources in an organization can be queried by any user in that organization. For example, a user with the &lt;code&gt;Viewer&lt;/code&gt; role can issue any possible query to a data source, not just
queries that exist on dashboards they have access to.&lt;/p&gt;
&lt;p&gt;When permissions are enabled for a data source in an organization, you restrict admin and query access for that data source to &lt;a href=&#34;../../permissions/organization_roles/#admin-role&#34;&gt;admin users&lt;/a&gt; in that organization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enable permissions for a data source:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Configuration &amp;gt; Data Sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the data source you want to enable permissions for.&lt;/li&gt;
&lt;li&gt;On the Permissions tab, click &lt;strong&gt;Enable&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Caution:&lt;/strong&gt; Enabling permissions for the default data source makes users not listed in the permissions unable to invoke queries. Panels using default data source will return &lt;code&gt;Access denied to data source&lt;/code&gt; error for those users.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;allow-users-and-teams-to-query-a-data-source&#34;&gt;Allow users and teams to query a data source&lt;/h2&gt;
&lt;div class=&#34;screenshot&#34; style=&#34;max-width:600px&#34;&gt;
  &lt;a href=&#34;/static/img/docs/enterprise/datasource_permissions_add.gif&#34; title=&#34;&#34;&gt;
    &lt;img alt=&#34;&#34; src=&#34;data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==&#34;
         data-src=&#34;/static/img/docs/enterprise/datasource_permissions_add_still.png&#34; class=&#34;screenshot__still lazyload&#34;&gt;
    &lt;img alt=&#34;&#34; src=&#34;/static/img/docs/enterprise/datasource_permissions_add.gif&#34; class=&#34;screenshot__animated-gif&#34;&gt;
    &lt;div class=&#34;screenshot__play&#34;&gt;
      &lt;i class=&#34;fa fa-play&#34;&gt;&lt;/i&gt;
    &lt;/div&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;After you have enabled permissions for a data source you can assign query permissions to users and teams which will allow access to query the data source.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Assign query permission to users and teams:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Configuration &amp;gt; Data Sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the data source you want to assign query permissions for.&lt;/li&gt;
&lt;li&gt;On the Permissions tab, click &lt;strong&gt;Add Permission&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Team&lt;/strong&gt; or &lt;strong&gt;User&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the entity you want to allow query access and then click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;disable-data-source-permissions&#34;&gt;Disable data source permissions&lt;/h2&gt;
&lt;div class=&#34;screenshot&#34; style=&#34;max-width:600px&#34;&gt;
  &lt;a href=&#34;/static/img/docs/enterprise/datasource_permissions_disable.gif&#34; title=&#34;&#34;&gt;
    &lt;img alt=&#34;&#34; src=&#34;data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==&#34;
         data-src=&#34;/static/img/docs/enterprise/datasource_permissions_disable_still.png&#34; class=&#34;screenshot__still lazyload&#34;&gt;
    &lt;img alt=&#34;&#34; src=&#34;/static/img/docs/enterprise/datasource_permissions_disable.gif&#34; class=&#34;screenshot__animated-gif&#34;&gt;
    &lt;div class=&#34;screenshot__play&#34;&gt;
      &lt;i class=&#34;fa fa-play&#34;&gt;&lt;/i&gt;
    &lt;/div&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;If you have enabled permissions for a data source and want to return data source permissions to the default, then you can disable permissions with a click of a button.&lt;/p&gt;
&lt;p&gt;Note that &lt;em&gt;all&lt;/em&gt; existing permissions created for the data source will be deleted.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disable permissions for a data source:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Configuration &amp;gt; Data Sources&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the data source you want to disable permissions for.&lt;/li&gt;
&lt;li&gt;On the Permissions tab, click &lt;strong&gt;Disable Permissions&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
]]></content><description>&lt;h1 id="data-source-permissions">Data source permissions&lt;/h1>
&lt;p>Data source permissions allow you to restrict access for users to query a data source. For each data source there is a permission page that allows you to enable permissions and restrict query permissions to specific &lt;strong>Users&lt;/strong> and &lt;strong>Teams&lt;/strong>.&lt;/p></description></item><item><title>Enhanced LDAP Integration</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/enhanced_ldap/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/enhanced_ldap/</guid><content><![CDATA[&lt;h1 id=&#34;enhanced-ldap-integration&#34;&gt;Enhanced LDAP integration&lt;/h1&gt;
&lt;p&gt;The enhanced LDAP integration adds additional functionality on top of the &lt;a href=&#34;../../auth/ldap/&#34;&gt;LDAP integration&lt;/a&gt; available in the open source edition of Grafana.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Enhanced LDAP integration is only available in Grafana Enterprise.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;ldap-group-synchronization-for-teams&#34;&gt;LDAP group synchronization for teams&lt;/h2&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow docs-image--right&#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/team_members_ldap.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/team_members_ldap.png&#34;data-srcset=&#34;/static/img/docs/enterprise/team_members_ldap.png?w=320 320w, /static/img/docs/enterprise/team_members_ldap.png?w=550 550w, /static/img/docs/enterprise/team_members_ldap.png?w=750 750w, /static/img/docs/enterprise/team_members_ldap.png?w=900 900w, /static/img/docs/enterprise/team_members_ldap.png?w=1040 1040w, /static/img/docs/enterprise/team_members_ldap.png?w=1240 1240w, /static/img/docs/enterprise/team_members_ldap.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;979&#34;height=&#34;382&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/team_members_ldap.png&#34;
            alt=&#34;&#34;width=&#34;979&#34;height=&#34;382&#34;class=&#34;docs-image--no-shadow docs-image--right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;With enhanced LDAP integration, you can set up synchronization between LDAP groups and teams. This enables LDAP users that are members
of certain LDAP groups to automatically be added or removed as members to certain teams in Grafana.&lt;/p&gt;
&lt;p&gt;Grafana keeps track of all synchronized users in teams, and you can see which users have been synchronized from LDAP in the team members list, see &lt;code&gt;LDAP&lt;/code&gt; label in screenshot.
This mechanism allows Grafana to remove an existing synchronized user from a team when its LDAP group membership changes. This mechanism also allows you to manually add
a user as member of a team, and it will not be removed when the user signs in. This gives you flexibility to combine LDAP group memberships and Grafana team memberships.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;../team-sync/&#34;&gt;Learn more about team sync.&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;active-ldap-synchronization&#34;&gt;Active LDAP synchronization&lt;/h2&gt;
&lt;p&gt;In the open source version of Grafana, user data from LDAP is synchronized only during the login process when authenticating using LDAP.&lt;/p&gt;
&lt;p&gt;With active LDAP synchronization, available in Grafana Enterprise v6.3&#43;, you can configure Grafana to actively sync users with LDAP servers in the background. Only users that have logged into Grafana at least once are synchronized.&lt;/p&gt;
&lt;p&gt;Users with updated role and team membership will need to refresh the page to get access to the new features.&lt;/p&gt;
&lt;p&gt;Removed users are automatically logged out and their account disabled. These accounts are displayed in the Server Admin &amp;gt; Users page with a &lt;code&gt;disabled&lt;/code&gt; label. Disabled users keep their custom permissions on dashboards, folders, and data sources, so if you add them back in your LDAP database, they have access to the application with the same custom permissions as before.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[auth.ldap]
...

# You can use the Cron syntax or several predefined schedulers -
# @yearly (or @annually) | Run once a year, midnight, Jan. 1st        | 0 0 0 1 1 *
# @monthly               | Run once a month, midnight, first of month | 0 0 0 1 * *
# @weekly                | Run once a week, midnight between Sat/Sun  | 0 0 0 * * 0
# @daily (or @midnight)  | Run once a day, midnight                   | 0 0 0 * * *
# @hourly                | Run once an hour, beginning of hour        | 0 0 * * * *
sync_cron = &amp;#34;0 0 1 * * *&amp;#34; # This is default value (At 1 am every day)
# This cron expression format uses 6 space-separated fields (including seconds), for example
# sync_cron = &amp;#34;* */10 * * * *&amp;#34;
# This will run the LDAP Synchronization every 10th minute, which is also the minimal interval between the Grafana sync times i.e. you cannot set it for every 9th minute

# You can also disable active LDAP synchronization
active_sync_enabled = true # enabled by default&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Single bind configuration (as in the &lt;a href=&#34;../../auth/ldap/#single-bind-example&#34;&gt;Single bind example&lt;/a&gt;) is not supported with active LDAP synchronization because Grafana needs user information to perform LDAP searches.&lt;/p&gt;
]]></content><description>&lt;h1 id="enhanced-ldap-integration">Enhanced LDAP integration&lt;/h1>
&lt;p>The enhanced LDAP integration adds additional functionality on top of the &lt;a href="../../auth/ldap/">LDAP integration&lt;/a> available in the open source edition of Grafana.&lt;/p>
&lt;blockquote>
&lt;p>Enhanced LDAP integration is only available in Grafana Enterprise.&lt;/p></description></item><item><title>Enterprise configuration</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/enterprise-configuration/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/enterprise-configuration/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-enterprise-configuration&#34;&gt;Grafana Enterprise configuration&lt;/h1&gt;
&lt;p&gt;This page describes Grafana Enterprise-specific configuration options that you can specify in a &lt;code&gt;.ini&lt;/code&gt; configuration file or using environment variables. Refer to &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; for more information about available configuration options.&lt;/p&gt;
&lt;h2 id=&#34;enterprise&#34;&gt;[enterprise]&lt;/h2&gt;
&lt;h3 id=&#34;license_path&#34;&gt;license_path&lt;/h3&gt;
&lt;p&gt;Local filesystem path to Grafana Enterprise&amp;rsquo;s license file.
Defaults to &lt;code&gt;&amp;lt;paths.data&amp;gt;/license.jwt&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;license_text&#34;&gt;license_text&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;When set to the text representation (i.e. content of the license file)
of the license, Grafana will evaluate and apply the given license to
the instance.&lt;/p&gt;
&lt;h3 id=&#34;auto_refresh_license&#34;&gt;auto_refresh_license&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;When enabled, Grafana will send the license and usage statistics to
the license issuer. If the license has been updated on the issuer&amp;rsquo;s
side to be valid for a different number of users or a new duration,
your Grafana instance will be updated with the new terms
automatically. Defaults to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;white_labeling&#34;&gt;[white_labeling]&lt;/h2&gt;
&lt;h3 id=&#34;app_title&#34;&gt;app_title&lt;/h3&gt;
&lt;p&gt;Set to your company name to override application title.&lt;/p&gt;
&lt;h3 id=&#34;login_logo&#34;&gt;login_logo&lt;/h3&gt;
&lt;p&gt;Set to complete URL to override login logo.&lt;/p&gt;
&lt;h3 id=&#34;login_background&#34;&gt;login_background&lt;/h3&gt;
&lt;p&gt;Set to complete CSS background expression to override login background. Example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[white_labeling]
login_background = url(http://www.bhmpics.com/wallpapers/starfield-1920x1080.jpg)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;menu_logo&#34;&gt;menu_logo&lt;/h3&gt;
&lt;p&gt;Set to complete URL to override menu logo.&lt;/p&gt;
&lt;h3 id=&#34;fav_icon&#34;&gt;fav_icon&lt;/h3&gt;
&lt;p&gt;Set to complete URL to override fav icon (icon shown in browser tab).&lt;/p&gt;
&lt;h3 id=&#34;apple_touch_icon&#34;&gt;apple_touch_icon&lt;/h3&gt;
&lt;p&gt;Set to complete URL to override Apple/iOS icon.&lt;/p&gt;
&lt;h3 id=&#34;footer_links&#34;&gt;footer_links&lt;/h3&gt;
&lt;p&gt;List the link IDs to use here. Grafana will look for matching link configurations, the link IDs should be space-separated and contain no whitespace.&lt;/p&gt;
&lt;h2 id=&#34;usage_insightsexport&#34;&gt;[usage_insights.export]&lt;/h2&gt;
&lt;p&gt;By &lt;a href=&#34;../usage-insights/export-logs/&#34;&gt;exporting usage logs&lt;/a&gt;, you can directly query them and create dashboards of the information that matters to you most, such as dashboard errors, most active organizations, or your top-10 most-used queries.&lt;/p&gt;
&lt;h3 id=&#34;enabled&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Enable the usage insights export feature.&lt;/p&gt;
&lt;h3 id=&#34;storage&#34;&gt;storage&lt;/h3&gt;
&lt;p&gt;Specify a storage type. Defaults to &lt;code&gt;loki&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;usage_insightsexportstorageloki&#34;&gt;[usage_insights.export.storage.loki]&lt;/h2&gt;
&lt;h3 id=&#34;type&#34;&gt;type&lt;/h3&gt;
&lt;p&gt;Set the communication protocol to use with Loki, which is either &lt;code&gt;grpc&lt;/code&gt; or &lt;code&gt;http&lt;/code&gt;. Defaults to &lt;code&gt;grpc&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;url&#34;&gt;url&lt;/h3&gt;
&lt;p&gt;Set the address for writing logs to Loki (format must be host:port).&lt;/p&gt;
&lt;h3 id=&#34;tls&#34;&gt;tls&lt;/h3&gt;
&lt;p&gt;Decide whether or not to enable the TLS (Transport Layer Security) protocol when establishing the connection to Loki. Defaults to true.&lt;/p&gt;
&lt;h2 id=&#34;analyticssummaries&#34;&gt;[analytics.summaries]&lt;/h2&gt;
&lt;h3 id=&#34;buffer_write_interval&#34;&gt;buffer_write_interval&lt;/h3&gt;
&lt;p&gt;Interval for writing dashboard usage stats buffer to database.&lt;/p&gt;
&lt;h3 id=&#34;buffer_write_timeout&#34;&gt;buffer_write_timeout&lt;/h3&gt;
&lt;p&gt;Timeout for writing dashboard usage stats buffer to database.&lt;/p&gt;
&lt;h3 id=&#34;rollup_interval&#34;&gt;rollup_interval&lt;/h3&gt;
&lt;p&gt;Interval for trying to roll up per dashboard usage summary. Only rolled up at most once per day.&lt;/p&gt;
&lt;h3 id=&#34;rollup_timeout&#34;&gt;rollup_timeout&lt;/h3&gt;
&lt;p&gt;Timeout for trying to rollup per dashboard usage summary.&lt;/p&gt;
&lt;h2 id=&#34;analyticsviews&#34;&gt;[analytics.views]&lt;/h2&gt;
&lt;h3 id=&#34;recent_users_age&#34;&gt;recent_users_age&lt;/h3&gt;
&lt;p&gt;Age for recent active users.&lt;/p&gt;
&lt;h2 id=&#34;reporting&#34;&gt;[reporting]&lt;/h2&gt;
&lt;h3 id=&#34;rendering_timeout&#34;&gt;rendering_timeout&lt;/h3&gt;
&lt;p&gt;Timeout for each panel rendering request.&lt;/p&gt;
&lt;h3 id=&#34;concurrent_render_limit&#34;&gt;concurrent_render_limit&lt;/h3&gt;
&lt;p&gt;Maximum number of concurrent calls to the rendering service.&lt;/p&gt;
&lt;h3 id=&#34;image_scale_factor&#34;&gt;image_scale_factor&lt;/h3&gt;
&lt;p&gt;Scale factor for rendering images. Value &lt;code&gt;2&lt;/code&gt; is enough for monitor resolutions, &lt;code&gt;4&lt;/code&gt; would be better for printed material. Setting a higher value affects performance and memory.&lt;/p&gt;
&lt;h3 id=&#34;fonts_path&#34;&gt;fonts_path&lt;/h3&gt;
&lt;p&gt;Path to the directory containing font files.&lt;/p&gt;
&lt;h3 id=&#34;font_regular&#34;&gt;font_regular&lt;/h3&gt;
&lt;p&gt;Name of the TrueType font file with regular style.&lt;/p&gt;
&lt;h3 id=&#34;font_bold&#34;&gt;font_bold&lt;/h3&gt;
&lt;p&gt;Name of the TrueType font file with bold style.&lt;/p&gt;
&lt;h3 id=&#34;font_italic&#34;&gt;font_italic&lt;/h3&gt;
&lt;p&gt;Name of the TrueType font file with italic style.&lt;/p&gt;
&lt;h2 id=&#34;auditing&#34;&gt;[auditing]&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;../auditing/&#34;&gt;Auditing&lt;/a&gt; allows you to track important changes to your Grafana instance. By default, audit logs are logged to file but the auditing feature also supports sending logs directly to Loki.&lt;/p&gt;
&lt;h3 id=&#34;enabled-1&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Enable the auditing feature. Defaults to false.&lt;/p&gt;
&lt;h3 id=&#34;loggers&#34;&gt;loggers&lt;/h3&gt;
&lt;p&gt;List of enabled loggers.&lt;/p&gt;
&lt;h3 id=&#34;log_dashboard_content&#34;&gt;log_dashboard_content&lt;/h3&gt;
&lt;p&gt;Keep dashboard content in the logs (request or response fields). This can significantly increase the size of your logs.&lt;/p&gt;
&lt;h2 id=&#34;auditinglogsfile&#34;&gt;[auditing.logs.file]&lt;/h2&gt;
&lt;h3 id=&#34;path&#34;&gt;path&lt;/h3&gt;
&lt;p&gt;Path to logs folder.&lt;/p&gt;
&lt;h3 id=&#34;max_files&#34;&gt;max_files&lt;/h3&gt;
&lt;p&gt;Maximum log files to keep.&lt;/p&gt;
&lt;h3 id=&#34;max_file_size_mb&#34;&gt;max_file_size_mb&lt;/h3&gt;
&lt;p&gt;Max size in megabytes per log file.&lt;/p&gt;
&lt;h2 id=&#34;auditinglogsloki&#34;&gt;[auditing.logs.loki]&lt;/h2&gt;
&lt;h3 id=&#34;url-1&#34;&gt;url&lt;/h3&gt;
&lt;p&gt;Set the URL for writing logs to Loki.&lt;/p&gt;
&lt;h3 id=&#34;tls-1&#34;&gt;tls&lt;/h3&gt;
&lt;p&gt;If true, it establishes a secure connection to Loki. Defaults to true.&lt;/p&gt;
&lt;h2 id=&#34;authsaml&#34;&gt;[auth.saml]&lt;/h2&gt;
&lt;h3 id=&#34;enabled-2&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;If true, the feature is enabled. Defaults to false.&lt;/p&gt;
&lt;h3 id=&#34;certificate&#34;&gt;certificate&lt;/h3&gt;
&lt;p&gt;Base64-encoded public X.509 certificate. Used to sign requests to the IdP.&lt;/p&gt;
&lt;h3 id=&#34;certificate_path&#34;&gt;certificate_path&lt;/h3&gt;
&lt;p&gt;Path to the public X.509 certificate. Used to sign requests to the IdP.&lt;/p&gt;
&lt;h3 id=&#34;private_key&#34;&gt;private_key&lt;/h3&gt;
&lt;p&gt;Base64-encoded private key. Used to decrypt assertions from the IdP.&lt;/p&gt;
&lt;h3 id=&#34;private_key_path&#34;&gt;private_key_path&lt;/h3&gt;
&lt;p&gt;Path to the private key. Used to decrypt assertions from the IdP.&lt;/p&gt;
&lt;h3 id=&#34;idp_metadata&#34;&gt;idp_metadata&lt;/h3&gt;
&lt;p&gt;Base64-encoded IdP SAML metadata XML. Used to verify and obtain binding locations from the IdP.&lt;/p&gt;
&lt;h3 id=&#34;idp_metadata_path&#34;&gt;idp_metadata_path&lt;/h3&gt;
&lt;p&gt;Path to the SAML metadata XML. Used to verify and obtain binding locations from the IdP.&lt;/p&gt;
&lt;h3 id=&#34;idp_metadata_url&#34;&gt;idp_metadata_url&lt;/h3&gt;
&lt;p&gt;URL to fetch SAML IdP metadata. Used to verify and obtain binding locations from the IdP.&lt;/p&gt;
&lt;h3 id=&#34;max_issue_delay&#34;&gt;max_issue_delay&lt;/h3&gt;
&lt;p&gt;Time since the IdP issued a response and the SP is allowed to process it. Defaults to 90 seconds.&lt;/p&gt;
&lt;h3 id=&#34;metadata_valid_duration&#34;&gt;metadata_valid_duration&lt;/h3&gt;
&lt;p&gt;How long the SPs metadata is valid. Defaults to 48 hours.&lt;/p&gt;
&lt;h3 id=&#34;assertion_attribute_name&#34;&gt;assertion_attribute_name&lt;/h3&gt;
&lt;p&gt;Friendly name or name of the attribute within the SAML assertion to use as the user name.&lt;/p&gt;
&lt;h3 id=&#34;assertion_attribute_login&#34;&gt;assertion_attribute_login&lt;/h3&gt;
&lt;p&gt;Friendly name or name of the attribute within the SAML assertion to use as the user login handle.&lt;/p&gt;
&lt;h3 id=&#34;assertion_attribute_email&#34;&gt;assertion_attribute_email&lt;/h3&gt;
&lt;p&gt;Friendly name or name of the attribute within the SAML assertion to use as the user email.&lt;/p&gt;
&lt;h3 id=&#34;assertion_attribute_groups&#34;&gt;assertion_attribute_groups&lt;/h3&gt;
&lt;p&gt;Friendly name or name of the attribute within the SAML assertion to use as the user groups.&lt;/p&gt;
&lt;h3 id=&#34;assertion_attribute_role&#34;&gt;assertion_attribute_role&lt;/h3&gt;
&lt;p&gt;Friendly name or name of the attribute within the SAML assertion to use as the user roles.&lt;/p&gt;
&lt;h3 id=&#34;assertion_attribute_org&#34;&gt;assertion_attribute_org&lt;/h3&gt;
&lt;p&gt;Friendly name or name of the attribute within the SAML assertion to use as the user organization.&lt;/p&gt;
&lt;h3 id=&#34;allowed_organizations&#34;&gt;allowed_organizations&lt;/h3&gt;
&lt;p&gt;List of comma- or space-separated organizations. Each user must be a member of at least one organization to log in.&lt;/p&gt;
&lt;h3 id=&#34;org_mapping&#34;&gt;org_mapping&lt;/h3&gt;
&lt;p&gt;List of comma- or space-separated Organization:OrgId mappings.&lt;/p&gt;
&lt;h3 id=&#34;role_values_editor&#34;&gt;role_values_editor&lt;/h3&gt;
&lt;p&gt;List of comma- or space-separated roles that will be mapped to the Editor role.&lt;/p&gt;
&lt;h3 id=&#34;role_values_admin&#34;&gt;role_values_admin&lt;/h3&gt;
&lt;p&gt;List of comma- or space-separated roles that will be mapped to the Admin role.&lt;/p&gt;
&lt;h3 id=&#34;role_values_grafana_admin&#34;&gt;role_values_grafana_admin&lt;/h3&gt;
&lt;p&gt;List of comma- or space-separated roles that will be mapped to the Grafana Admin (Super Admin) role.&lt;/p&gt;
&lt;h2 id=&#34;keystorevault&#34;&gt;[keystore.vault]&lt;/h2&gt;
&lt;h3 id=&#34;url-2&#34;&gt;url&lt;/h3&gt;
&lt;p&gt;Location of the Vault server.&lt;/p&gt;
&lt;h3 id=&#34;namespace&#34;&gt;namespace&lt;/h3&gt;
&lt;p&gt;Vault namespace if using Vault with multi-tenancy.&lt;/p&gt;
&lt;h3 id=&#34;auth_method&#34;&gt;auth_method&lt;/h3&gt;
&lt;p&gt;Method for authenticating towards Vault. Vault is inactive if this option is not set. Current possible values: &lt;code&gt;token&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;token&#34;&gt;token&lt;/h3&gt;
&lt;p&gt;Secret token to connect to Vault when auth_method is &lt;code&gt;token&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;lease_renewal_interval&#34;&gt;lease_renewal_interval&lt;/h3&gt;
&lt;p&gt;Time between checking if there are any secrets which needs to be renewed.&lt;/p&gt;
&lt;h3 id=&#34;lease_renewal_expires_within&#34;&gt;lease_renewal_expires_within&lt;/h3&gt;
&lt;p&gt;Time until expiration for tokens which are renewed. Should have a value higher than lease_renewal_interval.&lt;/p&gt;
&lt;h3 id=&#34;lease_renewal_increment&#34;&gt;lease_renewal_increment&lt;/h3&gt;
&lt;p&gt;New duration for renewed tokens. Vault may be configured to ignore this value and impose a stricter limit.&lt;/p&gt;
&lt;h2 id=&#34;securityegress&#34;&gt;[security.egress]&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4 and later versions.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Security egress makes it possible to control outgoing traffic from the Grafana server.&lt;/p&gt;
&lt;h3 id=&#34;host_deny_list&#34;&gt;host_deny_list&lt;/h3&gt;
&lt;p&gt;A list of hostnames or IP addresses separated by spaces for which requests are blocked.&lt;/p&gt;
&lt;h3 id=&#34;host_allow_list&#34;&gt;host_allow_list&lt;/h3&gt;
&lt;p&gt;A list of hostnames or IP addresses separated by spaces for which requests are allowed. All other requests are blocked.&lt;/p&gt;
&lt;h3 id=&#34;header_drop_list&#34;&gt;header_drop_list&lt;/h3&gt;
&lt;p&gt;A list of headers that are stripped from the outgoing data source and alerting requests.&lt;/p&gt;
&lt;h3 id=&#34;cookie_drop_list&#34;&gt;cookie_drop_list&lt;/h3&gt;
&lt;p&gt;A list of cookies that are stripped from the outgoing data source and alerting requests.&lt;/p&gt;
&lt;h2 id=&#34;caching&#34;&gt;[caching]&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.5 and later versions.
&lt;strong&gt;Note:&lt;/strong&gt; The Memcached cache backend is unavailable in Grafana Enterprise v7.5.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;When query caching is enabled, Grafana temporarily stores the results of data source queries and serves cached responses to similar requests.&lt;/p&gt;
&lt;h3 id=&#34;backend&#34;&gt;backend&lt;/h3&gt;
&lt;p&gt;The caching backend to use when storing cached queries. Options: memory&lt;/p&gt;
&lt;h3 id=&#34;enabled-3&#34;&gt;enabled&lt;/h3&gt;
&lt;p&gt;Setting &amp;rsquo;enabled&amp;rsquo; to true enables caching datasource queries for all data sources.&lt;/p&gt;
&lt;h3 id=&#34;ttl&#34;&gt;ttl&lt;/h3&gt;
&lt;p&gt;The default TTL (time to live) if no other TTL is available.&lt;/p&gt;
&lt;h2 id=&#34;cachingmemory&#34;&gt;[caching.memory]&lt;/h2&gt;
&lt;h3 id=&#34;gc_interval&#34;&gt;gc_interval&lt;/h3&gt;
&lt;p&gt;When storing cache data in-memory, this setting defines how often a background process cleans up stale data from the in-memory cache. More frequent &amp;ldquo;garbage collection&amp;rdquo; can keep memory usage from climbing but will increase CPU usage.&lt;/p&gt;
&lt;h2 id=&#34;cachingredis&#34;&gt;[caching.redis]&lt;/h2&gt;
&lt;h3 id=&#34;url-3&#34;&gt;url&lt;/h3&gt;
&lt;p&gt;The full Redis URL of your Redis server. Example: &lt;code&gt;redis://localhost:6739/0&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;prefix&#34;&gt;prefix&lt;/h3&gt;
&lt;p&gt;A string that prefixes all Redis keys. This value must be set if using a shared database in Redis. If &lt;code&gt;prefix&lt;/code&gt; is empty, then one will not be used.&lt;/p&gt;
]]></content><description>&lt;h1 id="grafana-enterprise-configuration">Grafana Enterprise configuration&lt;/h1>
&lt;p>This page describes Grafana Enterprise-specific configuration options that you can specify in a &lt;code>.ini&lt;/code> configuration file or using environment variables. Refer to &lt;a href="../../administration/configuration/">Configuration&lt;/a> for more information about available configuration options.&lt;/p></description></item><item><title>Reporting</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/reporting/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/reporting/</guid><content><![CDATA[&lt;h1 id=&#34;reporting&#34;&gt;Reporting&lt;/h1&gt;
&lt;p&gt;Reporting allows you to automatically generate PDFs from any of your dashboards and have Grafana email them to interested parties on a schedule.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v6.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_list.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_list.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_list.png?w=320 320w, /static/img/docs/enterprise/reports_list.png?w=550 550w, /static/img/docs/enterprise/reports_list.png?w=750 750w, /static/img/docs/enterprise/reports_list.png?w=900 900w, /static/img/docs/enterprise/reports_list.png?w=1040 1040w, /static/img/docs/enterprise/reports_list.png?w=1240 1240w, /static/img/docs/enterprise/reports_list.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1488&#34;height=&#34;572&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_list.png&#34;
            alt=&#34;&#34;width=&#34;1488&#34;height=&#34;572&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;Any changes you make to a dashboard used in a report are reflected the next time the report is sent. For example, if you change the time range in the dashboard, then the time range in the report changes as well.&lt;/p&gt;
&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;SMTP must be configured for reports to be sent. Refer to &lt;a href=&#34;../../administration/configuration/#smtp&#34;&gt;SMTP&lt;/a&gt; in &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;The Image Renderer plugin must be installed or the remote rendering service must be set up. Refer to &lt;a href=&#34;../../administration/image_rendering/&#34;&gt;Image rendering&lt;/a&gt; for more information.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-or-update-a-report&#34;&gt;Create or update a report&lt;/h2&gt;
&lt;p&gt;Currently only Organization Admins can create reports.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the reports icon in the side menu. The Reports tab allows you to view, create, and update your reports.&lt;/li&gt;
&lt;li&gt;Enter report information. All fields are required unless otherwise indicated.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name -&lt;/strong&gt; Name of the report as you want it to appear in the Reports list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source dashboard -&lt;/strong&gt; Select the dashboard to generate the report from.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recipients -&lt;/strong&gt; Enter the emails of the people or teams that you want to receive the report, separated by semicolons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reply to -&lt;/strong&gt; (optional) The address that will appear in the &lt;strong&gt;Reply to&lt;/strong&gt; field of the email.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Message -&lt;/strong&gt; (optional) Message body in the email with the report.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time range -&lt;/strong&gt; (optional) Use custom time range for the report. For more information check &lt;a href=&#34;#report-time-range&#34;&gt;Report time range&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preview PDF&lt;/strong&gt; to make sure the report appears as you expect. Update if necessary.&lt;/li&gt;
&lt;li&gt;Enter scheduling information. Options vary depending on the frequency you select.&lt;/li&gt;
&lt;li&gt;Select the orientation option for generated report: &lt;strong&gt;Portrait&lt;/strong&gt; or &lt;strong&gt;Landscape&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the layout option for generated report: &lt;strong&gt;Simple&lt;/strong&gt; or &lt;strong&gt;Grid&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save&lt;/strong&gt; the report.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Send test email&lt;/strong&gt; to verify that the whole configuration is working as expected.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_create_new.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_create_new.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_create_new.png?w=320 320w, /static/img/docs/enterprise/reports_create_new.png?w=550 550w, /static/img/docs/enterprise/reports_create_new.png?w=750 750w, /static/img/docs/enterprise/reports_create_new.png?w=900 900w, /static/img/docs/enterprise/reports_create_new.png?w=1040 1040w, /static/img/docs/enterprise/reports_create_new.png?w=1240 1240w, /static/img/docs/enterprise/reports_create_new.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1057&#34;height=&#34;1348&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_create_new.png&#34;
            alt=&#34;&#34;width=&#34;1057&#34;height=&#34;1348&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;layout-and-orientation&#34;&gt;Layout and orientation&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;We&amp;rsquo;re actively working on developing new report layout options. &lt;a href=&#34;/contact?about=grafana-enterprise&amp;amp;topic=design-process&amp;amp;value=reporting&#34;&gt;Contact us&lt;/a&gt; if you would like to get involved in the design process.&lt;/p&gt;&lt;/blockquote&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Layout&lt;/th&gt;
              &lt;th&gt;Orientation&lt;/th&gt;
              &lt;th&gt;Support&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Preview&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Simple&lt;/td&gt;
              &lt;td&gt;Portrait&lt;/td&gt;
              &lt;td&gt;v6.4&#43;&lt;/td&gt;
              &lt;td&gt;Generates an A4 page in portrait mode with three panels per page.&lt;/td&gt;
              &lt;td&gt;&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_portrait_preview.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_portrait_preview.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_portrait_preview.png?w=320 320w, /static/img/docs/enterprise/reports_portrait_preview.png?w=550 550w, /static/img/docs/enterprise/reports_portrait_preview.png?w=750 750w, /static/img/docs/enterprise/reports_portrait_preview.png?w=900 900w, /static/img/docs/enterprise/reports_portrait_preview.png?w=1040 1040w, /static/img/docs/enterprise/reports_portrait_preview.png?w=1240 1240w, /static/img/docs/enterprise/reports_portrait_preview.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;595&#34;height=&#34;841&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_portrait_preview.png&#34;
            alt=&#34;&#34;width=&#34;595&#34;height=&#34;841&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Simple&lt;/td&gt;
              &lt;td&gt;Landscape&lt;/td&gt;
              &lt;td&gt;v6.7&#43;&lt;/td&gt;
              &lt;td&gt;Generates an A4 page in landscape mode with a single panel per page.&lt;/td&gt;
              &lt;td&gt;&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_landscape_preview.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_landscape_preview.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_landscape_preview.png?w=320 320w, /static/img/docs/enterprise/reports_landscape_preview.png?w=550 550w, /static/img/docs/enterprise/reports_landscape_preview.png?w=750 750w, /static/img/docs/enterprise/reports_landscape_preview.png?w=900 900w, /static/img/docs/enterprise/reports_landscape_preview.png?w=1040 1040w, /static/img/docs/enterprise/reports_landscape_preview.png?w=1240 1240w, /static/img/docs/enterprise/reports_landscape_preview.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;841&#34;height=&#34;595&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_landscape_preview.png&#34;
            alt=&#34;&#34;width=&#34;841&#34;height=&#34;595&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grid&lt;/td&gt;
              &lt;td&gt;Portrait&lt;/td&gt;
              &lt;td&gt;v7.2&#43;&lt;/td&gt;
              &lt;td&gt;Generates an A4 page in portrait mode with panels arranged in the same way as at the original dashboard.&lt;/td&gt;
              &lt;td&gt;&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_grid_portrait_preview.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_grid_portrait_preview.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_grid_portrait_preview.png?w=320 320w, /static/img/docs/enterprise/reports_grid_portrait_preview.png?w=550 550w, /static/img/docs/enterprise/reports_grid_portrait_preview.png?w=750 750w, /static/img/docs/enterprise/reports_grid_portrait_preview.png?w=900 900w, /static/img/docs/enterprise/reports_grid_portrait_preview.png?w=1040 1040w, /static/img/docs/enterprise/reports_grid_portrait_preview.png?w=1240 1240w, /static/img/docs/enterprise/reports_grid_portrait_preview.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;943&#34;height=&#34;1335&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_grid_portrait_preview.png&#34;
            alt=&#34;&#34;width=&#34;943&#34;height=&#34;1335&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Grid&lt;/td&gt;
              &lt;td&gt;Landscape&lt;/td&gt;
              &lt;td&gt;v7.2&#43;&lt;/td&gt;
              &lt;td&gt;Generates an A4 page in landscape mode with panels arranged in the same way as at the original dashboard.&lt;/td&gt;
              &lt;td&gt;&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_grid_landscape_preview.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_grid_landscape_preview.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_grid_landscape_preview.png?w=320 320w, /static/img/docs/enterprise/reports_grid_landscape_preview.png?w=550 550w, /static/img/docs/enterprise/reports_grid_landscape_preview.png?w=750 750w, /static/img/docs/enterprise/reports_grid_landscape_preview.png?w=900 900w, /static/img/docs/enterprise/reports_grid_landscape_preview.png?w=1040 1040w, /static/img/docs/enterprise/reports_grid_landscape_preview.png?w=1240 1240w, /static/img/docs/enterprise/reports_grid_landscape_preview.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1397&#34;height=&#34;987&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_grid_landscape_preview.png&#34;
            alt=&#34;&#34;width=&#34;1397&#34;height=&#34;987&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;scheduling&#34;&gt;Scheduling&lt;/h3&gt;
&lt;p&gt;Scheduled reports can be sent on a weekly, daily, or hourly basis. You may also disable scheduling for when you either want to pause a report or send it via the API.&lt;/p&gt;
&lt;p&gt;All scheduling indicates when the reporting service will start rendering the dashboard. It can take a few minutes to render a dashboard with a lot of panels.&lt;/p&gt;
&lt;h4 id=&#34;hourly&#34;&gt;Hourly&lt;/h4&gt;
&lt;p&gt;Hourly reports are generated once per hour. All fields are required.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;At minute -&lt;/strong&gt; The number of minutes after full hour when the report should be generated.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time zone -&lt;/strong&gt; Time zone to determine the offset of the full hour. Does not currently change the time in the rendered report.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;daily&#34;&gt;Daily&lt;/h4&gt;
&lt;p&gt;Daily reports are generated once per day. All fields are required.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Time -&lt;/strong&gt; Time the report is sent, in 24-hour format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time zone -&lt;/strong&gt; Time zone for the &lt;strong&gt;Time&lt;/strong&gt; field.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;weekly&#34;&gt;Weekly&lt;/h4&gt;
&lt;p&gt;Weekly reports are generated once per week. All fields are required.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Day -&lt;/strong&gt; Weekday which the report should be sent on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time -&lt;/strong&gt; Time the report is sent, in 24-hour format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time zone -&lt;/strong&gt; Time zone for the &lt;strong&gt;Time&lt;/strong&gt; field.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;monthly&#34;&gt;Monthly&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v7.1&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Monthly reports are generated once per month. All fields are required.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Day in month -&lt;/strong&gt; Day of the month when the report should be sent. You can select &lt;code&gt;last&lt;/code&gt; for reports that should go out on the last day of the month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time -&lt;/strong&gt; Time the report is sent, in 24-hour format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time zone -&lt;/strong&gt; Time zone for the &lt;strong&gt;Time&lt;/strong&gt; field.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;never&#34;&gt;Never&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v7.0&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Reports which are scheduled to never be sent have no parameter and will not be sent to the scheduler. They may be manually generated from the &lt;strong&gt;Send test email&lt;/strong&gt; prompt or via the &lt;a href=&#34;../../http_api/reporting/&#34;&gt;Reporting API&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;send-test-email&#34;&gt;Send test email&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v7.0&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;In the report, click &lt;strong&gt;Send test email&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the Email field, enter the email address or addresses that you want to test, separated by semicolon.
If you want to use email addresses from the report, then select the &lt;strong&gt;Use emails from report&lt;/strong&gt; check box.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Send&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The last saved version of the report will be sent to selected emails. You can use this to verify emails are working and to make sure the report is generated and displayed as you expect.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_send_test_mail.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_send_test_mail.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_send_test_mail.png?w=320 320w, /static/img/docs/enterprise/reports_send_test_mail.png?w=550 550w, /static/img/docs/enterprise/reports_send_test_mail.png?w=750 750w, /static/img/docs/enterprise/reports_send_test_mail.png?w=900 900w, /static/img/docs/enterprise/reports_send_test_mail.png?w=1040 1040w, /static/img/docs/enterprise/reports_send_test_mail.png?w=1240 1240w, /static/img/docs/enterprise/reports_send_test_mail.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;500&#34;height=&#34;243&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_send_test_mail.png&#34;
            alt=&#34;&#34;width=&#34;500&#34;height=&#34;243&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 id=&#34;send-report-via-the-api&#34;&gt;Send report via the API&lt;/h2&gt;
&lt;p&gt;You can send reports programmatically with the &lt;a href=&#34;../../http_api/reporting/#send-report&#34;&gt;send report&lt;/a&gt; endpoint in the &lt;a href=&#34;../../http_api/&#34;&gt;HTTP APIs&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;rendering-configuration&#34;&gt;Rendering configuration&lt;/h2&gt;
&lt;p&gt;When generating reports, each panel renders separately before being collected in a PDF. The per panel rendering timeout and number of concurrently rendered panels can be configured.&lt;/p&gt;
&lt;p&gt;To make a panel more legible, you can set a scale factor for the rendered images. However, a higher scale factor increases the file size of the generated PDF.&lt;/p&gt;
&lt;p&gt;You can also specify custom fonts that support different Unicode scripts. The DejaVu font is the default used for PDF rendering.&lt;/p&gt;
&lt;p&gt;These options are available in the &lt;a href=&#34;../../administration/configuration/&#34;&gt;configuration&lt;/a&gt; file.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[reporting]
# Set timeout for each panel rendering request
rendering_timeout = 10s
# Set maximum number of concurrent calls to the rendering service
concurrent_render_limit = 4
# Set the scale factor for rendering images. 2 is enough for monitor resolutions
# 4 would be better for printed material. Setting a higher value affects performance and memory
image_scale_factor = 2
# Path to the directory containing font files
fonts_path =
# Name of the TrueType font file with regular style
font_regular = DejaVuSansCondensed.ttf
# Name of the TrueType font file with bold style
font_bold = DejaVuSansCondensed-Bold.ttf
# Name of the TrueType font file with italic style
font_italic = DejaVuSansCondensed-Oblique.ttf&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;report-time-range&#34;&gt;Report time range&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Setting custom report time range is available in Grafana Enterprise v7.2&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;By default, reports use the saved time range of the dashboard. Changing the time range of the report can be done by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Saving a modified time range to the dashboard.&lt;/li&gt;
&lt;li&gt;Setting a time range via &lt;strong&gt;Time range&lt;/strong&gt; field in the report form. If specified, then this custom time range overrides the one from the report&amp;rsquo;s dashboard.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The page header of the report displays the time range for the dashboard&amp;rsquo;s data queries. Dashboards set to use the browser&amp;rsquo;s time zone will use the time zone on the Grafana server.&lt;/p&gt;
&lt;p&gt;If the time zone is set differently between your Grafana server and its remote image renderer, then the time ranges in the report might be different between the page header and the time axes in the panels. We advise always setting the time zone to UTC for dashboards when using a remote renderer to avoid this.&lt;/p&gt;
&lt;h2 id=&#34;choose-template-variables&#34;&gt;Choose template variables&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;** Note:** Available in Grafana Enterprise version 7.5&#43; (behind &lt;code&gt;reportVariables&lt;/code&gt; feature flag).&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can configure report-specific template variables for the dashboard on the report page. The variables that you select will override the variables from the dashboard, and they are used when rendering a PDF file of the report. For detailed information about using template variables, refer to the &lt;a href=&#34;../../variables/&#34;&gt;Templates and variables&lt;/a&gt; section.&lt;/p&gt;
&lt;h2 id=&#34;reports-settings&#34;&gt;Reports settings&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v7.2&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can configure organization-wide report settings in the &lt;strong&gt;Settings&lt;/strong&gt; tab on the &lt;strong&gt;Reporting&lt;/strong&gt; page. Settings are applied to all the reports for current organization.&lt;/p&gt;
&lt;p&gt;You can customize the branding options.&lt;/p&gt;
&lt;p&gt;Report branding:
&lt;strong&gt;Company logo URL&lt;/strong&gt; - Company logo displayed in the report PDF. Defaults to the Grafana logo.&lt;/p&gt;
&lt;p&gt;Email branding:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Company logo URL&lt;/strong&gt; - Company logo displayed in the report PDF. Defaults to the Grafana logo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email footer&lt;/strong&gt; - Toggle to enable report email footer. Select &lt;strong&gt;Sent by&lt;/strong&gt; or &lt;strong&gt;None&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Footer link text&lt;/strong&gt; - Text for the link in the report email footer. Defaults to &amp;ldquo;Grafana&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Footer link URL&lt;/strong&gt; - Link for the report email footer.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 500px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/reports_settings.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/reports_settings.png&#34;data-srcset=&#34;/static/img/docs/enterprise/reports_settings.png?w=320 320w, /static/img/docs/enterprise/reports_settings.png?w=550 550w, /static/img/docs/enterprise/reports_settings.png?w=750 750w, /static/img/docs/enterprise/reports_settings.png?w=900 900w, /static/img/docs/enterprise/reports_settings.png?w=1040 1040w, /static/img/docs/enterprise/reports_settings.png?w=1240 1240w, /static/img/docs/enterprise/reports_settings.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1128&#34;height=&#34;1029&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/reports_settings.png&#34;
            alt=&#34;&#34;width=&#34;1128&#34;height=&#34;1029&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 id=&#34;troubleshoot-reporting&#34;&gt;Troubleshoot reporting&lt;/h2&gt;
&lt;p&gt;To troubleshoot and get more log information, enable debug logging in the configuration file. Refer to &lt;a href=&#34;../../administration/configuration/#filters&#34;&gt;Configuration&lt;/a&gt; for more information.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[log]
filters = report:debug&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="reporting">Reporting&lt;/h1>
&lt;p>Reporting allows you to automatically generate PDFs from any of your dashboards and have Grafana email them to interested parties on a schedule.&lt;/p>
&lt;blockquote>
&lt;p>Only available in Grafana Enterprise v6.4+.&lt;/p></description></item><item><title>SAML Authentication</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/saml/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/saml/</guid><content><![CDATA[&lt;h1 id=&#34;saml-authentication&#34;&gt;SAML authentication&lt;/h1&gt;
&lt;p&gt;SAML authentication integration allows your Grafana users to log in by using an external SAML 2.0 Identity Provider (IdP). To enable this, Grafana becomes a Service Provider (SP) in the authentication flow, interacting with the IdP to exchange user information.&lt;/p&gt;
&lt;p&gt;The SAML single sign-on (SSO) standard is varied and flexible. Our implementation contains a subset of features needed to provide a smooth authentication experience into Grafana.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v6.3&#43;. If you encounter any problems with our implementation, please don&amp;rsquo;t hesitate to contact us.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;supported-saml&#34;&gt;Supported SAML&lt;/h2&gt;
&lt;p&gt;Grafana supports the following SAML 2.0 bindings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;From the Service Provider (SP) to the Identity Provider (IdP):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;HTTP-POST&lt;/code&gt; binding&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HTTP-Redirect&lt;/code&gt; binding&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Identity Provider (IdP) to the Service Provider (SP):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;HTTP-POST&lt;/code&gt; binding&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In terms of security:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana supports signed and encrypted assertions.&lt;/li&gt;
&lt;li&gt;Grafana does not support signed or encrypted requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In terms of initiation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana supports SP-initiated requests.&lt;/li&gt;
&lt;li&gt;Grafana does not support IdP-initiated request.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;set-up-saml-authentication&#34;&gt;Set up SAML authentication&lt;/h2&gt;
&lt;p&gt;The table below describes all SAML configuration options. Continue reading below for details on specific options. Like any other Grafana configuration, you can apply these options as &lt;a href=&#34;../../administration/configuration/#configure-with-environment-variables&#34;&gt;environment variables&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Whether SAML authentication is allowed&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;single_logout&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Whether SAML Single Logout enabled&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;allow_idp_initiated&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Whether SAML IdP-initiated login is allowed&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;certificate&lt;/code&gt; or &lt;code&gt;certificate_path&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Base64-encoded string or Path for the SP X.509 certificate&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;private_key&lt;/code&gt; or &lt;code&gt;private_key_path&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Base64-encoded string or Path for the SP private key&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;signature_algorithm&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Signature algorithm used for signing requests to the IdP. Supported values are rsa-sha1, rsa-sha256, rsa-sha512.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;idp_metadata&lt;/code&gt;, &lt;code&gt;idp_metadata_path&lt;/code&gt;, or &lt;code&gt;idp_metadata_url&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Base64-encoded string, Path or URL for the IdP SAML metadata XML&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;max_issue_delay&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Duration, since the IdP issued a response and the SP is allowed to process it&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;90s&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;metadata_valid_duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Duration, for how long the SP metadata is valid&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;48h&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;relay_state&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Relay state for IdP-initiated login. Should match relay state configured in IdP&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;assertion_attribute_name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Friendly name or name of the attribute within the SAML assertion to use as the user name&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;displayName&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;assertion_attribute_login&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Friendly name or name of the attribute within the SAML assertion to use as the user login handle&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;mail&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;assertion_attribute_email&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Friendly name or name of the attribute within the SAML assertion to use as the user email&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;mail&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;assertion_attribute_groups&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Friendly name or name of the attribute within the SAML assertion to use as the user groups&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;assertion_attribute_role&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Friendly name or name of the attribute within the SAML assertion to use as the user roles&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;assertion_attribute_org&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Friendly name or name of the attribute within the SAML assertion to use as the user organization&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;allowed_organizations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;List of comma- or space-separated organizations. User should be a member of at least one organization to log in.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;org_mapping&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;List of comma- or space-separated Organization:OrgId mappings&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;role_values_editor&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;List of comma- or space-separated roles which will be mapped into the Editor role&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;role_values_admin&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;List of comma- or space-separated roles which will be mapped into the Admin role&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;role_values_grafana_admin&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;List of comma- or space-separated roles which will be mapped into the Grafana Admin (Super Admin) role&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;enable-saml-authentication&#34;&gt;Enable SAML authentication&lt;/h3&gt;
&lt;p&gt;To use the SAML integration, in the &lt;code&gt;auth.saml&lt;/code&gt; section of in the Grafana custom configuration file, set &lt;code&gt;enabled&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; for more information about configuring Grafana.&lt;/p&gt;
&lt;h3 id=&#34;certificate-and-private-key&#34;&gt;Certificate and private key&lt;/h3&gt;
&lt;p&gt;The SAML SSO standard uses asymmetric encryption to exchange information between the SP (Grafana) and the IdP. To perform such encryption, you need a public part and a private part. In this case, the X.509 certificate provides the public part, while the private key provides the private part.&lt;/p&gt;
&lt;p&gt;Grafana supports two ways of specifying both the &lt;code&gt;certificate&lt;/code&gt; and &lt;code&gt;private_key&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Without a suffix (&lt;code&gt;certificate&lt;/code&gt; or &lt;code&gt;private_key&lt;/code&gt;), the configuration assumes you&amp;rsquo;ve supplied the base64-encoded file contents.&lt;/li&gt;
&lt;li&gt;With the &lt;code&gt;_path&lt;/code&gt; suffix (&lt;code&gt;certificate_path&lt;/code&gt; or &lt;code&gt;private_key_path&lt;/code&gt;), then Grafana treats the value entered as a file path and attempts to read the file from the file system.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can only use one form of each configuration option. Using multiple forms, such as both &lt;code&gt;certificate&lt;/code&gt; and &lt;code&gt;certificate_path&lt;/code&gt;, results in an error.&lt;/p&gt;
&lt;h3 id=&#34;signature-algorithm&#34;&gt;Signature algorithm&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v7.3&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The SAML standard recommends using a digital signature for some types of messages, like authentication or logout requests. If the &lt;code&gt;signature_algorithm&lt;/code&gt; option is configured, Grafana will put a digital signature into SAML requests. Supported signature types are &lt;code&gt;rsa-sha1&lt;/code&gt;, &lt;code&gt;rsa-sha256&lt;/code&gt;, &lt;code&gt;rsa-sha512&lt;/code&gt;. This option should match your IdP configuration, otherwise, signature validation will fail. Grafana uses key and certificate configured with &lt;code&gt;private_key&lt;/code&gt; and &lt;code&gt;certificate&lt;/code&gt; options for signing SAML requests.&lt;/p&gt;
&lt;h3 id=&#34;idp-metadata&#34;&gt;IdP metadata&lt;/h3&gt;
&lt;p&gt;You also need to define the public part of the IdP for message verification. The SAML IdP metadata XML defines where and how Grafana exchanges user information.&lt;/p&gt;
&lt;p&gt;Grafana supports three ways of specifying the IdP metadata.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Without a suffix &lt;code&gt;idp_metadata&lt;/code&gt;, Grafana assumes base64-encoded XML file contents.&lt;/li&gt;
&lt;li&gt;With the &lt;code&gt;_path&lt;/code&gt; suffix, Grafana assumes a file path and attempts to read the file from the file system.&lt;/li&gt;
&lt;li&gt;With the &lt;code&gt;_url&lt;/code&gt; suffix, Grafana assumes a URL and attempts to load the metadata from the given location.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;maximum-issue-delay&#34;&gt;Maximum issue delay&lt;/h3&gt;
&lt;p&gt;Prevents SAML response replay attacks and internal clock skews between the SP (Grafana) and the IdP. You can set a maximum amount of time between the IdP issuing a response and the SP (Grafana) processing it.&lt;/p&gt;
&lt;p&gt;The configuration options is specified as a duration, such as &lt;code&gt;max_issue_delay = 90s&lt;/code&gt; or &lt;code&gt;max_issue_delay = 1h&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;metadata-valid-duration&#34;&gt;Metadata valid duration&lt;/h3&gt;
&lt;p&gt;SP metadata is likely to expire at some point, perhaps due to a certificate rotation or change of location binding. Grafana allows you to specify for how long the metadata should be valid. Leveraging the &lt;code&gt;validUntil&lt;/code&gt; field, you can tell consumers until when your metadata is going to be valid. The duration is computed by adding the duration to the current time.&lt;/p&gt;
&lt;p&gt;The configuration option is specified as a duration, such as &lt;code&gt;metadata_valid_duration = 48h&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;identity-provider-idp-registration&#34;&gt;Identity provider (IdP) registration&lt;/h3&gt;
&lt;p&gt;For the SAML integration to work correctly, you need to make the IdP aware of the SP.&lt;/p&gt;
&lt;p&gt;The integration provides two key endpoints as part of Grafana:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;/saml/metadata&lt;/code&gt; endpoint, which contains the SP metadata. You can either download and upload it manually, or youmake the IdP request it directly from the endpoint. Some providers name it Identifier or Entity ID.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;/saml/acs&lt;/code&gt; endpoint, which is intended to receive the ACS (Assertion Customer Service) callback. Some providers name it SSO URL or Reply URL.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;idp-initiated-single-sign-on-sso&#34;&gt;IdP-initiated Single Sign-On (SSO)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v7.3&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;By default, Grafana allows only service provider (SP) initiated logins (when the user logs in with SAML via Grafana’s login page). If you want users to log in into Grafana directly from your identity provider (IdP), set the &lt;code&gt;allow_idp_initiated&lt;/code&gt; configuration option to &lt;code&gt;true&lt;/code&gt; and configure &lt;code&gt;relay_state&lt;/code&gt; with the same value specified in the IdP configuration.&lt;/p&gt;
&lt;p&gt;IdP-initiated SSO has some security risks, so make sure you understand the risks before enabling this feature. When using IdP-initiated SSO, Grafana receives unsolicited SAML requests and can&amp;rsquo;t verify that login flow was started by the user. This makes it hard to detect whether SAML message has been stolen or replaced. Because of this, IdP-initiated SSO is vulnerable to login cross-site request forgery (CSRF) and man in the middle (MITM) attacks. We do not recommend using IdP-initiated SSO and keeping it disabled whenever possible.&lt;/p&gt;
&lt;h3 id=&#34;single-logout&#34;&gt;Single logout&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v7.3&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;SAML&amp;rsquo;s single logout feature allows users to log out from all applications associated with the current IdP session established via SAML SSO. If the &lt;code&gt;single_logout&lt;/code&gt; option is set to &lt;code&gt;true&lt;/code&gt; and a user logs out, Grafana requests IdP to end the user session which in turn triggers logout from all other applications the user is logged into using the same IdP session (applications should support single logout). Conversely, if another application connected to the same IdP logs out using single logout, Grafana receives a logout request from IdP and ends the user session.&lt;/p&gt;
&lt;h3 id=&#34;assertion-mapping&#34;&gt;Assertion mapping&lt;/h3&gt;
&lt;p&gt;During the SAML SSO authentication flow, Grafana receives the ACS callback. The callback contains all the relevant information of the user under authentication embedded in the SAML response. Grafana parses the response to create (or update) the user within its internal database.&lt;/p&gt;
&lt;p&gt;For Grafana to map the user information, it looks at the individual attributes within the assertion. You can think of these attributes as Key/Value pairs (although, they contain more information than that).&lt;/p&gt;
&lt;p&gt;Grafana provides configuration options that let you modify which keys to look at for these values. The data we need to create the user in Grafana is Name, Login handle, and email.&lt;/p&gt;
&lt;h3 id=&#34;configure-team-sync&#34;&gt;Configure team sync&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Team sync support for SAML only available in Grafana v7.0&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;To use SAML Team sync, set &lt;a href=&#34;../enterprise-configuration/#assertion-attribute-groups&#34;&gt;&lt;code&gt;assertion_attribute_groups&lt;/code&gt;&lt;/a&gt; to the attribute name where you store user groups. Then Grafana will use attribute values extracted from SAML assertion to add user into the groups with the same name configured on the External group sync tab.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;../team-sync/&#34;&gt;Learn more about Team Sync&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;configure-role-sync&#34;&gt;Configure role sync&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v7.0&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Role sync allows you to map user roles from an identity provider to Grafana. To enable role sync, configure role attribute and possible values for the &lt;a href=&#34;../../permissions/organization_roles/#editor-role&#34;&gt;Editor&lt;/a&gt;, &lt;a href=&#34;../../permissions/organization_roles/#admin-role&#34;&gt;Admin&lt;/a&gt; and &lt;a href=&#34;../../permissions/#grafana-admin&#34;&gt;Grafana Admin&lt;/a&gt; roles.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the configuration file, set &lt;a href=&#34;../enterprise-configuration/#assertion-attribute-role&#34;&gt;&lt;code&gt;assertion_attribute_role&lt;/code&gt;&lt;/a&gt; option to the attribute name where the role information will be extracted from.&lt;/li&gt;
&lt;li&gt;Set the &lt;a href=&#34;../enterprise-configuration/#role-values-editor&#34;&gt;&lt;code&gt;role_values_editor&lt;/code&gt;&lt;/a&gt; option to the values mapped to the &lt;code&gt;Editor&lt;/code&gt; role.&lt;/li&gt;
&lt;li&gt;Set the &lt;a href=&#34;../enterprise-configuration/#role-values-admin&#34;&gt;&lt;code&gt;role_values_admin&lt;/code&gt;&lt;/a&gt; option to the values mapped to the organization &lt;code&gt;Admin&lt;/code&gt; role.&lt;/li&gt;
&lt;li&gt;Set the &lt;a href=&#34;../enterprise-configuration/#role-values-grafana-admin&#34;&gt;&lt;code&gt;role_values_grafana_admin&lt;/code&gt;&lt;/a&gt; option to the values mapped to the &lt;code&gt;Grafana Admin&lt;/code&gt; role.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If a user role doesn&amp;rsquo;t match any of configured values, then the &lt;code&gt;Viewer&lt;/code&gt; role will be assigned.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href=&#34;../../permissions/organization_roles/&#34;&gt;Organization roles&lt;/a&gt; for more information about roles and permissions in Grafana.&lt;/p&gt;
&lt;p&gt;Example configuration:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[auth.saml]
assertion_attribute_role = role
role_values_editor = editor, developer
role_values_admin = admin, operator
role_values_grafana_admin = superadmin&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: When role sync is configured, any changes of user roles and organization membership made manually in Grafana will be overwritten on next user login. Assign user organizations and roles in the IdP instead.&lt;/p&gt;
&lt;h3 id=&#34;configure-organization-mapping&#34;&gt;Configure organization mapping&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v7.0&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Organization mapping allows you to assign users to particular organization in Grafana depending on attribute value obtained from identity provider.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In configuration file, set &lt;a href=&#34;../enterprise-configuration/#assertion-attribute-org&#34;&gt;&lt;code&gt;assertion_attribute_org&lt;/code&gt;&lt;/a&gt; to the attribute name you store organization info in.&lt;/li&gt;
&lt;li&gt;Set &lt;a href=&#34;../enterprise-configuration/#org-mapping&#34;&gt;&lt;code&gt;org_mapping&lt;/code&gt;&lt;/a&gt; option to the comma-separated list of &lt;code&gt;Organization:OrgId&lt;/code&gt; pairs to map organization from IdP to Grafana organization specified by id.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example, use following configuration to assign users from &lt;code&gt;Engineering&lt;/code&gt; organization to the Grafana organization with id &lt;code&gt;2&lt;/code&gt; and users from &lt;code&gt;Sales&lt;/code&gt; - to the org with id &lt;code&gt;3&lt;/code&gt;, based on &lt;code&gt;Org&lt;/code&gt; assertion attribute value:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[auth.saml]
assertion_attribute_org = Org
org_mapping = Engineering:2, Sales:3&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can specify multiple organizations both for the IdP and Grafana:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;org_mapping = Engineering:2, Sales:2&lt;/code&gt; to map users from &lt;code&gt;Engineering&lt;/code&gt; and &lt;code&gt;Sales&lt;/code&gt; to &lt;code&gt;2&lt;/code&gt; in Grafana.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;org_mapping = Engineering:2, Engineering:3&lt;/code&gt; to assign &lt;code&gt;Engineering&lt;/code&gt; to both &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; in Grafana.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configure-allowed-organizations&#34;&gt;Configure allowed organizations&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana v7.0&#43;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;With the &lt;a href=&#34;../enterprise-configuration/#allowed-organizations&#34;&gt;&lt;code&gt;allowed_organizations&lt;/code&gt;&lt;/a&gt; option you can specify a list of organizations where the user must be a member of at least one of them to be able to log in to Grafana.&lt;/p&gt;
&lt;h2 id=&#34;example-saml-configuration&#34;&gt;Example SAML configuration&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[auth.saml]
enabled = true
certificate_path = &amp;#34;/path/to/certificate.cert&amp;#34;
private_key_path = &amp;#34;/path/to/private_key.pem&amp;#34;
idp_metadata_path = &amp;#34;/my/metadata.xml&amp;#34;
max_issue_delay = 90s
metadata_valid_duration = 48h
assertion_attribute_name = displayName
assertion_attribute_login = mail
assertion_attribute_email = mail

assertion_attribute_groups = Group
assertion_attribute_role = Role
assertion_attribute_org = Org
role_values_editor = editor, developer
role_values_admin = admin, operator
role_values_grafana_admin = superadmin
org_mapping = Engineering:2, Sales:3
allowed_organizations = Engineering, Sales&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;set-up-saml-with-okta&#34;&gt;Set up SAML with Okta&lt;/h2&gt;
&lt;p&gt;This guide will follow you through the steps of configuring SAML authentication in Grafana with &lt;a href=&#34;https://okta.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Okta&lt;/a&gt;. You need to be an admin in your Okta organization to access Admin Console and create SAML integration. You also need permissions to edit Grafana config file and restart Grafana server.&lt;/p&gt;
&lt;h3 id=&#34;configure-the-saml-integration-in-okta&#34;&gt;Configure the SAML integration in Okta&lt;/h3&gt;
&lt;p&gt;To configure SAML integration with Okta, create integration inside the Okta organization first.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Log in to the &lt;a href=&#34;https://login.okta.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Okta portal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Go to the Admin Console in your Okta organization by clicking &lt;strong&gt;Admin&lt;/strong&gt; in the upper-right corner. If you are in the Developer Console, then click &lt;strong&gt;Developer Console&lt;/strong&gt; in the upper-left corner and then click &lt;strong&gt;Classic UI&lt;/strong&gt; to switch over to the Admin Console.&lt;/li&gt;
&lt;li&gt;In the Admin Console, navigate to &lt;strong&gt;Applications&lt;/strong&gt; &amp;gt; &lt;strong&gt;Applications&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Application&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create New App&lt;/strong&gt; to start the Application Integration Wizard.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Web&lt;/strong&gt; as a platform.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;SAML 2.0&lt;/strong&gt; in the Sign on method section.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On the &lt;strong&gt;General Settings&lt;/strong&gt; tab, enter a name for your Grafana integration. You can also upload a logo.&lt;/li&gt;
&lt;li&gt;On the &lt;strong&gt;Configure SAML&lt;/strong&gt; tab, enter the SAML information related to your Grafana instance:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Single sign on URL&lt;/strong&gt; field, use the &lt;code&gt;/saml/acs&lt;/code&gt; endpoint URL of your Grafana instance, for example, &lt;code&gt;https://grafana.example.com/saml/acs&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Audience URI (SP Entity ID)&lt;/strong&gt; field, use the &lt;code&gt;/saml/metadata&lt;/code&gt; endpoint URL, for example, &lt;code&gt;https://grafana.example.com/saml/metadata&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Leave the default values for &lt;strong&gt;Name ID format&lt;/strong&gt; and &lt;strong&gt;Application username&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;ATTRIBUTE STATEMENTS (OPTIONAL)&lt;/strong&gt; section, enter the SAML attributes to be shared with Grafana, for example:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Attribute name (in Grafana)&lt;/th&gt;
              &lt;th&gt;Value (in Okta profile)&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Login&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;user.login&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Email&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;user.email&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;DisplayName&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;user.firstName &#43; &amp;quot; &amp;quot; &#43; user.lastName&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;GROUP ATTRIBUTE STATEMENTS (OPTIONAL)&lt;/strong&gt; section, enter a group attribute name (for example, &lt;code&gt;Group&lt;/code&gt;) and set filter to &lt;code&gt;Matches regex .*&lt;/code&gt; to return all user groups.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On the final Feedback tab, fill out the form and then click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;edit-saml-options-in-the-grafana-config-file&#34;&gt;Edit SAML options in the Grafana config file&lt;/h3&gt;
&lt;p&gt;Once the application is created, configure Grafana to use it for SAML authentication. Refer to &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; to get more information about how to configure Grafana.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;code&gt;[auth.saml]&lt;/code&gt; section in the Grafana configuration file, set &lt;a href=&#34;../enterprise-configuration/#enabled&#34;&gt;&lt;code&gt;enabled&lt;/code&gt;&lt;/a&gt; to &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Configure the &lt;a href=&#34;#certificate-and-private-key&#34;&gt;certificate and private key&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;On the Okta application page where you have been redirected after application created, navigate to the &lt;strong&gt;Sign On&lt;/strong&gt; tab and find &lt;strong&gt;Identity Provider metadata&lt;/strong&gt; link in the &lt;strong&gt;Settings&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Set the &lt;a href=&#34;../enterprise-configuration/#idp-metadata-url&#34;&gt;&lt;code&gt;idp_metadata_url&lt;/code&gt;&lt;/a&gt; to the URL obtained from the previous step. The URL should look like &lt;code&gt;https://&amp;lt;your-org-id&amp;gt;.okta.com/app/&amp;lt;application-id&amp;gt;/sso/saml/metadata&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set the following options to the attribute names configured at the &lt;strong&gt;step 10&lt;/strong&gt; of the SAML integration setup. You can find this attributes on the &lt;strong&gt;General&lt;/strong&gt; tab of the application page (&lt;strong&gt;ATTRIBUTE STATEMENTS&lt;/strong&gt; and &lt;strong&gt;GROUP ATTRIBUTE STATEMENTS&lt;/strong&gt; in the &lt;strong&gt;SAML Settings&lt;/strong&gt; section).
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../enterprise-configuration/#assertion-attribute-login&#34;&gt;&lt;code&gt;assertion_attribute_login&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../enterprise-configuration/#assertion-attribute-email&#34;&gt;&lt;code&gt;assertion_attribute_email&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../enterprise-configuration/#assertion-attribute-name&#34;&gt;&lt;code&gt;assertion_attribute_name&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../enterprise-configuration/#assertion-attribute-groups&#34;&gt;&lt;code&gt;assertion_attribute_groups&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Save the configuration file and and then restart the Grafana server.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you are finished, the Grafana configuration might look like this example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[server]
root_url = https://grafana.example.com

[auth.saml]
enabled = true
private_key_path = &amp;#34;/path/to/private_key.pem&amp;#34;
certificate_path = &amp;#34;/path/to/certificate.cert&amp;#34;
idp_metadata_url = &amp;#34;https://my-org.okta.com/app/my-application/sso/saml/metadata&amp;#34;
assertion_attribute_name = DisplayName
assertion_attribute_login = Login
assertion_attribute_email = Email
assertion_attribute_groups = Group&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;troubleshoot-saml-authentication&#34;&gt;Troubleshoot SAML authentication&lt;/h2&gt;
&lt;p&gt;To troubleshoot and get more log information, enable SAML debug logging in the configuration file. Refer to &lt;a href=&#34;../../administration/configuration/#filters&#34;&gt;Configuration&lt;/a&gt; for more information.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;[log]
filters = saml.auth:debug&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="saml-authentication">SAML authentication&lt;/h1>
&lt;p>SAML authentication integration allows your Grafana users to log in by using an external SAML 2.0 Identity Provider (IdP). To enable this, Grafana becomes a Service Provider (SP) in the authentication flow, interacting with the IdP to exchange user information.&lt;/p></description></item><item><title>Team sync</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/team-sync/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/team-sync/</guid><content><![CDATA[&lt;h1 id=&#34;team-sync&#34;&gt;Team sync&lt;/h1&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow docs-image--right&#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/team_members_ldap.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/team_members_ldap.png&#34;data-srcset=&#34;/static/img/docs/enterprise/team_members_ldap.png?w=320 320w, /static/img/docs/enterprise/team_members_ldap.png?w=550 550w, /static/img/docs/enterprise/team_members_ldap.png?w=750 750w, /static/img/docs/enterprise/team_members_ldap.png?w=900 900w, /static/img/docs/enterprise/team_members_ldap.png?w=1040 1040w, /static/img/docs/enterprise/team_members_ldap.png?w=1240 1240w, /static/img/docs/enterprise/team_members_ldap.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;979&#34;height=&#34;382&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/team_members_ldap.png&#34;
            alt=&#34;&#34;width=&#34;979&#34;height=&#34;382&#34;class=&#34;docs-image--no-shadow docs-image--right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;Team sync lets you set up synchronization between your auth providers teams and teams in Grafana. This enables LDAP, OAuth, or SAML users who are members of certain teams or groups to automatically be added or removed as members of certain teams in Grafana.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Grafana keeps track of all synchronized users in teams, and you can see which users have been synchronized in the team members list, see &lt;code&gt;LDAP&lt;/code&gt; label in screenshot.
This mechanism allows Grafana to remove an existing synchronized user from a team when its group membership changes. This mechanism also enables you to manually add a user as member of a team, and it will not be removed when the user signs in. This gives you flexibility to combine LDAP group memberships and Grafana team memberships.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Currently the synchronization only happens when a user logs in, unless LDAP is used with the active background synchronization that was added in Grafana 6.3.&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&#34;clearfix&#34;&gt;&lt;/div&gt;
&lt;h2 id=&#34;supported-providers&#34;&gt;Supported providers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../auth/auth-proxy/#team-sync-enterprise-only&#34;&gt;Auth Proxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../auth/azuread/#team-sync-enterprise-only&#34;&gt;Azure AD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../auth/github/#team-sync-enterprise-only&#34;&gt;GitHub OAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../auth/gitlab/#team-sync-enterprise-only&#34;&gt;GitLab OAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../enhanced_ldap/#ldap-group-synchronization-for-teams&#34;&gt;LDAP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../auth/okta/#team-sync-enterprise-only&#34;&gt;Okta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../saml/#configure-team-sync&#34;&gt;SAML&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;synchronize-a-grafana-team-with-an-external-group&#34;&gt;Synchronize a Grafana team with an external group&lt;/h2&gt;
&lt;p&gt;If you have already grouped some users into a team, then you can synchronize that team with an external group.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow docs-image--right&#34;
    style=&#34;max-width: 600px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/enterprise/team_add_external_group.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/enterprise/team_add_external_group.png&#34;data-srcset=&#34;/static/img/docs/enterprise/team_add_external_group.png?w=320 320w, /static/img/docs/enterprise/team_add_external_group.png?w=550 550w, /static/img/docs/enterprise/team_add_external_group.png?w=750 750w, /static/img/docs/enterprise/team_add_external_group.png?w=900 900w, /static/img/docs/enterprise/team_add_external_group.png?w=1040 1040w, /static/img/docs/enterprise/team_add_external_group.png?w=1240 1240w, /static/img/docs/enterprise/team_add_external_group.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;966&#34;height=&#34;347&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/enterprise/team_add_external_group.png&#34;
            alt=&#34;&#34;width=&#34;966&#34;height=&#34;347&#34;class=&#34;docs-image--no-shadow docs-image--right&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Grafana, navigate to &lt;strong&gt;Configuration &amp;gt; Teams&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a team.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the External group sync tab, and click &lt;strong&gt;Add group&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Insert the value of the group you want to sync with. This becomes the Grafana &lt;code&gt;GroupID&lt;/code&gt;.
Examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For LDAP, this is the LDAP distinguished name (DN) of LDAP group you want to synchronize with the team.&lt;/li&gt;
&lt;li&gt;For Auth Proxy, this is the value we receive as part of the custom &lt;code&gt;Groups&lt;/code&gt; header.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;code&gt;Add group&lt;/code&gt; to save.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="team-sync">Team sync&lt;/h1>
&lt;figure
class="figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow docs-image--right"
style="max-width: 600px;"
itemprop="associatedMedia"
itemscope=""
itemtype="http://schema.org/ImageObject"
>&lt;a
class="lightbox-link"
href="/static/img/docs/enterprise/team_members_ldap.png"
itemprop="contentUrl"
>&lt;div class="img-wrapper w-100p h-auto">&lt;img
class="lazyload "
data-src="/static/img/docs/enterprise/team_members_ldap.png"data-srcset="/static/img/docs/enterprise/team_members_ldap.png?w=320 320w, /static/img/docs/enterprise/team_members_ldap.png?w=550 550w, /static/img/docs/enterprise/team_members_ldap.png?w=750 750w, /static/img/docs/enterprise/team_members_ldap.png?w=900 900w, /static/img/docs/enterprise/team_members_ldap.png?w=1040 1040w, /static/img/docs/enterprise/team_members_ldap.png?w=1240 1240w, /static/img/docs/enterprise/team_members_ldap.png?w=1920 1920w"data-sizes="auto"alt=""width="979"height="382"/>
&lt;noscript>
&lt;img
src="/static/img/docs/enterprise/team_members_ldap.png"
alt=""width="979"height="382"class="docs-image--no-shadow docs-image--right"/>
&lt;/noscript>&lt;/div>&lt;/a>&lt;/figure>
&lt;p>Team sync lets you set up synchronization between your auth providers teams and teams in Grafana. This enables LDAP, OAuth, or SAML users who are members of certain teams or groups to automatically be added or removed as members of certain teams in Grafana.&lt;/p></description></item><item><title>Auditing</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/auditing/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/auditing/</guid><content><![CDATA[&lt;h1 id=&#34;auditing&#34;&gt;Auditing&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Only available in Grafana Enterprise v7.3&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Auditing allows you to track important changes to your Grafana instance. By default, audit logs are logged to file but the auditing feature also supports sending logs directly to Loki.&lt;/p&gt;
&lt;h2 id=&#34;audit-logs&#34;&gt;Audit logs&lt;/h2&gt;
&lt;p&gt;Audit logs are JSON objects representing user actions like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modifications ro resources such as dashboards and data sources.&lt;/li&gt;
&lt;li&gt;A user failing to log in.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;format&#34;&gt;Format&lt;/h3&gt;
&lt;p&gt;Audit logs contain the following fields. The fields followed by &lt;strong&gt;*&lt;/strong&gt; are always available, the others depend on the type of action logged.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;timestamp&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The date and time the request was made, in coordinated universal time (UTC) using the &lt;a href=&#34;https://tools.ietf.org/html/rfc3339#section-5.6&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;RFC3339&lt;/a&gt; format.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Information about the user that made the request. Either one of the &lt;code&gt;UserID&lt;/code&gt; or &lt;code&gt;ApiKeyID&lt;/code&gt; fields will contain content if &lt;code&gt;isAnonymous=false&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.userId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the Grafana user that made the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.orgId&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;Current organization of the user that made the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.orgRole&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current role of the user that made the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Name of the Grafana user that made the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.tokenId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the user authentication token.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.apiKeyId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the Grafana API key used to make the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;user.isAnonymous&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;If an anonymous user made the request, &lt;code&gt;true&lt;/code&gt;. Otherwise, &lt;code&gt;false&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;action&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The request action. For example, &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, or &lt;code&gt;manage-permissions&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;request&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Information about the HTTP request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;request.params&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Request’s path parameters.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;request.query&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Request’s query parameters.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;request.body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Request’s body.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;result&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Information about the HTTP response.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;result.statusType&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;If the request action was successful, &lt;code&gt;success&lt;/code&gt;. Otherwise, &lt;code&gt;failure&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;result.statusCode&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;HTTP status of the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;result.failureMessage&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;HTTP error message.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;result.body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Response body.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;resources&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;array&lt;/td&gt;
              &lt;td&gt;Information about the resources that the request action affected. This field can be null for non-resource actions such as &lt;code&gt;login&lt;/code&gt; or &lt;code&gt;logout&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;resources[x].id&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the resource.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;resources[x].type&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The type of the resource that was logged: &lt;code&gt;alert&lt;/code&gt;, &lt;code&gt;alert-notification&lt;/code&gt;, &lt;code&gt;annotation&lt;/code&gt;, &lt;code&gt;api-key&lt;/code&gt;, &lt;code&gt;auth-token&lt;/code&gt;, &lt;code&gt;dashboard&lt;/code&gt;, &lt;code&gt;datasource&lt;/code&gt;, &lt;code&gt;folder&lt;/code&gt;, &lt;code&gt;org&lt;/code&gt;, &lt;code&gt;panel&lt;/code&gt;, &lt;code&gt;playlist&lt;/code&gt;, &lt;code&gt;report&lt;/code&gt;, &lt;code&gt;team&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, or &lt;code&gt;version&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;requestUri&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Request URI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ipAddress&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;IP address that the request was made from.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;userAgent&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Agent through which the request was made.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;grafanaVersion&lt;/code&gt;*&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current version of Grafana when this log is created.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;additionalData&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Additional information that can be provided about the request.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;The &lt;code&gt;additionalData&lt;/code&gt; field can contain the following information:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field name&lt;/th&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;loginUsername&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;login&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Login used in the Grafana authentication form.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;extUserInfo&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;login&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;User information provided by the external system that was used to log in.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;authTokenCount&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;login&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Number of active authentication tokens for the user that logged in.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;terminationReason&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;logout&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;The reason why the user logged out, such as a manual logout or a token expiring.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;recorded-actions&#34;&gt;Recorded actions&lt;/h3&gt;
&lt;p&gt;The audit logs include records about the following categories of actions:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sessions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log in.&lt;/li&gt;
&lt;li&gt;Log out (manual log out, token expired/revoked, &lt;a href=&#34;../saml/#single-logout&#34;&gt;SAML Single Logout&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Revoke a user authentication token.&lt;/li&gt;
&lt;li&gt;Create or delete an API key.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;User management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete a user.&lt;/li&gt;
&lt;li&gt;Enable or disable a user.&lt;/li&gt;
&lt;li&gt;Manage user role and permissions.&lt;/li&gt;
&lt;li&gt;LDAP sync or information access.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Team and organization management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete a team or organization.&lt;/li&gt;
&lt;li&gt;Add or remove a member of a team or organization.&lt;/li&gt;
&lt;li&gt;Manage organization members roles.&lt;/li&gt;
&lt;li&gt;Manage team members permissions.&lt;/li&gt;
&lt;li&gt;Invite an external member to an organization.&lt;/li&gt;
&lt;li&gt;Revoke a pending invitation to an organization.&lt;/li&gt;
&lt;li&gt;Add or remove an external group to sync with a team.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Folder and dashboard management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete a folder.&lt;/li&gt;
&lt;li&gt;Manage folder permissions.&lt;/li&gt;
&lt;li&gt;Create, import, update, or delete a dashboard.&lt;/li&gt;
&lt;li&gt;Restore an old dashboard version.&lt;/li&gt;
&lt;li&gt;Manage dashboard permissions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Data sources management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete a data source.&lt;/li&gt;
&lt;li&gt;Manage data source permissions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Alerts and notification channels management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete a notification channel.&lt;/li&gt;
&lt;li&gt;Test an alert or a notification channel.&lt;/li&gt;
&lt;li&gt;Pause an alert.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Reporting&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete a report.&lt;/li&gt;
&lt;li&gt;Update reporting settings.&lt;/li&gt;
&lt;li&gt;Send reporting email.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Annotations, playlists and snapshots management&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create, update, or delete an annotation.&lt;/li&gt;
&lt;li&gt;Create, update, or delete a playlist.&lt;/li&gt;
&lt;li&gt;Create or delete a snapshot.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The auditing feature is disabled by default.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Audit logs can be saved into files, sent to a Loki instance or sent to the Grafana default logger. By default, only the file exporter is enabled.
You can choose which exporter to use in the &lt;a href=&#34;../../administration/configuration/&#34;&gt;configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Options are &lt;code&gt;file&lt;/code&gt;, &lt;code&gt;loki&lt;/code&gt;, and &lt;code&gt;console&lt;/code&gt;. Use spaces to separate multiple modes, such as &lt;code&gt;file loki&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;By default, when a user creates or updates a dashboard, its content will not appear in the logs as it can significantly increase the size of your logs. If this is important information for you and you can handle the amount of data generated, then you can enable this option in the configuration.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[auditing]
# Enable the auditing feature
enabled = false
# List of enabled loggers
loggers = file
# Keep dashboard content in the logs (request or response fields); this can significantly increase the size of your logs.
log_dashboard_content = false&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Each exporter has its own configuration fields.&lt;/p&gt;
&lt;h3 id=&#34;file-exporter&#34;&gt;File exporter&lt;/h3&gt;
&lt;p&gt;Audit logs are saved into files. You can configure the folder to use to save these files. Logs are rotated when the file size is exceeded and at the start of a new day.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[auditing.logs.file]
# Path to logs folder
path = data/log
# Maximum log files to keep
max_files = 5
# Max size in megabytes per log file
max_file_size_mb = 256&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;loki-exporter&#34;&gt;Loki exporter&lt;/h3&gt;
&lt;p&gt;Audit logs are sent to a &lt;a href=&#34;/oss/loki/&#34;&gt;Loki&lt;/a&gt; service, through HTTP or gRPC.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The HTTP option for the Loki exporter is only available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[auditing.logs.loki]
# Set the communication protocol to use with Loki (can be grpc or http)
type = grpc
# Set the address for writing logs to Loki (format must be host:port)
url = localhost:9095
# Defaults to true. If true, it establishes a secure connection to Loki
tls = true&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you have multiple Grafana instances sending logs to the same Loki service or if you are using Loki for non-audit logs, audit logs come with additional labels to help identifying them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;host&lt;/strong&gt; - OS hostname on which the Grafana instance is running.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;grafana_instance&lt;/strong&gt; - Application URL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kind&lt;/strong&gt; - &lt;code&gt;auditing&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;console-exporter&#34;&gt;Console exporter&lt;/h3&gt;
&lt;p&gt;Audit logs are sent to the Grafana default logger. The audit logs use the &lt;code&gt;auditing.console&lt;/code&gt; logger and are logged on &lt;code&gt;debug&lt;/code&gt;-level, learn how to enable debug logging in the &lt;a href=&#34;../../administration/configuration/#log&#34;&gt;log configuration&lt;/a&gt; section of the documentation. Accessing the audit logs in this way is not recommended for production use.&lt;/p&gt;
]]></content><description>&lt;h1 id="auditing">Auditing&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> Only available in Grafana Enterprise v7.3+.&lt;/p>&lt;/blockquote>
&lt;p>Auditing allows you to track important changes to your Grafana instance. By default, audit logs are logged to file but the auditing feature also supports sending logs directly to Loki.&lt;/p></description></item><item><title>Vault</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/vault/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/vault/</guid><content><![CDATA[&lt;h1 id=&#34;vault-integration&#34;&gt;Vault integration&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v7.1&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you manage your secrets with &lt;a href=&#34;https://www.hashicorp.com/products/vault&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Hashicorp Vault&lt;/a&gt;, you can use them for &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt;
and &lt;a href=&#34;../../administration/provisioning/&#34;&gt;Provisioning&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you have Grafana &lt;a href=&#34;../../administration/set-up-for-high-availability/&#34;&gt;set up for high availability&lt;/a&gt;, then we advise not to use dynamic secrets for provisioning files.
Each Grafana instance is responsible for renewing its own leases. Your data source leases might expire when one of your Grafana servers shuts down.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Before using Vault, you need to activate it by providing a URL, authentication method (currently only token),
and a token for your Vault service. Grafana automatically renews the service token if it is renewable and
set up with a limited lifetime.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re using short-lived leases, then you can also configure how often Grafana should renew the lease and for how long. We recommend keeping the defaults unless you run into problems.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[keystore.vault]
# Location of the Vault server
;url =
# Vault namespace if using Vault with multi-tenancy
;namespace =
# Method for authenticating towards Vault. Vault is inactive if this option is not set
# Possible values: token
;auth_method =
# Secret token to connect to Vault when auth_method is token
;token =
# Time between checking if there are any secrets which needs to be renewed.
;lease_renewal_interval = 5m
# Time until expiration for tokens which are renewed. Should have a value higher than lease_renewal_interval
;lease_renewal_expires_within = 15m
# New duration for renewed tokens. Vault may be configured to ignore this value and impose a stricter limit.
;lease_renewal_increment = 1h&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Example for &lt;code&gt;vault server -dev&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[keystore.vault]
url = http://127.0.0.1:8200 # HTTP should only be used for local testing
auth_method = token
token = s.sAZLyI0r7sFLMPq6MWtoOhAN # replace with your key&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;using-the-vault-expander&#34;&gt;Using the Vault expander&lt;/h2&gt;
&lt;p&gt;After you configure Vault, you must set the configuration or provisioning files you wish to
use Vault. Vault configuration is an extension of configuration&amp;rsquo;s &lt;a href=&#34;../../administration/configuration/#variable-expansion&#34;&gt;variable expansion&lt;/a&gt; and follows the
&lt;code&gt;$__vault{&amp;lt;argument&amp;gt;}&lt;/code&gt; syntax.&lt;/p&gt;
&lt;p&gt;The argument to Vault consists of three parts separated by a colon:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The first part specifies which secrets engine should be used.&lt;/li&gt;
&lt;li&gt;The second part specifies which secret should be accessed.&lt;/li&gt;
&lt;li&gt;The third part specifies which field of that secret should be used.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, if you place a Key/Value secret for the Grafana admin user in &lt;em&gt;secret/grafana/admin_defaults&lt;/em&gt;
the syntax for accessing it&amp;rsquo;s &lt;em&gt;password&lt;/em&gt; field would be &lt;code&gt;$__vault{kv:secret/grafana/admin_defaults:password}&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;secrets-engines&#34;&gt;Secrets engines&lt;/h3&gt;
&lt;p&gt;Vault supports many secrets engines which represents different methods for storing or generating secrets when requested by an
authorized user. Grafana supports a subset of these which are most likely to be relevant for a Grafana installation.&lt;/p&gt;
&lt;h4 id=&#34;keyvalue&#34;&gt;Key/Value&lt;/h4&gt;
&lt;p&gt;Grafana supports Vault&amp;rsquo;s &lt;a href=&#34;https://www.vaultproject.io/docs/secrets/kv/kv-v2&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;K/V version 2&lt;/a&gt; storage engine which
is used to store and retrieve arbitrary secrets as &lt;code&gt;kv&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;$__vault{kv:secret/grafana/smtp:username}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;databases&#34;&gt;Databases&lt;/h4&gt;
&lt;p&gt;The Vault &lt;a href=&#34;https://www.vaultproject.io/docs/secrets/databases&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;databases secrets engines&lt;/a&gt; is a family of
secret engines which shares a similar syntax and grants the user dynamic access to a database.
You can use this both for setting up Grafana&amp;rsquo;s own database access and for provisioning data sources.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;$__vault{database:database/creds/grafana:username}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;The following examples show you how to set your &lt;a href=&#34;../../administration/configuration/&#34;&gt;configuration&lt;/a&gt; or &lt;a href=&#34;../../administration/provisioning/&#34;&gt;provisioning&lt;/a&gt; files to use Vault to retrieve configuration values.&lt;/p&gt;
&lt;h4 id=&#34;configuration-1&#34;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;The following is a partial example for using Vault to set up a Grafana configuration file&amp;rsquo;s email and database credentials.
Refer to &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt; for more information.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[smtp]
enabled = true
host = $__vault{kv:secret/grafana/smtp:hostname}:587
user = $__vault{kv:secret/grafana/smtp:username}
password = $__vault{kv:secret/grafana/smtp:password}

[database]
type = mysql
host = mysqlhost:3306
name = grafana
user = $__vault{database:database/creds/grafana:username}
password = $__vault{database:database/creds/grafana:password}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;provisioning&#34;&gt;Provisioning&lt;/h4&gt;
&lt;p&gt;The following is a full examples of a provisioning YAML file setting up a MySQL data source using Vault&amp;rsquo;s
database secrets engine.
Refer to &lt;a href=&#34;../../administration/provisioning/&#34;&gt;Provisioning&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;provisioning/custom.yaml&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;apiVersion: 1

datasources:
  - name: statistics
    type: mysql
    url: localhost:3306
    database: stats
    user: $__vault{database:database/creds/ro/stats:username}
    secureJsonData:
      password: $__vault{database:database/creds/ro/stats:password}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="vault-integration">Vault integration&lt;/h1>
&lt;blockquote>
&lt;p>Only available in Grafana Enterprise v7.1+.&lt;/p>&lt;/blockquote>
&lt;p>If you manage your secrets with &lt;a href="https://www.hashicorp.com/products/vault" target="_blank" rel="noopener noreferrer">Hashicorp Vault&lt;/a>, you can use them for &lt;a href="../../administration/configuration/">Configuration&lt;/a>
and &lt;a href="../../administration/provisioning/">Provisioning&lt;/a>.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> If you have Grafana &lt;a href="../../administration/set-up-for-high-availability/">set up for high availability&lt;/a>, then we advise not to use dynamic secrets for provisioning files.
Each Grafana instance is responsible for renewing its own leases. Your data source leases might expire when one of your Grafana servers shuts down.&lt;/p></description></item><item><title>White labeling</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/white-labeling/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/white-labeling/</guid><content><![CDATA[&lt;h1 id=&#34;white-labeling&#34;&gt;White labeling&lt;/h1&gt;
&lt;p&gt;White labeling allows you to replace the Grafana brand and logo with your own corporate brand and logo.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v6.6&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Grafana Enterprise has white labeling options in the &lt;code&gt;grafana.ini&lt;/code&gt; file. As with all configuration options, you can also set them with environment variables.&lt;/p&gt;
&lt;p&gt;You can change the following elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Application title&lt;/li&gt;
&lt;li&gt;Login background&lt;/li&gt;
&lt;li&gt;Login logo&lt;/li&gt;
&lt;li&gt;Side menu top logo&lt;/li&gt;
&lt;li&gt;Footer and help menu links&lt;/li&gt;
&lt;li&gt;Fav icon (shown in browser tab)&lt;/li&gt;
&lt;li&gt;Login title (will not appear if a login logo is set, Grafana v7.0&#43;)&lt;/li&gt;
&lt;li&gt;Login subtitle (will not appear if a login logo is set, Grafana v7.0&#43;)&lt;/li&gt;
&lt;li&gt;Login box background (Grafana v7.0&#43;)&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;You will have to host your logo and other images used by the white labeling feature separately. Make sure Grafana can access the URL where the assets are stored.&lt;/p&gt;&lt;/blockquote&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 800px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/static/img/docs/v66/whitelabeling_1.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/static/img/docs/v66/whitelabeling_1.png&#34;data-srcset=&#34;/static/img/docs/v66/whitelabeling_1.png?w=320 320w, /static/img/docs/v66/whitelabeling_1.png?w=550 550w, /static/img/docs/v66/whitelabeling_1.png?w=750 750w, /static/img/docs/v66/whitelabeling_1.png?w=900 900w, /static/img/docs/v66/whitelabeling_1.png?w=1040 1040w, /static/img/docs/v66/whitelabeling_1.png?w=1240 1240w, /static/img/docs/v66/whitelabeling_1.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;White labeling example&#34;width=&#34;1626&#34;height=&#34;1011&#34;title=&#34;White labeling example&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/v66/whitelabeling_1.png&#34;
            alt=&#34;White labeling example&#34;width=&#34;1626&#34;height=&#34;1011&#34;title=&#34;White labeling example&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;White labeling example&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The configuration file in Grafana Enterprise contains the following options. Each option is defined in the file. For more information about configuring Grafana, refer to &lt;a href=&#34;../../administration/configuration/&#34;&gt;Configuration&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;# Enterprise only
[white_labeling]
# Set to your company name to override application title
;app_title =

# Set to main title on the login page (Will not appear if a login logo is set)
;login_title =

# Set to login subtitle (Will not appear if a login logo is set)
;login_subtitle =

# Set to complete URL to override login logo
;login_logo =

# Set to complete CSS background expression to override login background
# example: login_background = url(http://www.bhmpics.com/wallpapers/starfield-1920x1080.jpg)
;login_background =

# Set to complete CSS background expression to override login box background
;login_box_background =

# Set to complete URL to override menu logo
;menu_logo =

# Set to complete URL to override fav icon (icon shown in browser tab)
;fav_icon =

# Set to complete URL to override apple/ios icon
;apple_touch_icon =&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can replace the default footer links (Documentation, Support, Community) and even add your own custom links.
An example follows for replacing the default footer and help links with new custom links.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;footer_links = support guides extracustom
footer_links_support_text = Support
footer_links_support_url = http://your.support.site
footer_links_guides_text = Guides
footer_links_guides_url = http://your.guides.site
footer_links_extracustom_text = Custom text
footer_links_extracustom_url = http://your.custom.site&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Here is the same example using environment variables instead of the custom.ini or grafana.ini file.&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;GF_WHITE_LABELING_FOOTER_LINKS=support guides extracustom
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_TEXT=Support
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_URL=http://your.support.site
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_TEXT=Guides
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_URL=http://your.guides.site
GF_WHITE_LABELING_FOOTER_LINKS_EXTRACUSTOM_TEXT=Custom Text
GF_WHITE_LABELING_FOOTER_LINKS_EXTRACUSTOM_URL=http://your.custom.site&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The following two links are always present in the footer:&lt;/p&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Grafana edition&lt;/li&gt;
&lt;li&gt;Grafana version with build number&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you specify &lt;code&gt;footer_links&lt;/code&gt; or &lt;code&gt;GF_WHITE_LABELING_FOOTER_LINKS&lt;/code&gt;, then all other default links are removed from the footer and only what is specified is included.&lt;/p&gt;
]]></content><description>&lt;h1 id="white-labeling">White labeling&lt;/h1>
&lt;p>White labeling allows you to replace the Grafana brand and logo with your own corporate brand and logo.&lt;/p>
&lt;blockquote>
&lt;p>Only available in Grafana Enterprise v6.6+.&lt;/p></description></item><item><title>Export dashboard as PDF</title><link>https://grafana.com/docs/grafana/v7.5/enterprise/export-pdf/</link><pubDate>Thu, 05 Mar 2026 19:43:12 +0000</pubDate><guid>https://grafana.com/docs/grafana/v7.5/enterprise/export-pdf/</guid><content><![CDATA[&lt;h1 id=&#34;export-dashboard-as-pdf&#34;&gt;Export dashboard as PDF&lt;/h1&gt;
&lt;p&gt;You can generate PDFs from any of your dashboards and save it to file.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v6.7&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;In the upper right corner of the dashboard that you want to export as PDF, click the &lt;strong&gt;Share dashboard&lt;/strong&gt; icon.&lt;/li&gt;
&lt;li&gt;On the PDF tab, select the layout option for exported dashboard: &lt;strong&gt;Portrait&lt;/strong&gt; or &lt;strong&gt;Landscape&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save as PDF&lt;/strong&gt; to render dashboard as a PDF document.
Grafana opens the PDF in a new window or browser tab.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="export-dashboard-as-pdf">Export dashboard as PDF&lt;/h1>
&lt;p>You can generate PDFs from any of your dashboards and save it to file.&lt;/p>
&lt;blockquote>
&lt;p>Only available in Grafana Enterprise v6.7+.&lt;/p>&lt;/blockquote>
&lt;ol>
&lt;li>In the upper right corner of the dashboard that you want to export as PDF, click the &lt;strong>Share dashboard&lt;/strong> icon.&lt;/li>
&lt;li>On the PDF tab, select the layout option for exported dashboard: &lt;strong>Portrait&lt;/strong> or &lt;strong>Landscape&lt;/strong>.&lt;/li>
&lt;li>Click &lt;strong>Save as PDF&lt;/strong> to render dashboard as a PDF document.
Grafana opens the PDF in a new window or browser tab.&lt;/li>
&lt;/ol></description></item></channel></rss>