OpenSearch/x-pack
Tim Vernum 387c3c7f1d Introduce Application Privileges with support for Kibana RBAC (#32309)
This commit introduces "Application Privileges" to the X-Pack security
model.

Application Privileges are managed within Elasticsearch, and can be
tested with the _has_privileges API, but do not grant access to any
actions or resources within Elasticsearch. Their purpose is to allow
applications outside of Elasticsearch to represent and store their own
privileges model within Elasticsearch roles.

Access to manage application privileges is handled in a new way that
grants permission to specific application names only. This lays the
foundation for more OLS on cluster privileges, which is implemented by
allowing a cluster permission to inspect not just the action being
executed, but also the request to which the action is applied.
To support this, a "conditional cluster privilege" is introduced, which
is like the existing cluster privilege, except that it has a Predicate
over the request as well as over the action name.

Specifically, this adds
- GET/PUT/DELETE actions for defining application level privileges
- application privileges in role definitions
- application privileges in the has_privileges API
- changes to the cluster permission class to support checking of request
  objects
- a new "global" element on role definition to provide cluster object
  level security (only for manage application privileges)
- changes to `kibana_user`, `kibana_dashboard_only_user` and
  `kibana_system` roles to use and manage application privileges

Closes #29820
Closes #31559
2018-07-24 10:34:46 -06:00
..
dev-tools Fixup build after opening x-pack 2018-04-20 15:33:46 -07:00
docs Introduce Application Privileges with support for Kibana RBAC (#32309) 2018-07-24 10:34:46 -06:00
license-tools Build: Shadow x-pack:protocol into x-pack:plugin:core (#32240) 2018-07-24 11:53:04 -04:00
plugin Introduce Application Privileges with support for Kibana RBAC (#32309) 2018-07-24 10:34:46 -06:00
protocol Rest HL client: Add put watch action (#32026) 2018-07-19 10:40:54 +02:00
qa Build: Shadow x-pack:protocol into x-pack:plugin:core (#32240) 2018-07-24 11:53:04 -04:00
test Build: Shadow x-pack:protocol into x-pack:plugin:core (#32240) 2018-07-24 11:53:04 -04:00
transport-client Build: Shadow x-pack:protocol into x-pack:plugin:core (#32240) 2018-07-24 11:53:04 -04:00
NOTICE.txt Migrate x-pack-elasticsearch source to elasticsearch 2018-04-20 15:29:54 -07:00
README.md Reorganize license files 2018-04-20 15:33:59 -07:00
build.gradle HLREST: Add x-pack-info API (#31870) 2018-07-08 11:03:56 -04:00

README.md

Elastic License Functionality

This directory tree contains files subject to the Elastic License. The files subject to the Elastic License are grouped in this directory to clearly separate them from files licensed under the Apache License 2.0.