2022-05-26 23:06:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								aliases:
							 
						 
					
						
							
								
									
										
										
										
											2022-12-10 00:36:04 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  ../../enterprise/settings-updates/
							 
						 
					
						
							
								
									
										
										
										
											2022-05-26 23:06:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								description: Settings updates at runtime
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								keywords:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  grafana
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  runtime
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  settings
							 
						 
					
						
							
								
									
										
											 
										
											
												Explicitly set all front matter labels in the source files (#71548)
* Set every page to have defaults of 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration pages to have of 'Cloud', 'Enterprise', and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/enterprise-licensing pages to have 'Enterprise' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/organization-management pages to have 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/provisioning pages to have 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/recorded-queries pages to have labels cloud,enterprise
* Set administration/roles-and-permissions/access-control pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/stats-and-license pages to have labels cloud,enterprise
* Set alerting pages to have labels cloud,enterprise,oss
* Set breaking-changes pages to have labels cloud,enterprise,oss
* Set dashboards pages to have labels cloud,enterprise,oss
* Set datasources pages to have labels cloud,enterprise,oss
* Set explore pages to have labels cloud,enterprise,oss
* Set fundamentals pages to have labels cloud,enterprise,oss
* Set introduction/grafana-cloud pages to have labels cloud
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix introduction pages products
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set panels-visualizations pages to have labels cloud,enterprise,oss
* Set release-notes pages to have labels cloud,enterprise,oss
* Set search pages to have labels cloud,enterprise,oss
* Set setup-grafana/configure-security/audit-grafana pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/configure-authentication pages to have labels cloud,enterprise,oss
* Set setup-grafana/configure-security/configure-authentication/enhanced-ldap pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-authentication/saml pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-database-encryption/encrypt-secrets-using-hashicorp-key-vault pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-request-security pages to have labels cloud,enterprise,oss
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/configure-team-sync pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/export-logs pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set troubleshooting pages to have labels cloud,enterprise,oss
* Set whatsnew pages to have labels cloud,enterprise,oss
* Apply updated labels from review
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
											 
										 
										
											2023-07-18 16:10:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								labels:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  products:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  enterprise
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  oss
							 
						 
					
						
							
								
									
										
										
										
											2022-05-26 23:06:25 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								title: Settings updates at runtime
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								weight: 500
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Settings updates at runtime
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-23 04:45:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{{% admonition type="note" %}}
							 
						 
					
						
							
								
									
										
										
										
											2025-03-07 16:32:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This functionality is deprecated and will be removed in a future release. For configuring SAML authentication, please use the new [SSO settings API ](../../../developers/http_api/sso-settings/ ).
							 
						 
					
						
							
								
									
										
										
										
											2023-05-23 04:45:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{{% /admonition %}}
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-26 03:31:49 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								By updating settings at runtime, you can update Grafana settings without needing to restart the Grafana server.
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Updates that happen at runtime are stored in the database and override
							 
						 
					
						
							
								
									
										
										
										
											2025-03-07 16:32:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								[settings from other sources ](../ )
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								(arguments, environment variables, settings file, etc). Therefore, every time a specific setting key is removed at runtime,
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								the value used for that key is the inherited one from the other sources in the reverse order of precedence
							 
						 
					
						
							
								
									
										
										
										
											2023-05-03 21:05:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								(`arguments > environment variables > settings file`). When no value is provided through any of these options, then the value used will be the application default
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								Currently, **it only supports updates on the `auth.saml` section.** 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Update settings via the API
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-03-07 16:32:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								You can update settings through the [Admin API ](../../../developers/http_api/admin/#update-settings ).
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								When you submit a settings update via API, Grafana verifies if the given settings updates are allowed and valid. If they are, then Grafana stores the settings in the database and reloads
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Grafana services with no need to restart the instance.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								So, the payload of a `PUT`  request to the update settings endpoint (`/api/admin/settings`)
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								should contain (either one or both):
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								-  An `updates`  map with a key, and a value per section you want to set. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  A `removals`  list with keys per section you want to unset. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For example, if you provide the following `updates` :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```json
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 19:04:13 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  "updates": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "auth.saml": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      "enabled": "true",
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      "single_logout": "false"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								it would enable SAML and disable single logouts. And, if you provide the following `removals` :
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```json
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{
							 
						 
					
						
							
								
									
										
										
										
											2023-05-03 21:05:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "removals": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "auth.saml": ["allow_idp_initiated"]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								it would remove the key/value setting identified by `allow_idp_initiated`  within the `auth.saml` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								So, the SAML service would be reloaded and that value would be inherited for either (settings `.ini`  file,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								environment variable, command line arguments or any other accepted mechanism to provide configuration).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Therefore, the complete HTTP payload would looks like:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```json
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "updates": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "auth.saml": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      "enabled": "true",
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      "single_logout": "false"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "removals": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "auth.saml": ["allow_idp_initiated"]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								In case any of these settings cannot be overridden nor valid, it would return an error and these settings
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								won't be persisted into the database.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Background job (high availability set-ups)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Grafana Enterprise has a built-in scheduled background job that looks into the database every minute for
							 
						 
					
						
							
								
									
										
										
										
											2021-08-06 21:52:36 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								settings updates. If there are updates, it reloads the Grafana services affected by the detected changes.
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-03 21:05:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The background job synchronizes settings between instances in a highly available set-up. So, after you perform some changes through the
							 
						 
					
						
							
								
									
										
										
										
											2021-05-28 19:28:40 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								HTTP API, then the other instances are synchronized through the database and the background job.
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 19:04:13 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-04-27 22:51:56 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								## Control access with role-based access control
  
						 
					
						
							
								
									
										
										
										
											2021-07-30 19:04:13 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-03-07 16:32:05 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If you have [role-based access control ](../../../administration/roles-and-permissions/access-control/ ) enabled, you can control who can read or update settings.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Refer to the [Admin API ](../../../developers/http_api/admin/#update-settings ) for more information.