Commit Graph

575 Commits

Author SHA1 Message Date
Adam Locke 73e3b6050f
[DOCS] Steps for updating TLS certificates (#73781)
* [DOCS] Steps for updating TLS certificates

* Updates for changing CA

* Updates for rotating certs with a new CA

* Add instructions for generating HTTP certs with a new CA

* Add steps for creating HTTP certs with new CA

* Clarify note about cluser restart and other edits

* Clarifying scenarios

* Apply suggestions from code review

Co-authored-by: Ioannis Kakavas <ikakavas@protonmail.com>

* Incorporating review feedback and making necessary changes

* Clarifications and changes regarding restarts

* Remove errant --pem in basic security setup

* Incorporate suggestions from code review

Co-authored-by: Ioannis Kakavas <ikakavas@protonmail.com>

* Many, many updates. But good ones.

* Add languages for snippets

* Reorder steps to reference rolling restart throughout for consistency

* Add clarifying what's next steps

* Add instructions for updating Kibana certificate

* Apply suggestions from Ioannis' stellar code review

Co-authored-by: Ioannis Kakavas <ikakavas@protonmail.com>

* Update instructions to use a single keystore, plus other review changes

* Incorporating another round of review comments

* Minor updates from reviewer feedback

* Clarifying examples and fixing numbering

* Skip tests that are creating unnecessary noise

* Quieting other tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Ioannis Kakavas <ikakavas@protonmail.com>
2021-07-28 14:53:49 -04:00
Alexander Reelsen 25c5707c60
[DOCS] Fix Watcher chapter title (#75220)
Simplifies the Watcher chapter's title to "Watcher."

Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
2021-07-22 13:27:05 -04:00
Adam Locke b5f3e1d1f5
[DOCS] Clarify usage of the enroll Kibana API (#75348)
* [DOCS] Clarify usage of the enroll Kibana API

I had a discussion with @bytebilly about whether users will call the enroll Kibana API on their own, or if it's only intended for internal use. It seems that only Kibana uses this API to verify the enrollment token from Elasticsearch, so I'm adding a note to indicate this usage, along with some explanatory information about when Kibana calls this API.

* Incorporate changes from review feedback
2021-07-15 10:34:00 -04:00
Adam Locke ba8d83a567
[DOCS] Clarify API key format for create API key (#75076)
* [DOCS] Clarify API key format for create API key

* Removing unnecessary NOTCONSOLE

* Clarifying information about UTF-8 format

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-07-13 10:28:35 -04:00
Yang Wang 265f7833cc
[Doc] Update security limit for search with DLS/FLS (#74725)
Shard level request cache is now generally supported after #70191
This PR updates the security limitation to state the effect.
2021-07-06 23:01:18 +10:00
James Rodewig 3d1cb4944d
[DOCS] Overhaul search template docs (#72583)
Changes:

* Adds a tutorial for search templates.
* Adds reference docs for the render search template API.
* Improves parameter documentation for the multi search template API.
* Removes duplicate examples from the search template API, multi search API, and create stored script API docs.
* Splits the source files for the search template API and the multi search template API docs.
2021-06-30 16:03:49 -04:00
Adam Locke 88330250a7
[DOCS] Remove beta label for most service accounts docs (#74555)
* [DOCS] Remove beta label for most service accounts docs

* Remove beta label from additional service account files

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-06-24 11:57:05 -04:00
Adam Locke aa132059ba
[DOCS] Tidying for the enroll Kibana API (#74552)
* [DOCS] Tidying for the enroll Kibana API

* Add clarification on security APIs page for enroll Kibana
2021-06-24 07:25:54 -04:00
Ioannis Kakavas 74932503a6
Enroll Node API doesn't return a cluster name (#74514)
During implementation we discovered that the clusters should not
necessarily have a unique name and thus we don't need to convey
this information in the response of the Enroll Node API.
2021-06-24 11:27:04 +03:00
Ioannis Kakavas 82e7fbda53
Add the Enroll Kibana API (#72207)
This change adds the Enroll Kibana API that enables a Kibana instance to
configure itself to communicate with a secured elasticsearch cluster
2021-06-23 22:58:46 +03:00
Yang Wang 7257dc6973
Deprecate camelCase parameters used by SAML APIs (#73984)
Both SAML complete logout and SAML invalidate session APIs use a camelCase
request parameter, queryString, while the convention is to use snake_case
parameters. This PR deprecates queryString and replaces it with query_string.
It is an error to if a request specifies both of them.
2021-06-23 18:03:08 +10:00
DeDe Morton 03de065c45
Remove Beats central management (#74384) 2021-06-22 10:26:42 -07:00
Lisa Cawley 68c33dc713
[DOCS] Add get user privileges API (#73016) 2021-06-22 08:16:21 -07:00
Adam Locke 5700903da1
[DOCS] Service account edits (#73732)
* Put all service accounts information on one page

* De-emphasize connection with built-in accounts + edits

* Iterate on the docs: tweak, correction and more details.

* fix test

* Edits and minor text changes

Co-authored-by: Yang Wang <yang.wang@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-06-15 09:11:46 -04:00
James Rodewig 902adac191
[DOCS] Add tip for Kibana anonymous authentication (#73858)
You shouldn't use Elasticsearch's anonymous access to provide access to Kibana
without requiring credentials. Instead, you should use Kibana's anonymous
authentication feature. However, the Elasticsearch anonymous access tends to be
more popular in search results.

This adds a brief tip that directs users to Kibana's anonymous authentication
feature.

Closes #73022
2021-06-08 08:19:20 -04:00
Tim Vernum d58fe5159c
[DOCS] Add notes on SSL version by JDK version (#73401)
Recent JDK releases have disabled TLS v1.0 and TLS v1.1 by default

See
 - https://java.com/en/jre-jdk-cryptoroadmap.html
 - https://bugs.openjdk.java.net/browse/JDK-8202343

This change adds documentation clarifying which TLS versions are
supported on which JDKs (in general terms, rather than specific builds)
and how to change the configuration if necessary.

Co-authored-by: Adam Locke <adam.locke@elastic.co>
2021-06-02 17:33:33 +10:00
Yang Wang 4b2cbb4935
Service Accounts - audit for security config change (#72555)
Add security_config_change auditing for create and delete index-based
service account tokens.
2021-05-31 22:59:45 +10:00
Yang Wang da3d72c724
Add docs and rest api spec for saml complete logout API (#72867)
This PR adds the documentation and Rest API spec file for the SAML complete
logout API. It is a (overdued) follow up for #56316
2021-05-31 11:28:16 +10:00
James Rodewig d405d99b3e
[DOCS] Fix typo (#73337) (#73474)
Co-authored-by: Li-Heng Yu <007seadog@gmail.com>
2021-05-27 10:23:18 -04:00
James Rodewig cd152142c4
[DOCS] Update alias security for data stream aliases (#73436)
In 7.14+, you can create data stream aliases. This updates the related security documentation. It also streamlines the docs to remove redundant examples.
2021-05-27 09:29:44 -04:00
Yang Wang 8dbec280b3
[Docs] Add metadata to GrantApiKey rest api page (#73451)
This PR adds the missing doc update to the grant api key rest api page
for the new API key metadata field added by #70292

Relates: #48182
2021-05-27 20:59:23 +10:00
Yang Wang 06e9fa557e
Service Accounts - add service token type to audit log (#73399)
Add authentication.token.type to audit log. This is to complement the
authentication.token.name field added by #72198. The log is now unambiguous
about exactly where the service token is from. It also helps if we decide to
log additional information for other types of tokens in future.

Relates: #73135, #72198
2021-05-27 10:15:29 +10:00
Adam Locke 4e73d2af10
[DOCS] Make audit event types more readable (#73352)
* [DOCS] Changing event table to a list for easier viewing

* Make audit event types more readable

* Adding system_access_granted user and cross-links

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-05-26 16:57:05 -04:00
James Rodewig 39a0314d30
[DOCS] Update alias xrefs (#73380)
Updates several internal 'alias' xrefs to point to the aliases guide rather than
API docs.
2021-05-25 16:19:00 -04:00
Adam Locke 13b8715a56
[DOCS] Adding redirect for cross-link from Cloud (#73351) (#73383) 2021-05-25 15:07:35 -04:00
Yang Wang 95fe9c7fd4
Service Accounts - audit logging for service token name (#72198)
Multiple service tokens can be created for the same service account. Each token
has a name to uniquely identify itself. This PR ensures the token name is
logged for audit events of authentication_success, authentication_failed (when
applicable), access_granted and access_denied.
2021-05-25 16:42:16 +10:00
Adam Locke aa66724d1c
[DOCS] Add redirects for Cloud pages to SAML and OIDC docs (#73343) (#73348) 2021-05-24 17:43:46 -04:00
James Rodewig d9b39d377e
[DOCS] Fix typo (#73137) (#73150)
Co-authored-by: Ernesto Reig <ernesto.reig@gmail.com>
2021-05-17 09:49:41 -04:00
James Rodewig 8ec893a425
[DOCS] Change field alias anchor (#73043) 2021-05-13 09:32:36 -04:00
Yang Wang 576fe750de
Service Accounts - add beta version documentation (#71729)
* wip

* Service Accounts - add beta documentation

* consistent names

* fix test

* Update service accounts overview and token creation files.

* Rename get service tokens to get service credentials

* fix tests

* Changes for create and get service tokens.

* Changes for get token creds, delete token, clear token cache, and token auth.

* add manage_service_account privilege to list

* List service accounts APIs

* Move xpack setting to Security API page, plus other cleanup.

* Shorten secret tokens in examples, add cross links, plus other cleanup.

* Clarifying parameter descriptions.

* Clarify language for authenticating with a token.

* Tweaks

* Typo fix

* Adding redirects to work around CI build checks

* Revert "Adding redirects to work around CI build checks"

This reverts commit 20a1b53591.

* Remove redirects that were implemented to satisfy CI checks in master branch

* Move note about not supporting basic auth

* Clarify what service accounts are specifically for

* Apply suggestions from code review

Co-authored-by: Tim Vernum <tim@adjective.org>

* Addressing review feedback

* tweak

* Improve doc tests

* fix test

Co-authored-by: Adam Locke <adam.locke@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Tim Vernum <tim@adjective.org>
2021-05-13 07:55:42 -04:00
Adam Locke 785ce7edb8
[DOCS] Add missing SSL settings for Metricbeat (#72987) 2021-05-12 12:43:21 -04:00
Ioannis Kakavas b826703e21
Enroll node API (#72129)
Enroll node API can be used by new nodes in order to join an
existing cluster that has security features enabled. The response
of a call to this API contains all the necessary information that
the new node requires in order to configure itself and bootstrap
trust with the existing cluster.
2021-05-12 08:45:02 +03:00
Adam Locke 29e32828bd
[DOCS] Use same certificate on every node (#72900)
* [DOCS] Use same certificate on every node

* Incorporate review feedback

Co-authored-by: Tim Vernum <tim@adjective.org>

Co-authored-by: Tim Vernum <tim@adjective.org>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-05-11 10:17:57 -04:00
Adam Locke 66c77d9ae8
[DOC] Clarify usage of elastic user for Kibana (#72499)
* [DOC] Clarify usage of elastic user for Kibana

* Change URL to http

Co-authored-by: Yang Wang <ywangd@gmail.com>

* Clarify use of the kibana_system user

Co-authored-by: Yang Wang <ywangd@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-04-30 14:03:26 -04:00
Fabio Busatto d32e9c9fb8
Add documentation for new built-in roles (#72146) 2021-04-30 18:06:26 +02:00
Adam Locke e686884905
[DOCS] Clarify that setup passwords utility should be run once per cluster (#72507) 2021-04-30 10:06:35 -04:00
Adam Locke 4bcebbcb19
[DOCS] removing old security files no longer used (#72496) 2021-04-29 13:57:10 -04:00
Tim Vernum 02d00ee1ee
[DOCS] Use kibana_system when setting up Kibana security (#72433)
The `kibana_system` user is specifically intended for use within
Kibana, and has access to all the privileges that are needed or useful
to Kibana. We should advise admins to use that user (rather than
`elastic`) when they set up Kibana for the first time.

Recommending `elastic` puts this at odds with the Kibana setup docs,
and increases the security risk for customers, yet provides no
substantial benefit (other than having a single password to deal with).
2021-04-29 09:16:34 -04:00
Yang Wang 4bd5647fd2
Expose API Key metadata to SetSecurityUser ingest processor (#72137)
This PR ensures SetSecurityUserProcessor adds the API key metadata
inside the existing api_key object if the metadata is not null or empty.
2021-04-29 14:47:36 +10:00
James Rodewig 97054d6570
[DOCS] Replace 'log into' with 'log in to' (#72324) 2021-04-27 15:27:22 -04:00
Brandon Morelli a97f2415be
docs: apm_user deprecation notice (#72279) 2021-04-27 08:49:48 -07:00
Julie Tibshirani fdf254335f
Remove more references to query_and_fetch. (#71988)
This search type was deleted several releases ago.
2021-04-23 09:19:57 -07:00
Adam Locke 1f2e54be1b
[DOCS] Add stronger and clearer language about single-node security (#71857)
* [DOCS] Add stronger and clearer language about single-node security

* Clarifying admonition about minimal security being insufficient for production.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2021-04-21 10:24:46 -04:00
Yang Wang 1cb605e05d
Always add file and native realms unless explicitly disabled (#69096)
This PR makes sure that the file and native realms are always added to the
beginning of the realm chain unless explicitly disabled.

Currently, they are only impliciltly added when:
* No other realms are configured
* No configured realms can be used with current license (so an expired license
  can fallback to these basic realms)

A side effect (intended?) is that file and native realm cannot be truely
disabled at all time because the above two rules always apply regardless
whether the realms are disabled or not.

This PR makes the behaviour more explicit. If the file or native realm is
explicitly disabled, it will be disabled at all time. If they are not
explicitly disabled, they will always be added to the beginning of the realm
chain. Two scenarios are possible:

* File or native realm is explicitly configured. In this case, their order
  value must be provided and honoured
* File or native realm is not configured. In this case, they are implicitly
  added to the beginning of the realm chain (file then native).
2021-04-13 16:31:38 +10:00
Adam Locke 2c050ef4bb
[DOCS] Adding note about TLS-related files. (#71255) 2021-04-05 12:54:31 -04:00
James Rodewig f41320616c
[DOCS] Refactor data stream setup tutorial (#71074) 2021-03-31 17:28:55 -04:00
James Rodewig 693807a6d3
[DOCS] Fix double spaces (#71082) 2021-03-31 09:57:47 -04:00
Yang Wang bceb5fb715
Service Accounts - Fleet integration (#70724)
This PR implements rest of the pieces needed for Fleet integration, including:

* Get service account role descriptor for authorization
* API for creating service account token and storing in the security index
* API for list tokens for a service account
* New named privilege for manage service account
* Mandate HTTP TLS for both service account auth and service account related
  APIs
* Tests for API key related operations using service account
2021-03-31 16:06:32 +11:00
Yang Wang 3725cb53da
Support metadata on API keys (#70292)
This PR adds metadata support for API keys. Metadata are of type 
Map<String, Object> and can be optionally provided at API key creation time.
It is returned as part of GetApiKey response. It is also stored as part of 
the authentication object to transfer throw the wire.
Note that it is not yet searchable and not exposed to any ingest processors.
They will be handled by separate PRs.
2021-03-29 09:23:30 +11:00
James Rodewig 493741dd7f
[DOCS] Remove docs for rollup refactor (#70885) 2021-03-26 09:03:00 -04:00