Commit graph

456 commits

Author SHA1 Message Date
Pierre Gayvallet
e3bc923b9a
Add documentation for airgap install of the product documentation (#202912)
## Summary

Part of https://github.com/elastic/kibana/issues/199999

Add documentation regarding how to install the AI Assistant product
documentation on air-gap environments.
2024-12-06 10:55:59 -06:00
Tim Sullivan
871a81c68e
[Reporting] Use Kibana feature privileges only to control access to reporting (#200834)
## Summary

This PR discontinues Reporting from having dual models for determining
the privilege to generate a report, and uses Kibana feature privileges
as the single model that controls those privileges.

### Changes
1. Removes all logic that is based on following settings:
    * `xpack.reporting.roles.enabled`
    * `xpack.reporting.roles.allow`
The settings are still supported, but any features that use the settings
are removed.
2. Removes the detection of the settings from the Upgrade Assistant
integration

### Release note
The default system of granting users the privilege to generate reports
has changed. Rather than assigning users the `reporting_user` role,
administrators should create a custom role that grants report-creation
privileges using Kibana application privileges.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.

Correlates with https://elasticco.atlassian.net/browse/ES-9856: assign
the built-in `reporting_user` role the necessary Kibana application
privileges, and make the role not marked as deprecated.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-12-04 09:51:29 -07:00
florent-leborgne
95a7b0c044
[Docs] Update certain references to cloud and ESS due to serverless GA (#202184)
This PR updates a few references to hosted deployments on Elastic Cloud
to avoid ambiguity with serverless in anticipation of serverless GA.

Some more similar updates will be made on other repos to align.

Rel: https://github.com/elastic/platform-docs-team/issues/485
2024-11-28 16:53:56 +01:00
Brad White
318dacc2f5
Remove mention of (secure) settings qualifier from docs (#201900)
## Summary

Removes mentioning `(Secure)` settings from the keystore docs because
Kibana does not have any settings which use this qualifier.
2024-11-27 13:35:39 -08:00
florent-leborgne
e42569dc04
[Docs] Reset release files for 9.0 (#199519)
This PR resets the release notes, upgrade notes, and what's new for 9.0.
It also cleans up a few references/files that were focusing on migration
to 8.0

Some more PRs will happen to prepare the rest of the docs for v9

Closes: https://github.com/elastic/platform-docs-team/issues/564
2024-11-22 10:24:10 +01:00
Jesus Wahrman
7cb5b4d3cc
[doc] Allow copying as curl for saved object rollback instructions (#200187)
## Summary

Changed the doc file so it allows to copy as curl.

[Issue](https://github.com/elastic/kibana/issues/198490)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-11-18 10:04:20 +01:00
florent-leborgne
8e7fb7a77e
[Docs] Update nav instructions and sample data installation to accommodate for the solution views (#199163)
This PR:
- updates navigation instructions to accommodate for the navigation
changes related to solution views.
- updates instructions for adding sample data to rely on the
integrations page instead of the home page, that only exists with the
classic solution view
- updates references to the home page to avoid confusing users using one
of the new solution views

Closes: https://github.com/elastic/platform-docs-team/issues/529
Closes: https://github.com/elastic/platform-docs-team/issues/540
2024-11-08 11:10:32 +01:00
Lisa Cawley
02fab7248d
[OpenAPI][DOCS] Add descriptions, examples, responses for role APIs (#195527)
Co-authored-by: Elena Shostak <165678770+elena-shostak@users.noreply.github.com>
2024-10-25 10:13:57 -07:00
kosabogi
94ee8d598f
Updates file upload formats in Kibana guide (#195880)
### Overview

This PR updates the **Upload a file** section in the **Add data** page
to reflect the changes to the supported file formats in the Data
Visualizer.

### Related issue: 


https://github.com/elastic/search-docs-team/issues/189#issuecomment-2399079270

### Preview
2024-10-14 10:48:36 +02:00
Christiane (Tina) Heiligers
7839db950e
[Docs] Update publicBaseUrl and rewriteBasePath settings (#195465)
fix https://github.com/elastic/kibana/issues/114562

![Screenshot 2024-10-08 at 09 04
20](https://github.com/user-attachments/assets/f43d592d-cc49-4f41-9bee-2a85f9c08292)

![Screenshot 2024-10-08 at 09 04
49](https://github.com/user-attachments/assets/39184960-d5ec-4485-944b-6ef4295d7101)

---------

Co-authored-by: Lisa Cawley <lcawley@elastic.co>
2024-10-08 23:14:28 +00:00
Liam Thompson
336f824122
[Search] Update connectors docs URLs and doc link (#195374)
Missed one in https://github.com/elastic/kibana/pull/194423
2024-10-08 14:01:34 +02:00
florent-leborgne
94caafd57d
(Docs) Add Kibana upgrade notes page (#193268)
## Summary

This PR:

- adds a page that is a compiled list of all breaking changes and
deprecations introduced since the last major version. I slightly edited
some bits to align the wording and add version information to each item,
and took a bit of freedom (not too much!) to ignore items that shouldn't
be identified as deprecations or breaking changes, or to move them to
the appropriate section in this page.
- adds a link to the new page from the Upgrade Kibana page.

<img width="1483" alt="image"
src="https://github.com/user-attachments/assets/16109072-d5c6-4eb4-8a52-ef209a07072a">

<img width="810" alt="image"
src="https://github.com/user-attachments/assets/939e9212-b750-4a6f-bd8f-f8df04e46d76">


I'm wondering if we should leave this uncategorized or at least identify
which items are specific to a solution. It also doesn't make much sense
that we have Obs here while we don't have Security. Let's think about a
consistent way to do it.

Note: In this PR, the page is initially added under the Release notes
section. I'll need to make sure that this does not interfere with the
release notes automation.

Note 2: If we move forward with this proposal, we'll need update the
release notes internal docs to add the relevant information to this page
with each minor release, or find a way to automate.

Closes: https://github.com/elastic/kibana-team/issues/1075

---------

Co-authored-by: Lisa Cawley <lcawley@elastic.co>
Co-authored-by: Kaarina Tungseth <kaarina.tungseth@elastic.co>
Co-authored-by: Luke Elmers <lukeelmers@gmail.com>
2024-10-07 11:51:42 +02:00
Alejandro Fernández Haro
d570d60b0b
Upgrade http dependencies (#180986)
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2024-10-01 11:50:47 -05:00
Gerard Soldevila
d4cc182e8a
[Migrations] Upgrade tests to use 9.x compatible archives (#193696)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1113

Merges some tested code paths into `v2_migration.test.ts` which uses an
archive that is generated in 9.0.0.
Gets rid of the related failing tests.
2024-09-24 05:05:46 -05:00
Stef Nestor
6755cc1808
(Doc+) link video to checking health (#193023)
## Summary

👋 howdy team! Ongoing improvement for common support topic, this links
[this video
walkthrough](https://www.youtube.com/watch?v=AlgGYcpGvOA&list=PL_mJOmq4zsHbQlfEMEh_30_LuV_hZp-3d&index=3)
on checking Kibana health.


### Checklist
NA

### Risk Matrix
NA

### For maintainers
NA

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
2024-09-16 15:38:46 +00:00
Tim Sullivan
d3c3b28c6f
[Reporting/Docs] Add caveats of configuring reporting for screenshotting capabilities. (#192141)
## Summary

This PR echos verbiage that belongs as a footnote on the Kibana Support
Matrix web page: https://www.elastic.co/support/matrix/#matrix_os


## Checklist
- [x] Include text from the footnote of the Kibana Support Matrix
- [x] Guide users to test reporting features in a pre-production
environment
2024-09-06 09:56:40 -07:00
Sander Philipse
d21d3987e8
Add publicBaseUrl to Elasticsearch config (#191837)
## Summary

This adds a publicBaseUrl to the Elasticsearch plugin config so users
can set a publicly accessible URL for Elasticsearch.

---------

Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2024-09-04 13:45:27 +02:00
Tim Sullivan
ac4a786c38
[Reporting/Docs] update mention of Japanese font package requirement (#191561)
## Summary

Closes https://github.com/elastic/kibana/issues/68823

`vlgothic-fonts` is a package which is listed in the default package
repositories for CentOS/RHEL.
* [Github](https://github.com/daisukesuzuki/VLGothic)
* [Home page](https://vlgothic.dicey.org/)
2024-08-28 08:38:29 -07:00
Pius
874f5ac3cb
Clarify macOS support (#191329)
Clarifying macOS support is limited to development environments only.

Please back-port accordingly.  Thx!
2024-08-28 07:55:38 -05:00
Rudolf Meijering
befa09285b
[docs] Resolve migration failures: allow copying as curl and remove outdated 7.12 known issue (#190677)
## Summary

This allows users to copy the documented console commands as curl
commands. Useful since users don't have access to console when there's a
migration failure. I also removed a known 7.12 issue that's no longer
relevant for 8.x users.

Example:
<img width="815" alt="Screenshot 2024-08-19 at 12 48 36"
src="https://github.com/user-attachments/assets/973fe626-7593-4d65-91d3-3c7aab5e9c63">

clicking "copy as curl" produces:
```
curl -X PUT "localhost:9200/_security/role/grant_kibana_system_indices?pretty" -H 'Content-Type: application/json' -d'
{
  "indices": [
    {
      "names": [
        ".kibana*"
      ],
      "privileges": [
        "all"
      ],
      "allow_restricted_indices": true
    }
  ]
}
'
```

### Checklist

Delete any items that are not applicable to this PR.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2024-08-20 16:07:52 +02:00
Christiane (Tina) Heiligers
f2aa1faee4
Removes non-backup rollback from upgrade kibana (#189011)
FIx https://github.com/elastic/kibana/issues/158117

Removes section on rolling back without a snapshot.

The changes made to kibana saved objects migration make the process of
rolling back without a snapshot too complex for customers to do alone.
Furthermore, rolling back without a snapshot is not recommended or
supported.

See the changes on `master`
[here](https://kibana_bk_189011.docs-preview.app.elstc.co/guide/en/kibana/master/upgrade-migrations-rolling-back.html)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-07-24 14:51:24 +00:00
Pierre Gayvallet
e7d093af36
[doc] fix logs configuration on deb/rpm install guide (#188900)
## Summary

Fix https://github.com/elastic/kibana/issues/87524
2024-07-24 09:01:47 +02:00
elena-shostak
cc50c8dc94
Permissions Policy Reporting (#186892)
## Summary

1. Added top-level `permissionsPolicy` configuration setting.
2. Added support for `report_to` directive.
3. Added support for `Permissions-Policy-Report-Only` header to enable
reporting mode.
4. The [spec](https://www.w3.org/TR/permissions-policy/#reporting)
mentions `featureId` in the reporting body, however the field is
`policyId` in Chromium.

## How to test

- Add in your `kibana.dev.yml`.
```
server.customResponseHeaders.Reporting-Endpoints: violations-endpoint="https://localhost:5601/kibana/internal/security/analytics/_record_violations"
server.securityResponseHeaders.permissionsPolicy: 'microphone=()'
server.securityResponseHeaders.permissionsPolicyReportOnly: 'camera=()'
```
- Make sure you have [dev tools configured for Reporting
API](https://developer.chrome.com/docs/capabilities/web-apis/reporting-api#use_devtools).
- In the browser console invoke `navigator.mediaDevices.getUserMedia({
audio: true, video: true }).catch((e) => {});`
- Open Dev Tools -> Application -> Reporting API. 
You should see 2 reports for permissions violation, one with `report`
disposition and another with `enforce` disposition.

<img width="1285" alt="Screenshot 2024-06-27 at 13 36 12"
src="3f3da7f6-f6b0-4f33-9a81-dff3db0ac2b8">


### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Related Issue(s)
https://github.com/elastic/kibana/issues/175113,
https://github.com/elastic/kibana/issues/184939

### Release Note
Added support for Permissions Policy reporting.
2024-07-04 11:06:33 +02:00
Pierre Gayvallet
85f67dd39a
Implement elasticsearch.maxResponseSize config option (#186291)
## Summary

Fix https://github.com/elastic/kibana/issues/185042

- Add a new `elasticsearch.maxResponseSize` config option 
- Set this value to `100mb` on our serverless configuration file

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-06-19 11:04:33 +02:00
Pierre Gayvallet
dea26c6450
Add http2 support for Kibana server (#183465)
## Summary

Part of https://github.com/elastic/kibana/issues/7104

Add support for `http2` to the Kibana server. `http2` can be enabled by
setting `server.protocol: http2` in the Kibana config file.

*Note: by default, enabling `http2` requires a valid `h2c`
configuration, meaning that it can only run over HTTPS with TLS1.2+*

```yaml
## kibana.yaml
server.protocol: http2
server.ssl.enabled: true
server.ssl.key: path/to/key
server.ssl.certificate: path/my/cerf
```

## What is this PR doing

### Add HTTP2 support for the Kibana server

#### - Plug http2 to the Kibana server 

Even if HAPI was never officially updated to really support HTTP2,
node's `http`/`https`/`http2` modules are compatible enough to be able
to just instantiate an http2 server/listener and provide it to HAPI "as
a plain https listener". There were some tweaks to do (mostly silencing
a few warnings that HAPI was causing by sending http2-illegal headers
such as `Connection`), but overall, it went smoothly.

#### - Add config validation

By default, Kibana will require a valid `h2c` configuration to accept
enabling `http2`. It means that TLS must be enabled and that TLS1.2+
should at least be in the list of supported SSL protocols
(`server.ssl.supportedProtocols`). Note that default value of this
setting includes TLS1.2 and 1.3.

#### - Add escape hatch to run `h2` without `h2c`

In some situations, it may be required to enable http2 without a valid
`h2c` configuration. Kibana supports it, by setting
`server.http2.allowUnsecure` to `true`.

(*Note, however, that if http2 is enabled without TLS, ALPN protocol
negotiation won't work, meaning that most http2 agents/clients will fail
connecting unless they're explictly configured to use http2.*)

### Add documentation about this new feature

#### - Update the user-facing doc about this new `server.protocol`
setting

Update the user-facing Kibana settings documentation to include this
`http.protocol` setting (and refer to `server.http2.allowUnsecure`)

**Note: this setting, and this feature, are considered as experimental**

### Adapt our dev tooling to support running Kibana with http2 enabled

#### - Add a `--http2` flag to the dev CLI

Enabling this flag will add the proper configuration settings to run
Kibana with `http2` enabled in an (almost) valid `h2c` configutation.

*Note: when using this flag, even if listening on the same port, the
Kibana server will be accessible over https, meaning that you need to
use https in your browser to access it. Aka `http://localhost:5601`
won't work, you need to use `https://localhost:5601`. Also, we're using
the self-signed dev certificates, meaning that you must go though the
scary warning of your browser*

#### - Implement an http2-compatible base-path proxy

The current base path proxy is based on `hapi` and `hapi/h2o2`. I tried
for a bunch hours trying to hack around to make it work with http2
proxying, but ultimately gave up and implemented a new version from
scratch.

Note that with some additional efforts, this new http2 basepath proxy
could probably fully replace the existing one and be used for both http1
and http2 traffic, but it's an optimization / refactoring that did not
feel required for this PR.

### Adapt the FTR to run suites against http2

#### - Add support to run FTR test suite against an h2c-enabled Kibana

Note that with ALPN, clients using http1 should be (and are) able to
communicate with http2 Kibana, given h2c/alpn allows protocol
negitiation. So adapting our FTR tooling was not really about making it
work with http2 (which worked out of the box), but making it work with
**the self signed certifcates we use for https on dev mode**

Note that I'm not a big fan of what I had to do, however, realistically
this was the only possible approach if we want to run arbitrary test
suites with TLS/HTTP2 enabled without massively changing our FTR setup.

Operations and QA, feel free to chime in there, as this is your
territory.

#### - Change some FTR test suites to run against an HTTP2-enabled
server

I added a quick `configureHTTP2` helper function to take any "final" FTR
suite config and mutate it to enable `http2`. I then enabled it on a few
suites locally, to make sure the suites were passing correctly.

I kept two suites running with http2 enabled:
- the `console` oss functional tests
- the `home` oss functional tests

We could possibly enable it for more, but we need to figure out what
kind of strategy we want on that matter (see below)

## What is this pull request NOT doing

#### - Making sure everything works when HTTP2 is enabled

I navigated the applications quite a bit, and did not see anything
broken, however I obviously wasn't able to do a full coverage. Also, the
self-signed certificate was a huge pain to detect issues really caused
by http2 compared to issues because the local setup isn't valid `h2c`.

In theory though (famous last words) anything not doing http/1.1
specific hacks such as bfetch should work fine with http2, given that
even if using non-http2 clients, ALPN should just allow to fallback to
http/1.x (this part was tested)

#### - Enabling HTTP2 by default

PR isn't doing it for obvious reasons. 

#### - Enabling HTTP2 for all FTR suites

First of all, it's not that easy, because it requires adapting various
parts of the config (and even some var env...), and we don't have any
proper way to override config "at the end". For instance, if you add the
http2 config on a top level config (e.g. the oss functional one that is
reuse by the whole world - learned the hard way), it won't work because
higher-level configs redefined (and override) the `browser` part of the
config, loosing the settings added to run the browser in insecure mode.

Secondly, I'm not sure we really need to run that many suites with http2
enabled. I learned working on that PR that we only have like one suite
where https is enabled for the Kibana server, and I feel like it could
be fine to have the same for http2. In theory it's just a protocol
change, unless parts of our apps (e.g. bfetch) are doing things that are
specific to http/1.1, switching to http2 should be an implementation
detail.

But I'd love to get @elastic/kibana-operations and @elastic/appex-qa
opinion on that one, given they have more expertise than I do on that
area.

- Running performances tests

We should absolutely run perf testing between http/1.1 over https and
http/2, to make sure that it goes into the right directly (at least in
term of user perceived speed), but I did not do it in the scope of this
PR (and @dmlemeshko is on PTO so... 😅)

## Release Note

Add support for `http2` to the Kibana server. `http2` can be enabled by
setting `server.protocol: http2` in the Kibana config file.

Note: by default, enabling `http2` requires a valid `h2c` configuration,
meaning that it can only run over HTTPS with TLS1.2+

Please refer to the Kibana config documentation for more details.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-06-03 09:34:13 +02:00
Liam Thompson
cd223cd9b8
[DOCS] Update (Enterprise) Search ingestion tool info (#183233)
Update tools and doc links which have been outdated for a while
2024-05-13 16:57:54 +02:00
Jon
8b015ebedd
[keystore] Add password support (#180414)
This adds support a password protected keystore. The UX should match
other stack products.

Closes https://github.com/elastic/kibana/issues/21756.

```
[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% bin/kibana-keystore create --password
A Kibana keystore already exists. Overwrite? [y/N] y
Enter new password for the kibana keystore (empty for no password): ********
Created Kibana keystore in /tmp/kibana-8.15.0-SNAPSHOT/config/kibana.keystore

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% bin/kibana-keystore add elasticsearch.username
Enter password for the kibana keystore: ********
Enter value for elasticsearch.username: *************

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% bin/kibana-keystore add elasticsearch.password
Enter password for the kibana keystore: ********
Enter value for elasticsearch.password: ********

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% bin/kibana
...
Enter password for the kibana keystore: ********
[2024-04-30T09:47:03.560-05:00][INFO ][root] Kibana is starting

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% bin/kibana-keystore has-passwd
Keystore is password-protected

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% ./bin/kibana-keystore show elasticsearch.username
Enter password for the kibana keystore: ********
kibana_system

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% ./bin/kibana-keystore remove elasticsearch.username
Enter password for the kibana keystore: ********

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% ./bin/kibana-keystore show elasticsearch.username
Enter password for the kibana keystore: ********
ERROR: Kibana keystore doesn't have requested key.

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% bin/kibana-keystore passwd
Enter password for the kibana keystore: ********
Enter new password for the kibana keystore (empty for no password):
[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% ./bin/kibana-keystore has-passwd
Error: Keystore is not password protected

[jon@mbpkbn1]/tmp/kibana-8.15.0-SNAPSHOT% ./bin/kibana
...
[2024-04-30T09:49:03.220-05:00][INFO ][root] Kibana is starting
```

## Password input

Environment variable usage is not consistent across stack products. I
implemented `KBN_KEYSTORE_PASSWORD_FILE` and `KBN_KEYSTORE_PASSWORD` to
be used to avoid prompts. @elastic/kibana-security do you have any
thoughts?


- `LOGSTASH_KEYSTORE_PASS` -
https://www.elastic.co/guide/en/logstash/current/keystore.html#keystore-password
- `KEYSTORE_PASSWORD` -
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-keystore-bind-mount
- `ES_KEYSTORE_PASSPHRASE_FILE` -
https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html#rpm-running-systemd
- Beats discussion, unresolved:
https://github.com/elastic/beats/issues/5737


## Release note
Adds password support to the Kibana keystore.
2024-05-06 10:23:29 -05:00
Stef Nestor
ca181965ca
(Doc+) Kibana unavailable if backing indices write blocked (#181244)
Kibana may be unresponsive while backing indices in write block.
2024-05-03 14:19:40 -07:00
Pierre Gayvallet
6aab9948b8
Config: add support for ${VAR:default} syntax (#182139)
## Summary

Fix https://github.com/elastic/kibana/issues/100854

### Release note

The Kibana configuration file now supports assigning default value for
environment variables, using the `${VAR_ENV:defaultValue}` syntax.
2024-05-01 07:55:24 +02:00
Mirko Bez
2ed9f18fc0
Update configuring-logging.asciidoc (#180835)
Update levels ordering

## Summary

The documentation is currently reporting a misleading information
https://www.elastic.co/guide/en/kibana/current/logging-configuration.html#log-level:

<img width="546" alt="image"
src="573f82c5-51f8-4e32-a85d-6895cc1b2041">


indeed the "maximum" should be off and the "minimum" should be all,
because:

>A log record will be logged by the logger if its level **(ed: its
refers to log)** is higher than or equal to the level of its logger.
Otherwise, the log record is ignored.

There is no value smaller than all that will result in all types of logs
being outputted.

### Checklist

Delete any items that are not applicable to this PR.

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
2024-04-19 08:45:59 +02:00
elena-shostak
6fc0d971dd
[csp] updated policy for form action in reporting mode (#179949)
## Summary

1. Added `Content-Security-Policy-Report-Only` header.
2. Set `form-action` to `self` in reporting mode.
3. Created [visualization for report only CSP
violation](f6bb1300-0bb7-11ee-adde-d5df298171dd?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:'2024-04-03T22:00:00.000Z',to:'2024-04-05T21:30:00.000Z'))).
Generated a couple of reports for testing, here is [telemetry
data](https://stack-telemetry.elastic.dev/s/kibana-platform-security/app/discover#/?_g=(filters:!(),time:(from:now-24h%2Fh,to:now))&_a=(columns:!(timestamp),filters:!(('$state':(store:appState),meta:(alias:'Expected%20CSP%20violation',disabled:!f,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',negate:!t,params:!((meta:(alias:!n,disabled:!f,field:effectiveDirective,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',key:effectiveDirective,negate:!f,params:(query:script-src-elem),type:phrase),query:(match_phrase:(effectiveDirective:script-src-elem))),(meta:(alias:!n,disabled:!f,field:blockedURL,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',key:blockedURL,negate:!f,params:(query:inline),type:phrase),query:(match_phrase:(blockedURL:inline))),('$state':(store:appState),meta:(alias:!n,disabled:!f,field:lineNumber,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',key:lineNumber,negate:!f,params:(query:'286'),type:phrase),query:(match_phrase:(lineNumber:'286')))),relation:AND,type:combined),query:())),index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',interval:auto,query:(language:kuery,query:'disposition%20:%20%22report%22%20'),sort:!(!(timestamp,desc)))).
4. Added `csp.report_only.form_action` field for additional csp policy
configuration.

### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)

### For maintainers

- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

__Fixes: https://github.com/elastic/kibana/issues/179220__

## Release note
Added `Content-Security-Policy-Report-Only` header support.
2024-04-10 22:39:58 +02:00
Tim Sullivan
982303882e
[Reporting] update logs and docs on headless browser connection (#179882)
## Summary

This resolves some issues we've seen over confusion on configuration and
refused access to Kibana while generating a PNG/PDF report.
2024-04-03 08:15:12 -07:00
Tim Sullivan
2ff5410161
[Reporting/CSV] Deprecate Download CSV, add a config flag to enable (#178159)
Closes https://github.com/elastic/kibana/issues/164104

## Summary

**Replace "Download CSV" with "Generate CSV report" to export a CSV file
from saved search panel, deprecate "Download CSV", use a config flag for
providing the deprecated feature.**

This PR uses the `xpack.reporting.csv.enablePanelActionDownload`
kibana.yml setting, which was previously unused, for choosing behavior
of CSV export in a Dashboard saved search panel, and sets the default
value to `false`. The options allow the user to download a CSV file
without creating a report (deprecated, support will be removed in the
future) or to generate a CSV report (default).

1. Use the config as a flag to switch between implementations:
    - downloading a CSV file without a generated report
    - generating a CSV report
2. Updated documentation
3. Refactored / cleaned up tests
4. Increased API test coverage in Serverless
5. Better error handling in
`packages/kbn-reporting/public/reporting_api_client.ts`

### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)

## Release Note
Kibana CSV Reporting offered a feature allowing users to download a CSV
file from a saved search panel in a dashboard, without having a report
generated. This feature is now deprecated. Now, when users need to
access saved search data from a dashboard panel as CSV, a normal report
will be generated. To access the deprecated functionality, you can add
`xpack.reporting.csv.enablePanelActionDownload: true` to kibana.yml, but
this ability will be removed in a future version of Kibana.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-03-22 18:28:09 -07:00
shainaraskas
a36a370878
[Docs] remove Kibana book-scoped variables (#178676)
## Summary

Removes book-scoped docs variable in preparation for eventual migration
to Docsmobile
2024-03-14 11:53:33 -04:00
Sid
88ddcc43e1
Update referrer policy default to a stricter value (#177559)
### Summary
Update the default value of
`server.securityResponseHeaders.referrerPolicy` to a stricter value:
`strict-origin-when-cross-origin`
2024-03-07 10:49:55 +01:00
Stef Nestor
4cc38e7025
(DOC+) Link Kibana Health Troubleshooting blog to related doc (#177907)
## Summary

👋 howdy, team! I would like to link our Kibana+Security+ResponseOps Dev
approved blog on [Troubleshooting Kibana
Health](https://www.elastic.co/blog/troubleshooting-kibana-health) to
the Kibana doc section about [Troubleshooting Kibana UI
error](https://www.elastic.co/guide/en/kibana/master/access.html#not-ready)
(as it was intended as the more verbose / commentary version of the
doc).


### Checklist

Delete any items that are not applicable to this PR.

### Risk Matrix


### For maintainers

- [X] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
2024-03-05 11:15:27 -07:00
Pierre Gayvallet
38a3b9675d
Add http.payloadTimeout config option (#177309)
## Summary

Fix https://github.com/elastic/kibana/issues/177138

- Add a `http.payloadTimeout` configuration option, to control the
payload timeout
- Set the default value for this option to `20s` (was `10s` previously)
2024-02-22 12:33:49 +01:00
David Kilfoyle
5937e6afd1
[DOCS] Add link to on-prem install tutorial (#176096)
This adds a link on the [Install
Kibana](https://www.elastic.co/guide/en/kibana/current/install.html)
page pointing to a new example walkthrough of the on-prem install steps.


![kib](d81c90e5-f854-44bf-8a1f-3a14e535a07e)
2024-02-05 10:22:15 -05:00
Alex S
96ada94723
Change POST to PUT and _security to security for API example (#173453)
## Summary

Just a small Doc Update. In the first example a POST was used and
towards a non existing handle (`_security` instead of `security`)

In the basic license example posted below this one, this is already
correct.

### Checklist

All checked - none applied. 
(Though first PR in this repository, I am sorry if any mistakes were
made. If so - please point them out, will do better next time 😅 )

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-01-03 15:07:21 +01:00
Jon
ee194d32a2
Revert "fix/142865/path.data config unused (#158426)" (#172951)
This reverts commit 86d2f58c09.

Forward port of https://github.com/elastic/kibana/pull/172943 targeting
8.13 and 8.12. See the linked pr for 8.11.3 release notes.

Closes https://github.com/elastic/kibana/issues/172919
2023-12-08 10:22:21 -06:00
Aleh Zasypkin
74210343a2
Allow using JWT credentials to grant API keys. (#172444)
## Summary

In this PR we:
* Allow using JWT credentials to grant API keys
* Extend default value of `elasticsearch.requestHeadersWhitelist` to
include both `authorization` and `es-client-authentication` to support
JWT with required client authentication _by default_. See
https://www.elastic.co/guide/en/elasticsearch/reference/8.11/jwt-auth-realm.html#jwt-realm-configuration
* Add API integration tests for both JWTs with client authentication and
without it


__NOTE:__ We're not gating this functionality with the config flag
(`xpack.security.authc.http.jwt.taggedRoutesOnly`) as we did for the
Serverless offering. It'd be a breaking change as we already implicitly
support JWT authentication without client authentication, and to be
honest, it's not really necessary anyway.

## Testing

Refer to the `Testing` section in this PR description:
https://github.com/elastic/kibana/pull/159117.

Or run already pre-configured Kibana functional test server: 
1. `node scripts/functional_tests_server.js --config
x-pack/test/security_api_integration/api_keys.config.ts`
2. Create a role mapping for JWT user:
```bash
curl -X POST --location "http://localhost:9220/_security/role_mapping/jwt" \
    -H "Authorization: Basic ZWxhc3RpYzpjaGFuZ2VtZQ==" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "{
          \"roles\": [ \"superuser\" ],
          \"enabled\": true,
          \"rules\": { \"all\": [{\"field\" : { \"realm.name\" : \"jwt_with_secret\" }}] }
        }"
```
3. Send any Kibana API request with the following credentials:
```bash
curl -X POST --location "xxxx"
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2tpYmFuYS5lbGFzdGljLmNvL2p3dC8iLCJzdWIiOiJlbGFzdGljLWFnZW50IiwiYXVkIjoiZWxhc3RpY3NlYXJjaCIsIm5hbWUiOiJFbGFzdGljIEFnZW50IiwiaWF0Ijo5NDY2ODQ4MDAsImV4cCI6NDA3MDkwODgwMH0.P7RHKZlLskS5DfVRqoVO4ivoIq9rXl2-GW6hhC9NvTSkwphYivcjpTVcyENZvxTTvJJNqcyx6rF3T-7otTTIHBOZIMhZauc5dob-sqcN_mT2htqm3BpSdlJlz60TBq6diOtlNhV212gQCEJMPZj0MNj7kZRj_GsECrTaU7FU0A3HAzkbdx15vQJMKZiFbbQCVI7-X2J0bZzQKIWfMHD-VgHFwOe6nomT-jbYIXtCBDd6fNj1zTKRl-_uzjVqNK-h8YW1h6tE4xvZmXyHQ1-9yNKZIWC7iEaPkBLaBKQulLU5MvW3AtVDUhzm6--5H1J85JH5QhRrnKYRon7ZW5q1AQ'
  -H 'ES-Client-Authentication: SharedSecret my_super_secret'

....for example....
curl -X GET --location "http://localhost:5620/internal/security/me" \
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2tpYmFuYS5lbGFzdGljLmNvL2p3dC8iLCJzdWIiOiJlbGFzdGljLWFnZW50IiwiYXVkIjoiZWxhc3RpY3NlYXJjaCIsIm5hbWUiOiJFbGFzdGljIEFnZW50IiwiaWF0Ijo5NDY2ODQ4MDAsImV4cCI6NDA3MDkwODgwMH0.P7RHKZlLskS5DfVRqoVO4ivoIq9rXl2-GW6hhC9NvTSkwphYivcjpTVcyENZvxTTvJJNqcyx6rF3T-7otTTIHBOZIMhZauc5dob-sqcN_mT2htqm3BpSdlJlz60TBq6diOtlNhV212gQCEJMPZj0MNj7kZRj_GsECrTaU7FU0A3HAzkbdx15vQJMKZiFbbQCVI7-X2J0bZzQKIWfMHD-VgHFwOe6nomT-jbYIXtCBDd6fNj1zTKRl-_uzjVqNK-h8YW1h6tE4xvZmXyHQ1-9yNKZIWC7iEaPkBLaBKQulLU5MvW3AtVDUhzm6--5H1J85JH5QhRrnKYRon7ZW5q1AQ' \
    -H 'ES-Client-Authentication: SharedSecret my_super_secret' \
    -H "Accept: application/json"
----
{
  "username": "elastic-agent",
  "roles": [
    "superuser"
  ],
  "full_name": null,
  "email": null,
  "metadata": {
    "jwt_claim_sub": "elastic-agent",
    "jwt_token_type": "access_token",
    "jwt_claim_iss": "https://kibana.elastic.co/jwt/",
    "jwt_claim_name": "Elastic Agent",
    "jwt_claim_aud": [
      "elasticsearch"
    ]
  },
  "enabled": true,
  "authentication_realm": {
    "name": "jwt_with_secret",
    "type": "jwt"
  },
  "lookup_realm": {
    "name": "jwt_with_secret",
    "type": "jwt"
  },
  "authentication_type": "realm",
  "authentication_provider": {
    "type": "http",
    "name": "__http__"
  },
  "elastic_cloud_user": false
}
```

__Fixes:__ https://github.com/elastic/kibana/issues/171522

----

Release note: The default value of the
`elasticsearch.requestHeadersWhitelist` configuration option has been
expanded to include the `es-client-authentication` HTTP header, in
addition to `authorization`.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-04 20:07:41 +01:00
Brad White
86d2f58c09
fix/142865/path.data config unused (#158426) 2023-11-28 16:16:47 -08:00
Gerard Soldevila
98b2cfbbb0
Enhance plugin documentation (#146678)
The PR tackles a couple of improvements for the new `'notifications'`
plugin documentation:

- Add a link to the plugin API description in the kibana-dev-docs nav
bar.
- Convert the README to `mdx`.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-28 20:58:46 +01:00
amyjtechwriter
0b0110a2dd
[DOCS] Linking reporting and sharing page with configure reporting page (#171977)
## Summary

Linking the "[Reporting and
Sharing](https://www.elastic.co/guide/en/kibana/current/reporting-settings-kb.html#reporting-advanced-settings)"
and the "[Configure
reporting](https://www.elastic.co/guide/en/kibana/current/secure-reporting.html)"
documentation pages to each other as they contain information that
relate to each page. Also contains a small formatting fix to a NOTE on
the Configure reporting page.

Closes: #169065
2023-11-28 11:08:01 +00:00
Sébastien Loix
192519d01f
[Cloud] Rename "Endpoints" to "Connection details" (#171982) 2023-11-27 15:58:42 +00:00
Fabio Busatto
ef67add16c
[DOCS] Clarify required privileges to create CSV reports when using index aliases (#170524)
## Summary

If a CSV export is performed on an index alias, it also requires read
access to underlying indices.
This PR adds a note in Kibana docs to make users aware of this
requirement.
2023-11-03 09:47:21 -07:00
Jon
8133f01ffc
Revert "[build/docker] Upgrade Ubuntu base image to 22.04 (#162282)" (#170430)
This reverts commit 9d139f6192.
2023-11-02 12:56:17 -05:00
James Rodewig
9caea77ee4
[DOCS] Deprecate rollups (#169670) 2023-10-25 16:51:49 -04:00
Jon
9d139f6192
[build/docker] Upgrade Ubuntu base image to 22.04 (#162282)
Release note:
The default container's base image has been upgraded from Ubuntu 20.04
to 22.04
2023-10-23 14:49:06 -05:00
Sébastien Loix
92a92fff67
[Cloud] ES endpoint discovery (#167122) 2023-09-28 04:20:53 -07:00