Migrate Permissions Policy configuration #184939
Labels
enhancement
New value added to drive a business result
Feature:Hardening
Harding of Kibana from a security perspective
Team:Security
Team focused on: Auth, Users, Roles, Spaces, Audit Logging, and more!
Our permissions policy config is currently defined as a single
server.securityResponseHeaders.permissionsPolicy
string, which allows administrators to wholesale override the policy:We should align this configuration to what we do for our Content Security Policy (#102059). The configuration specified in
kibana.yml
should be treated as additive, rather than replacing our built-in permissions policy.Expand top-level
permissionsPolicy
configuration settingThis setting should be marked as preview/experimental.
This configuration schema should support the following:
permissionsPolicy.report_to
: an optional array of strings, analogous to our currentcsp.report_to
setting.permissionsPolicy.camera
: an optional array of strings, which should be included within ourcamera(...)
directive.permissionsPolicy.display_capture
: an optional array of strings, which should be included within ourdisplay-capture
directive.permissionsPolicy.fullscreen
: an optional array of strings, which should be included within ourfullscreen
directive.permissionsPolicy.geolocation
: an optional array of strings, which should be included within ourgeolocation
directive.permissionsPolicy.microphone
: an optional array of strings, which should be included within ourmicrophone
directive.permissionsPolicy.web_share
: an optional array of strings, which should be included within ourweb-share
directive.Deprecate
server.securityResponseHeaders.permissionsPolicy
With the introduction of per-directive configuration, we should deprecate the previous wholesale override, and suggest that users migrate to the new
permissionsPolicy.*
set of configuration options.Validation
Users should not be allowed to specify both
server.securityResponseHeaders.permissionsPolicy
andpermissionsPolicy.*
settings at the same time. Kibana should fail to start if we detect both are in use.Docker
The new settings should be added to
src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker
to facilitate configuration within our docker environments.Logic
server.securityResponseHeaders.permissionsPolicy
norpermissionsPolicy.*
are configured, then Kibana should use its default permissions policy.server.securityResponseHeaders.permissionsPolicy
is configured, then Kibana should use the policy specified in yml, and not use its default permissions policy (This should be the current behavior).permissionsPolicy.*
is specified, then the directives in the yml file should be added to Kibana's default permissions policy.The text was updated successfully, but these errors were encountered: