Open ppf2 opened 4 years ago
However, even though there is a safeguard in place above, we have seen a situation where the attempt to start up a 6.8 Kibana instance (pointed to a .kibana index that was previously migrated to 7.3) still allowed Kibana to overwrite its application privilege. In other words, starting up Kibana 6.8 ended up overwriting the application privileges previously created by another Kibana instance on 7.3 because Kibana 6.8 is the instance that was started up "later". Because the 6.8 privileges are not compatible with Kibana 7.3, users then encountered authorization issues.
We intentional support situations where an upgrade failed and the user downgraded to an older version of Kibana.
All of this is subject to change as we discuss how we want to support rolling upgrades, but the current design is intentional.
Pinging @elastic/kibana-security (Team:Security)
@kobelb is familiar with the origin of this request :)
On Kibana's start-up, it fully recreates its application privileges using the Elasticsearch put privileges API with the definition of its privileges and what actions these privileges have access to, e.g.,
While we currently have a safeguard in place to prevent an older version (e.g., 6.8) of Kibana from starting up:
By the way, can we clarify the "Index .kibana_1 belongs to a version of Kibana that cannot be automatically migrated" message above to explicitly call out that the .kibana index has already been migrated to be used with a later version (
<specify version>
) of Kibana, and therefore, this instance of Kibana (<specify version>
) cannot be started?However, even though there is a safeguard in place above, we have seen a situation where the attempt to start up a 6.8 Kibana instance (pointed to a .kibana index that was previously migrated to 7.3) still allowed Kibana to overwrite its application privilege. In other words, starting up Kibana 6.8 ended up overwriting the application privileges previously created by another Kibana instance on 7.3 because Kibana 6.8 is the instance that was started up "later". Because the 6.8 privileges are not compatible with Kibana 7.3, users then encountered authorization issues.
This is a request to provide a safeguard to prevent a Kibana instance that has incompatible application privileges from overwriting Kibana's application privileges that were previously added as part of a successful Kibana upgrade.