-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kibana's system indices #81536
Comments
@jaymode is going to be investigating whether or not we have other options besides wrapping the existing APIs under a new endpoint in ES, so we should hold off on implementing the approach outlined in this issue for the time being. /cc @elastic/kibana-core |
This issue has been updated to reflect that Kibana's system-indices will now be external unmanaged system-indices. |
Closing this issue, as all of the work to move Kibana to system indices has been completed. |
Reopening this issue because the system indices protection haven't been implemented in Elasticsearch yet. The Kibana development work is theoretically complete; however, we won't be sure it is until the enforcements are done. Thanks for bringing this up @jaymode |
Legacy multi-tenancy
Kibana currently supports "legacy multi-tenancy" by allowing users to configure the Elasticsearch indices that should be used to persist Kibana specific entities. It's rather common to hear developers refer to the ".kibana" index, but this is rather imprecise as there are a number of dot-indices that are used, not just ".kibana":
There are also some indices that Kibana reads from and writes to, but they aren't configurable in the
kibana.yml
, so they aren't changed when users are implementing legacy multi-tenancy.Starting in 8.0, this method of multi-tenancy will no longer be supported. Users will no longer be able to specify their
kibana.index
,xpack.reporting.index
andxpack.task_manager.index settings
in their kibana.yml. For more details, please see #82020Upgrade Paths
According to our documentation, the following upgrade paths are supported with a rolling upgrade:
And the following upgrade paths are supported with a full cluster restart:
When upgrading Kibana, users are instructed to first upgrade Elasticsearch and then shut down all instances of Kibana prior to starting up a new version.
Kibana's system-index patterns
Per elastic/elasticsearch#67383, Kibana's system-indices will be considered "unmanaged system indices". This allows Kibana to be fully responsible and in control of creating its own system-indices and their mappings. Additionally, Kibana can continue accessing these indices using the standard ES APIs while specifying a special HTTP request header and value pair. It's my understanding that the ES implementation will require the
'x-elastic-product-origin': 'kibana'
header to be specified to denote these requests as originating from Kibana.The following patterns will be registered as Kibana's system-indices. As such, end-users will be unable to access them using the standard ES document APIs starting in 8.0. If end-users access them during 7.x, a deprecation will be logged.
7.x
During 7.x, since users will still be able to specify
kibana.index
,xpack.reporting.index
andxpack.task_manager.index
settings in theirkibana.yml
. All HTTP requests made from Kibana to Elasticsearch that access Kibana's system-indices will include the'x-elastic-product-origin': 'kibana'
header.Users have historically had full control over the HTTP request headers that Kibana sends to Elasticsearch using the
elasticsearch.customHeaders
andelasticsearch.requestHeadersWhitelist
settings. As a result, users can potentially override thex-elastic-product-origin
header. This is rather unlikely; however, if users do happen to do so, Elasticsearch will log a deprecation warning about Kibana's system-indices being accessed incorrectly.8.0
Users will no longer be able to specify
kibana.index
,xpack.reporting.index
orxpack.task_manager.index
in thekibana.yml
. Additionally, they will no longer be able to specify thex-elastic-product-origin
header in bothelasticsearch.customHeaders
andelasticsearch.requestHeadersWhitelist
. If they do, they won't be able to start Kibana. Users will be instructed as part of the 8.0 major upgrade assistant to migrate to using Spaces or CCS for multi-tenancy.Implementation
x-elastic-product-origin
header to be configurable No longer allow thex-elastic-product-origin
header to be configurable #89803'x-elastic-product-origin': 'kibana'
when accessing Kibana's system-indices ESArchiver should specify'x-elastic-product-origin': 'kibana'
when accessing Kibana's system-indices #89805Required changes
x-elastic-product-origin
for the dev console [console] exclude thex-elastic-product-origin
header for requests performed from the dev console #90123The text was updated successfully, but these errors were encountered: