Commit graph

113 commits

Author SHA1 Message Date
Kaarina Tungseth 1ceb2e833c
[7.x] [DOCS] Adds additional index pattern attributes (#110287) 2021-08-26 11:37:39 -05:00
Kaarina Tungseth 7f7943f1e5
[DOCS] Adds index pattern attributes (#109933) 2021-08-26 11:06:44 -05:00
Lisa Cawley 16009ccd5c
[DOCS] Remove redundant attributes (#107585) 2021-08-04 08:30:27 -07:00
James Rodewig 6aa5625343
[DOCS] Update Docker run instructions (#99340) (#99362)
Co-authored-by: Kaarina Tungseth <kaarina.tungseth@elastic.co>
# Conflicts:
#	docs/index.asciidoc
2021-05-05 08:55:28 -07:00
KOTungseth d1039be311 [DOCS] Adds the release notes and breaking changes from previous releases 2021-04-08 11:58:52 -05:00
Kaarina Tungseth 057a85c0be
[7.x] [DOCS] Adds the 7.12.0 Release notes (#94761) (#95111)
* [DOCS] Adds the 7.12.0 Release notes

* Update docs/CHANGELOG.asciidoc

Co-authored-by: Larry Gregory <lgregorydev@gmail.com>

* Update docs/CHANGELOG.asciidoc

Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>

* Adds 93427 bug fix and CCS breaking change

* Specifies Discoer in breaking change

* Fixes redirects

Co-authored-by: Larry Gregory <lgregorydev@gmail.com>
Co-authored-by: Rudolf Meijering <skaapgif@gmail.com>
2021-03-22 16:54:21 -05:00
Lisa Cawley 2762592fa2
[DOCS] Fixes documentation version (#93101) (#93110) 2021-03-01 12:48:31 -08:00
Kaarina Tungseth f3175cccab
[DOCS] Updates reporting and Canvas share options (#92529) (#92652)
* [DOCS] Updates reporting and Canvas share options

* Update docs/canvas/canvas-share-workpad.asciidoc

Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>

* Resizes images and minor text edits

* Updates dashboard embed content

Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>

Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>
2021-02-24 11:28:05 -05:00
Kaarina Tungseth 000cf368ba
[DOCS] Fixes the version file (#89220) (#89230) 2021-01-25 15:37:53 -06:00
Kaarina Tungseth 94eb7a580c
[7.x] [DOCS] Dashboard docs refresh for 7.11 (#85342) (#88883)
* [DOCS] Dashboard docs refresh for 7.11 (#85342)

* [DOCS] 7.11 Dashboard docs refresh

* [Lens] end to end guide

* Fixes to writer errors

* Fixes errors

* Fixes error

* errors

* small corrections in e2e

* Introduction, CSV download, and end-to-end guide

* End-to-end guide

* End-to-end guide and intro

* Fixes broken external links

* Update docs/user/dashboard/dashboard.asciidoc

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>

* Update docs/user/dashboard/dashboard.asciidoc

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>

* Update docs/user/dashboard/dashboard.asciidoc

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>

* Update docs/user/dashboard/lens-end-to-end/lens-end-to-end.asciidoc

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>

* Update docs/user/dashboard/lens-end-to-end/lens-end-to-end.asciidoc

Co-authored-by: Marta Bondyra <marta.bondyra@gmail.com>

* Update docs/user/dashboard/lens-end-to-end/lens-end-to-end.asciidoc

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>

* Update docs/user/dashboard/lens-end-to-end/lens-end-to-end.asciidoc

Co-authored-by: Marta Bondyra <marta.bondyra@gmail.com>

* Review comments

* Review comments and Vega

* Vega tutorials

* Timelion changes

* Bug fixes and clean up

* Introduction

* Clean up

* Link fixes

* Broken links

* Fixes Timelion link

* Minor intro changes

* Fixes Timelion link

* Vega changes

* Add reference content, and move Lens docs to their own page

* Update from review

* Review comments

* Link fixes

* Clean up

Co-authored-by: Marta Bondyra <marta.bondyra@elastic.co>
Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>
Co-authored-by: Marta Bondyra <marta.bondyra@gmail.com>

* Fixes to conflicts, images, and Vega

Co-authored-by: Marta Bondyra <marta.bondyra@elastic.co>
Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>
Co-authored-by: Marta Bondyra <marta.bondyra@gmail.com>
2021-01-25 13:41:40 -06:00
Kaarina Tungseth db21b380b1
[DOCS] Reallocates limitations to point-of-use (#79582) (#83825)
* [DOCS] Reallocates limitations to point-of-use

* KQL changes

* Removed limitations file

* Review comments
2020-11-19 11:06:24 -06:00
Lisa Cawley c219e405ad
[7.x] [DOCS] Adds kibana-pull attribute for release docs (#69554) (#69574) 2020-06-23 09:22:30 -07:00
Lisa Cawley 5a33bbe0cf
[DOCS] Fixes URL in Whats New (#68972) 2020-06-11 15:37:17 -07:00
Lisa Cawley 5c916a5124
[7.x][DOCS] Adds Whats New and removes release highlights (#68959) 2020-06-11 14:51:27 -07:00
Lisa Cawley bf6fbf5105
[DOCS] Replace docdir attribute with kib-repo-dir (#67907) (#67910) 2020-06-01 15:51:19 -07:00
Michail Yasonik e5bbc8d4ad
[7.x] Adding the Accessibility Statement to docs (#57153) (#57386)
* adding accessibility statement to docs
2020-02-11 17:52:02 -05:00
Lisa Cawley aff236ebd6
[7.x][DOCS] Adds user folder (#45449) 2019-09-11 13:30:52 -07:00
Lisa Cawley 6b2c86368f
[DOCS] Creates developer folder (#45280) (#45319) 2019-09-10 17:39:34 -07:00
Lisa Cawley a9d275d8d8
[DOCS] Updates location of version attribute for Kibana Guide (#45084) 2019-09-06 16:13:38 -07:00
Lisa Cawley 49c13020ca
[DOCS] Create developer guide part (#44954) (#45066) 2019-09-06 15:53:04 -07:00
Lisa Cawley 2491e92bef
[DOCS] Change title of Kibana book (#44957) (#45022) 2019-09-06 10:40:36 -07:00
Lisa Cawley 20c4abe0dc
[DOCS] Updates version attributes for 7.x (#44400) 2019-08-29 12:02:25 -07:00
gchaps cbd17632a4
[DOCS] [7.4] Updates dashboard only docs (#42775)
* [DOCS] Updates dashboard only docs

* [DOCS] Adds deprecation notice to dashboard-only mode docs
2019-08-07 14:24:34 -07:00
KOTungseth 181f5b994b [DOCS] Moved Timelion content under Visualize section 2019-07-16 11:05:21 -05:00
Lisa Cawley fe7707392e
[DOCS] Updates version attributes (#40190) 2019-07-03 09:50:01 -07:00
Karen Metts ee92c7e22d
Add docs for siem app 7.x (#39116) 2019-06-17 16:54:24 -04:00
chongzhe 2c1dc3b675
[Code] initial commit for Code doc (#38521) (#38625) 2019-06-10 16:22:51 -07:00
Lisa Cawley c87d9f0fe5
[DOCS] Updates version attributes (#36931) 2019-05-22 14:04:43 -07:00
Lisa Cawley 4bd0743549
[DOCS] Updates version attributes for 7.x (#35899) 2019-05-02 08:58:17 -07:00
Justin Kambic 67deee1aab
[Uptime] Add first draft of uptime docs (#31814) (#33727)
* Add first draft of uptime docs.

* Add first draft of uptime docs.

* Implement PR feedback.

* Add role info to uptime docs

* Impelement some more PR feedback.

* Attempt to add more copy focusing on the 'why' of each piece of the docs.

* uptime docs: grammar, formatting, order

* move location of uptime docs

* Implement more PR feedback.

* Add screenshots.
2019-03-25 18:01:19 -04:00
Nathan Reese c44dcb0f05
[Maps] docs (#32130) (#32414)
* [Maps] docs

* unique ids

* use hyphen instead of underscore in file names

* get everything working

* add screen shots of layer types

* add sources to layer documentation

* terms join example

* vector styling

* clean up

* link to geo_point for grid agg source

* minor clean up

* review feedback

* Update docs/maps/index.asciidoc

Co-Authored-By: nreese <reese.nathan@gmail.com>

* Update docs/maps/heatmap-layer.asciidoc

Co-Authored-By: nreese <reese.nathan@gmail.com>

* Update docs/maps/heatmap-layer.asciidoc

Co-Authored-By: nreese <reese.nathan@gmail.com>

* Update docs/maps/heatmap-layer.asciidoc

Co-Authored-By: nreese <reese.nathan@gmail.com>

* rest of changes suggested by gchaps

* update terms join intro
2019-03-04 13:45:37 -07:00
Lisa Cawley 2ea047a300
[DOCS] Fixes shared versions file (#31511) 2019-02-19 11:30:25 -08:00
Lisa Cawley 8bd46e6f5b
[DOCS] Removes X-Pack settings section (#30554) (#30662) 2019-02-11 09:50:20 -08:00
Karen Metts 393fa6a0b9
Add infrastructure and logs doc (#25407) 2018-11-15 14:05:04 -05:00
Lisa Cawley 72ac1a9b8b
[DOCS] Clarify security requirements for monitoring (#24881) 2018-11-08 12:03:48 -08:00
gchaps eb923430ae
[DOCS] Adds early draft of Canvas docs (#25395)
* [DOCS] Adds early draft of Canvas docs

* [DOCS] Added images and beta label to Canvas docs
2018-11-08 11:50:51 -08:00
Lisa Cawley 3a9deb0850
[DOCS] Update Kibana monitoring tasks (#23736) 2018-10-04 11:31:15 -07:00
Larry Gregory 1f38026731
Spaces Phase 1 (#21408)
### Review notes
This is generally ready for review. We are awaiting https://github.com/elastic/elasticsearch/issues/32777 to improve handling when users do not have any access to Kibana, but this should not hold up the overall review for this PR.

This PR is massive, there's no denying that. Here's what to focus on:
1) `x-pack/plugins/spaces`: This is, well, the Spaces plugin. Everything in here is brand new. The server code is arguably more important, but feel free to review whatever you see fit.
2) `x-pack/plugins/security`: There are large and significant changes here to allow Spaces to be securable. To save a bit of time, you are free to ignore changes in `x-pack/plugins/security/public`: These are the UI changes for the role management screen, which were previously reviewed by both us and the design team.
3) `x-pack/test/saved_object_api_integration` and `x-pack/test/spaces_api_integration`: These are the API test suites which verify functionality for:
     a) Both security and spaces enabled
     b) Only security enabled
     c) Only spaces enabled

What to ignore:
1) As mentioned above, you are free to ignore changes in `x-pack/plugins/security/public`
2) Changes to `kibana/src/server/*`: These changes are part of a [different PR that we're targeting against master](https://github.com/elastic/kibana/pull/23378) for easier review.

## Saved Objects Client Extensions
A bulk of the changes to the saved objects service are in the namespaces PR, but we have a couple of important changes included here.

### Priority Queue for wrappers
We have implemented a priority queue which allows plugins to specify the order in which their SOC wrapper should be applied: `kibana/src/server/saved_objects/service/lib/priority_collection.ts`. We are leveraging this to ensure that both the security SOC wrapper and the spaces SOC wrapper are applied in the correct order (more details below).

### Spaces SOC Wrapper
This wrapper is very simple, and it is only responsible for two things:
1) Prevent users from interacting with any `space` objects (use the Spaces client instead, described below)
2) Provide a `namespace` to the underlying Saved Objects Client, and ensure that no other wrappers/callers have provided a namespace. In order to accomplish this, the Spaces wrapper uses the priority queue to ensure that it is the last wrapper invoked before calling the underlying client.

### Security SOC Wrapper
This wrapper is responsible for performing authorization checks. It uses the priority queue to ensure that it is the first wrapper invoked. To say another way, if the authorization checks fail, then no other wrappers will be called, and the base client will not be called either. This wrapper authorizes users in one of two ways: RBAC or Legacy. More details on this are below.


### Examples:
`GET /s/marketing/api/saved_objects/index-pattern/foo`

**When both Security and Spaces are enabled:**
1) Saved objects API retrieves an instance of the SOC via `savedObjects.getScopedClient()`, and invokes its `get` function
2) The Security wrapper is invoked.
    a) Authorization checks are performed to ensure user can access this particular saved object at this space.
3) The Spaces wrapper is invoked.
   a) Spaces applies a `namespace` to be used by the underlying client
4) The underlying client/repository are invoked to retrieve the object from ES.

**When only Spaces are enabled:**
1) Saved objects API retrieves an instance of the SOC via `savedObjects.getScopedClient()`, and invokes its `get` function
2) The Spaces wrapper is invoked.
   a) Spaces applies a `namespace` to be used by the underlying client
3) The underlying client/repository are invoked to retrieve the object from ES.

**When only Security is enabled:**
(assume `/s/marketing` is no longer part of the request)
1) Saved objects API retrieves an instance of the SOC via `savedObjects.getScopedClient()`, and invokes its `get` function
2) The Security wrapper is invoked.
   a) Authorization checks are performed to ensure user can access this particular saved object globally.
3) The underlying client/repository are invoked to retrieve the object from ES.

## Authorization
Authorization changes for this project are centered around Saved Objects, and builds on the work introduced in RBAC Phase 1.

### Saved objects client
#### Security without spaces
When security is enabled, but spaces is disabled, then the authorization model behaves the same way as before: If the user is taking advantage of Kibana Privileges, then we check their privileges "globally" before proceeding. A "global" privilege check specifies `resources: ['*']` when calling the [ES _has_privileges api.](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges.html). Legacy users (non-rbac) will continue to use the underlying index privileges for authorization.

#### Security with spaces
When both plugins are enabled, then the authorization model becomes more fine-tuned. Rather than checking privileges globally, the privileges are checked against a specific resource that matches the user's active space. In order to accomplish this, the Security plugin needs to know if Spaces is enabled, and if so, it needs to ask Spaces for the user's active space. The subsequent call to the `ES _has_privileges api` would use `resources: ['space:marketing']` to verify that the user is authorized at the `marketing` space. Legacy users (non-rbac) will continue to use the underlying index privileges for authorization. **NOTE** The legacy behavior implies that those users will have access to all spaces. The read/write restrictions are still enforced, but there is no way to restrict access to a specific space for legacy auth users.

#### Spaces without security
No authorization performed. Everyone can access everything.

### Spaces client
Spaces, when enabled, prevents saved objects of type `space` from being CRUD'd via the Saved Objects Client. Instead, the only "approved" way to work with these objects is through the new Spaces client (`kibana/x-pack/plugins/spaces/lib/spaces_client.ts`).

When security is enabled, the Spaces client performs its own set of authorization checks before allowing the request to proceed. The Spaces client knows which authorization checks need to happen for a particular request, but it doesn't know _how_ to check privileges. To accomplish this, the spaces client will delegate the check security's authorization service.

#### FAQ: Why oh why can't you used the Saved Objects Client instead!?
That's a great question! We did this primarily to simplify the authorization model (at least for our initial release). Accessing regular saved objects follows a predictible authorization pattern (described above). Spaces themselves inform the authorization model, and this interplay would have greatly increased the complexity. We are brainstorming ideas to obselete the Spaces client in favor of using the Saved Objects Client everywhere, but that's certainly out of scope for this release.



## Test Coverage
### Saved Objects API
A bulk of the changes to enable spaces are centered around saved objects, so we have spent a majority of our time automating tests against the saved objects api.

**`x-pack/test/saved_object_api_integration/`** contains the test suites for the saved objects api. There is a `common/suites` subfolder which contains a bulk of the test logic. The suites defined here are used in the following test configurations:
1) Spaces only: `./spaces_only`
2) Security and spaces: `./security_and_spaces`
3) Security only: `./security_only`

Each of these test configurations will start up ES/Kibana with the appropriate license and plugin set. Each set runs through the entire test suite described in `common/suites`. Each test with in each suite is run multiple times with different inputs, to test the various permutations of authentication, authorization type (legacy vs RBAC), space-level privileges, and the user's active space.  

### Spaces API
Spaces provides an experimental public API.

**`x-pack/test/spaces_api_integration`** contains the test suites for the Spaces API. Similar to the Saved Objects API tests described above, there is a `common/suites` folder which contains a bulk of the test logic. The suites defined here are used in the following test configurations:
1) Spaces only: `./spaces_only`
2) Security and spaces: `./security_and_spaces`


### Role Management UI
We did not provide any new functional UI tests for role management, but the existing suite was updated to accomidate the screen rewrite.

We do have a decent suite of jest unit tests for the various components that make up the new role management screen. They're nested within `kibana/x-pack/plugins/security/public/views/management/edit_role`

### Spaces Management UI
We did not provide any new functional UI tests for spaces management, but the components that make up the screens are well-tested, and can be found within `kibana/x-pack/plugins/spaces/public/views/management/edit_space`

### Spaces Functional UI Tests
There are a couple of UI tests that verify _basic_ functionality. They assert that a user can login, select a space, and then choose a different space once inside: `kibana/x-pack/test/functional/apps/spaces`



## Reference

Notable child PRs are listed below for easier digesting. Note that some of these PRs are built on other PRs, so the deltas in the links below may be outdated. Cross reference with this PR when in doubt.

### UI
- Reactify Role Management Screen: https://github.com/elastic/kibana/pull/19035
- Space Aware Privileges UI: https://github.com/elastic/kibana/pull/21049
- Space Selector (in Kibana Nav): https://github.com/elastic/kibana/pull/19497
- Recently viewed Widget: https://github.com/elastic/kibana/pull/22492
- Support Space rename/delete: https://github.com/elastic/kibana/pull/22586

### Saved Objects Client
- ~~Space Aware Saved Objects: https://github.com/elastic/kibana/pull/18862~~
- ~~Add Space ID to document id: https://github.com/elastic/kibana/pull/21372~~
- Saved object namespaces (supercedes #18862 and #21372):  https://github.com/elastic/kibana/pull/22357
- Securing saved objects: https://github.com/elastic/kibana/pull/21995
- Dedicated Spaces client (w/ security): https://github.com/elastic/kibana/pull/21995

### Other
- Public Spaces API (experimental): https://github.com/elastic/kibana/pull/22501
- Telemetry: https://github.com/elastic/kibana/pull/20581
- Reporting: https://github.com/elastic/kibana/pull/21457
- Spencer's original Spaces work: https://github.com/elastic/kibana/pull/18664
- Expose `spaceId` to "Add Data" tutorials: https://github.com/elastic/kibana/pull/22760

Closes #18948 

"Release Note: Create spaces within Kibana to organize dashboards, visualizations, and other saved objects. Secure access to each space when X-Pack Security is enabled"
2018-10-01 07:09:33 -04:00
Lisa Cawley 8ed6084db9
[DOCS] Synchronize location of Breaking Changes (#22939) 2018-09-12 09:19:38 -07:00
Lisa Cawley 49c175afe0
[DOCS] Clarified X-Pack features in trial (#20271) 2018-06-27 11:12:58 -07:00
lcawl 2cf9a88dc5 [DOCS] Remove xkb-repo-dir attribute 2018-05-30 10:21:51 -07:00
Lisa Cawley 4b5eefeb4d
[DOCS] Moves monitoring folder to docs (#19516) 2018-05-30 09:43:38 -07:00
Court Ewing 5abc2dc738
Documentation for Saved Objects API (#19513)
* Adds documentation for Saved Objects API

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>

* [DOCS] Moved Rest APIs in navigation

* docs: revise rest api intro

* docs: revise create object api details

* docs: revise saved object api intro

* docs: revise delete saved object api details

* docs: remove newline character from api response

* docs: get saved object api details

* docs: update saved object api details

* docs: fix title attribute in saved object api examples

* docs: bulk-get saved object api details

* docs: find saved object api details

* docs: add index-pattern to valid types in api

* docs: clarify sending multiple values in api

* docs: note that savedObjects.find is not safe for export
2018-05-30 12:27:48 -04:00
Lisa Cawley 8a2cdaedcd
[DOCS] Moves security folder to docs folder (#19514) 2018-05-30 07:37:20 -07:00
Lisa Cawley 4e95a8a162
[DOCS] Moves upgrade-assistant folder to docs (#19523) 2018-05-29 22:58:54 -07:00
Lisa Cawley d6040dc5b0
[DOCS] Moves setup folder to docs (#19525) 2018-05-29 22:45:19 -07:00
Lisa Cawley a13377034a
[DOCS] Creates dev-tools folder (#19528) 2018-05-29 22:37:51 -07:00
Lisa Cawley 1a70477ca8
[DOCS] Move watcher-ui folder to docs (#19529) 2018-05-29 22:29:49 -07:00
Lisa Cawley fee60ecbd4
[DOCS] Moves graph folder to docs (#19530) 2018-05-29 22:21:01 -07:00
Lisa Cawley 31c5065156
[DOCS] Moves settings folder to docs (#19521) 2018-05-29 17:27:25 -07:00