Commit graph

199 commits

Author SHA1 Message Date
Najwa Harif
bf5fff4365
[DOCS] Add fr-FR to supported Kibana locales (#165850) 2023-09-06 11:01:24 -04:00
Jeramy Soucy
dd3193c88e
Implements default Permissions-Policy header (#158514)
Closes #154252

## Summary

This PR implements a default [permissions policy
header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy)
for Kibana. It takes into consideration only the directives that are
_not_ still in development/pre-release. These directives are:
 - camera
 - display-capture
 - fullscreen
 - geolocation
 - microphone
 - web-share

All directives above are set to an empty or "none" allow list, with the
exception of `fullscreen`. The default permissions policy for Kibana
will be: `camera=(), display-capture=(), fullscreen=(self),
geolocation=(), microphone=(), web-share=()`.

The `display-capture` directive only affects access to the [Screen
capture
API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API),
whereas our reporting utilities rely on a headless Chrome feature.
FullyStory also does not appear to rely on capturing the screen, but
rather on [capturing the DOM and
CSS](3600206230-Does-FullStory-work-with-my-complex-site-)
to reproduce the screen and user stories. We have confirmed with
FullStory support that they do not use the Screen capture API
(`getDisplayMedia()`).

The `fullscreen` directive affects access to the
[element.requestFullscreen
API](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen).
Our fullscreen view for Dashboards and visualizations appear to be
scoped to the Kibana application and not the browser or system, but
there is one use of `requestFullscreen` in the synthetics plugin's
`grid_group_item`, hence the default setting of 'self' here.

## Testing
Due to screen capture reports (PNG & PDF) and fullscreen modes working
with the configuration defined above, I wanted to double-check the
header was working, so I tested both camera and microphone access. I did
this by adding some code into our team's user management screen that
would attempt to access both the camera and microphone. I could confirm
that with the permissions policy header (as defined), no access prompts
would appear for either resource. When I removed the directives for the
camera and microphone from the permissions policy header, prompts
appeared in the browser (Chrome) to approve access to the camera and
microphone.

### Manual Test:
1. Start Elasticsearch and Kibana from this PR
2. Sign into Kibana and open your browser's dev tools
3. In the network tab, inspect one of the requests for localhost
4. In the Headers tab, verify the permissions-policy header is present
with the new default value defined above, `camera=(),
display-capture=(), fullscreen=(self), geolocation=(), microphone=(),
web-share=()`
5. Edit the kibana.yml file, add
`server.securityResponseHeaders.permissionsPolicy: camera=(self)`
6. Refresh Kibana in the browser, verify the permissions-policy header
is present with the value set in kibana.yml in step 5
7. Edit the kibana.yml file, add
`server.securityResponseHeaders.permissionsPolicy: null`
8. Refresh Kibana in the browser, verify the permissions-policy header
is no longer present

## Release Notes:
Security
Adds default Permissions-Policy header including all non-experimental
directives [#158514](https://github.com/elastic/kibana/pull/158514)

---------

Co-authored-by: James Rodewig <james.rodewig@elastic.co>
2023-06-07 19:48:44 +02:00
Alejandro Fernández Haro
995b0a46e9
[DOCS] Telemetry settings: improve phrasing (#158396) 2023-05-25 16:46:08 +02:00
Peter Pisljar
b6ea07ac24
removing enableInVisualize references (#156490) 2023-05-03 15:57:07 +02:00
Lisa Cawley
7efe3d53c6
[DOCS] Edits Kibana alerting settings (#155318) 2023-04-27 07:26:19 -07:00
Jonathan Buttner
f111d93d08
[Cases] Adding cases settings docs (#154672)
This PR adds the new configuration settings to the docs. The
configurations were added in this PR:
https://github.com/elastic/kibana/pull/154013

---------

Co-authored-by: lcawl <lcawley@elastic.co>
2023-04-11 22:15:26 -04:00
Thomas Watson
50444bbd59
Change default value of csp.disableUnsafeEval to 'true' (#150157)
This change ensures that the `unsafe-eval` source expression isn't included in
the Kibana Content Security Policy (CSP) by default.

Users can set `csp.disableUnsafeEval: false` to reintroduce `unsafe-eval`.
However, since this config option is deprecated as of this commit, it's
recommended to instead set `csp.script_src: ['unsafe-eval']`.

Closes #150156
2023-02-07 07:07:13 -05:00
Thomas Watson
2b82cb7fa2
[@kbn/handlebars] Add support for partials (#150151)
Add support for [partials](https://handlebarsjs.com/guide/partials.html)
to our own implementation of the [handlebars](https://handlebarsjs.com)
template engine.

Closes #139068
2023-02-02 12:59:09 -07:00
gchaps
803c8df070
[DOCS] Updates telemetry settings (#149651)
## Summary

This docs updates the content for the telemetry settings.
2023-01-27 07:06:16 -08:00
Lisa Cawley
e6f57ba2c0
[DOCS] Adds email notifications setting (#147660) 2023-01-10 17:24:15 -05:00
Thom Heymann
b184f0615e
Include Cross-Origin-Opener-Policy in default response headers (#147874)
Part of #141780 

## Release notes

Include Cross-Origin-Opener-Policy in default response headers

## Testing

Load Kibana; you should see Kibana respond with
`Cross-Origin-Opener-Policy: same-origin` header for page loads and API
requests.
2022-12-21 15:27:15 +00:00
Tim Rühsen
8b0145c3a1
Support brotli compression on the server side (#142334)
* Use brotli compression

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* Add integration test for brotli support

* Use import instead of require()

* Suppress build error on importing brok

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* add brok as explicit package dep

* add `server.compression.brotli` config settings

* update documentation

* fix test utils

* fix more test configs

* add tests for endpoints too

* remove against endpoint for now

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co>
2022-10-24 15:33:21 +02:00
Rudolf Meijering
441469262a
Add maxIdleSockets and idleSocketTimeout to Elasticsearch config (#142019)
* Add maxIdleSockets and idleSocketTimeout to Elasticsearch config

* Simplify agent manager

* Fix types

* Fix types

* Reduce idleSocketTimeout default to 60s

* Fix tests

* Update docs/setup/settings.asciidoc

* Address review comments

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-10-10 03:34:00 -07:00
Brandon Kobel
8655730a69
Marking the node.roles kibana.yml setting as technical preview (#135932) 2022-07-07 13:55:09 -07:00
Luke Elmers
cf6ae210ef
Adds node.roles configuration & exposes via PluginInitializerContext (#135272) 2022-06-28 15:22:43 -07:00
Alejandro Fernández Haro
2410b879a3
[Telemetry] Make telemetry plugin non-disableable (#133205)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-06-27 16:21:37 +02:00
Kaarina Tungseth
ae7bfaca54
[DOCS] Reformats the Configure Kibana settings tables into definition lists (#132531)
* [DOCS] Reformats the Configure Kibana settings tables into definition lists

* Review comments
2022-05-26 10:39:07 -05:00
David Kilfoyle
be5e8ad87a
Remove "ESS" indicator for server.publicBaseUrl user setting (#132819)
This removes indication that the `server.publicBaseUrl` setting is supported on Elasticsearch Service. While the setting is technically available in ESS it's not configurable and it's best not documented.
2022-05-24 11:34:12 -04:00
Thomas Watson
dc9f2732a1
Add csp.disableUnsafeEval config option to remove the unsafe-eval CSP (#124484)
Adds a new experimental Kibana setting called `csp.disableUnsafeEval` which will default to `false`. When set to `true`, it will remove `unsafe-eval` from our CSP.

Also introduces a new module called `@kbn/handlebars` which is a replacement for the official `handlebars` module used in the frontend. This new module is necessary in order to avoid calling `eval`/`new Function` from within `handlebars` which is not allowed once `unsafe-eval` is removed from our CSP.

The `@kbn/handlebars` module is simply an extension of the main `handlebars` module which adds a new compile function called `compileAST` (as an alternative to the regular `compile` function). This new function will not use code-generation from strings to compile the template but will instead generate an AST and return a render function with the same API as the function returned by the regular `compile` function.

This is a little bit slower method, but since this is only meant to be used client-side, the slowdown should not be an issue.

The following limitations exists when using `@kbn/handlebars`:

The Inline partials handlebars template feature is not supported.

Only the following compile options will be supported:
- `knownHelpers`
- `knownHelpersOnly`
- `strict`
- `assumeObjects`
- `noEscape`
- `data`

Only the following runtime options will be supported:
- `helpers`
- `blockParams`
- `data`

Closes #36311
2022-05-23 11:01:56 -07:00
Luca Belluccini
9a34c20ace
[DOC] Server UUID Setting (#128399)
The `server.uuid` setting MUST be a valid UUIDv4.
Also, the setting was added in the middle of other SSL settings and it was misleading (due to a banner related to SSL settings).
2022-04-28 13:15:32 -05:00
Toby Sutor
ef6a4e4498
Add information on how to make Kibana listening on all available IPS (#128485)
Co-authored-by: Kaarina Tungseth <kaarina.tungseth@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-28 13:12:36 -04:00
Nodir Latipov
7c01257055
[Unified Search] Move autocomplete logic to unified search plugin (#129977)
* feat: move autocomplete logic from data plugin to unified search

* minor fix after comments

* updated Documentation: data.autocomplete -> unifiedSearch.autocomplete

* changed renameFromRoot order for autocomplete

* removed extra renameFromRoot in config deprecations, updated test

* added configPath for unified search plugin

* Update kibana.json

* updated path to autocomplete

* fix conflict

* fix conflict

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* fix Linting

* fix functional_with_es_ssl test
2022-04-22 11:02:56 +05:00
Nathan Reese
38d5202f55
[docs] fix table in Settings documentation (#129933)
* [docs] fix table in Settings documenation

* try passthrough

* triple pass through

* make code block
2022-04-11 14:03:07 -06:00
gchaps
9b7cde9e6c
[DOCS] Fixes formatting of settings (#129400)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-11 09:43:06 -07:00
Kaarina Tungseth
e046687d11
Adds the Lens 8.2.0 docs (#128986)
* Adds the Lens 8.2.0 docs

* Review comments

* Update Discover setting

* Update Discover setting

* Update Discover setting

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-06 12:50:44 -05:00
Andrew Tate
e7eea48a6c
[Lens] Update show underlying data strings (#128923) 2022-03-30 19:17:20 -05:00
Joe Portner
506648c917
Mark elasticsearch.serviceAccountToken setting as GA (#128420) 2022-03-23 15:41:33 -04:00
Gerard Soldevila
bbddc4233b
Allow customizing ES client maxSockets (#126937)
* Allow customizing ES client maxSockets

* Make maxSockets required (schema defaults to Infinity)

* Fix UTs

* Misc tweaks + extra UTs

* Update asciidoc

* Code cleanup

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-03-16 11:16:22 -07:00
gchaps
2fc7ad44a8
[DOCS] Add settings for Enterprise Search (#126711)
* [DOCS] Add settings for Enterprise Search

* Update docs/settings/enterprise-search-settings.asciidoc

Co-authored-by: Rich Kuzsma <62522248+richkuz@users.noreply.github.com>

Co-authored-by: Rich Kuzsma <62522248+richkuz@users.noreply.github.com>
2022-03-02 12:58:15 -08:00
Pierre Gayvallet
1eea7a32d4
Allow to enable compression for communications with ES (#124009)
* Allow to enable compression for communications with ES

* update generated doc

* fix types in test

* update another snapshot
2022-02-01 08:02:29 +01:00
Jorge Sanz
2e4493d605
[Maps][Docs] Update map.tilemap.url doc to Maps (#119481)
* Change a doc reference to tilemap by Maps

* feedback

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-01-12 16:28:06 +01:00
gchaps
6d427b95b5
[DOCS] Fixes configure settings docs in 8.x (#119918) 2021-11-30 13:26:09 -08:00
Christiane (Tina) Heiligers
9189066b0c
[docs-logging]: move developer/architecture docs to user docs (#119125)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-11-24 16:42:28 -05:00
Nathan Reese
7c73e227eb
[Maps] convert EMS TMS source to typescript (#116508)
* [Maps] convert EMS TMS source to typescript

* eslint

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-10-29 11:33:12 -06:00
Thomas Neirynck
4a988dc5e3
[Maps] Remove proxyElasticMapsServiceInMaps (#116184)
Removes the map.proxyElasticMapsServiceInMaps yml setting.
2021-10-26 12:16:29 -04:00
Pierre Gayvallet
106183551a
[8.0] remove kibana.index config property (#112773)
* remove kibana config

* remove kibanaConfig usages

* prettier fix

* fix some globalConfig.kibana.index access

* fix xpack_legacy globalConfig usage

* fix home globalConfig usage

* fix canvas globalConfig usage

* fix action globalConfig usage

* fix (all?) remaining usages

* fix more plugins

* fix more plugins bis

* yet more usages

* fix ml usages

* fix security_solution

* fix lens

* fix monitoring

* remove from settings docs

* move doc update

* fix unit tests

* update generated doc

* improve test

* adapt new usage in security_solution

* fix security_solution config

* fix createConfig, again

* fix mock config
2021-10-25 14:25:24 -07:00
Luke Elmers
a7fff86390
[saved objects] Remove migrations enableV2 config. (#115655) 2021-10-20 09:17:52 -06:00
Sébastien Loix
f6a9afea61
[Stack management apps] Deprecate "enabled" Kibana setting (#114768) 2021-10-19 11:33:57 +01:00
Rich Kuzsma
85d7115d4a
Document edge cases for enterpriseSearch.host (#115446)
Fixes https://github.com/elastic/enterprise-search-team/issues/517
2021-10-18 17:19:00 -04:00
Luke Elmers
94aa791a49
[Breaking] Remove deprecated enabled settings from plugins. (#113495) 2021-10-17 16:54:30 +01:00
Christiane (Tina) Heiligers
44c9611bd9
[8.0] Remove support for configuring csp.rules (#114379)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-10-11 20:49:21 -04:00
garanews
58f6d9002a
Fix typos in docs & dev_docs (#113746) 2021-10-07 14:30:32 -04:00
Christiane (Tina) Heiligers
67be0a8e68
Removes unused and renamed deprecated core settings and deprecated settings from core plugins (#113653)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-10-05 12:30:49 -07:00
Luke Elmers
878b1eeae9
Log deprecation warnings for plugins which won't be disable-able in 8.0 (#112602) 2021-09-22 15:58:57 -04:00
Tim Roes
b6ab15e9f4
Remove kibana.defaultAppId setting (#109798)
* Remove kibana.defaultAppId setting

* Fix typings

* Remove plugin dependency

* Use proper navigation method to get to home

* Default route for home

* Address discover new routing code

* Make non existing /kibana URLs working

* Fix space awareness

* Remove documentation

* Remove the setting from docker file

* Make defaultRoute forward work properly

* Add forward_url tests

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-09-03 17:59:59 +02:00
Rudolf Meijering
393505ab39
Migrationsv2: limit batch sizes to migrations.batchSizeBytes (= 100mb by default) (#109540)
* Fix logging for existing integration test

* First stab at limiting batches to batchSizeBytes

* Fix tests

* Fix batch size calculation, NDJSON needs to be terminated by an empty line

* Integration tests

* Fix type failures

* rename migration integration tests and log files to be consistent & more descriptive

* Review feedback

* Remove duplication of fatal error reasons

* migrations.maxBatchSizeBytes to docker environment vars

* docs for migrations.maxBatchSizeBytes
2021-09-01 12:19:02 +02:00
Nathan Reese
9e1a4dda42
[Maps] remove map.regionmap.* (#109896)
* remove regionmap config

* clean-up

* clean up docs and i18n cleanup

* telemetry check fixes

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-08-30 12:55:03 -06:00
Wylie Conlon
62e81723af
[Docs] Clarify that explore underlying data is not enabled (#105693)
* [Docs] Clarify that explore underlying data is not enabled

* Update formatting

* Update from feedback
2021-07-21 15:05:33 -04:00
Larry Gregory
76f49565c1
Support authenticating to Elasticsearch via service account tokens (#102121)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-07-12 14:18:35 -04:00
gchaps
e92892a174
[DOCS] Creates separate doc for security in production (#103973)
* [DOCS] Creates separate doc for security in production

* Use Kibana attribute

* Update CSP section

* Move SSL section to the top

This is the highest priority item for securing a production installation
of Kibana.

* Add section on using secure HTTP headers

* Write intro

* [DOCS] Fixes broken link and other minor edits

* [DOCS] Changes man to manipulator

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
2021-07-07 13:19:28 -07:00