ingest: raise visibility of ingest plugin documentation (#35048)

* move the set security user processor to the main documentation
* link to plugin processors

part of #33188
This commit is contained in:
Jake Landis 2018-11-05 11:44:10 -06:00 committed by GitHub
parent a95f05780d
commit c2766b65cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 39 deletions

View File

@ -764,6 +764,12 @@ A node will not start if either of these plugins are not available.
The <<ingest-stats,node stats API>> can be used to fetch ingest usage statistics, globally and on a per The <<ingest-stats,node stats API>> can be used to fetch ingest usage statistics, globally and on a per
pipeline basis. Useful to find out which pipelines are used the most or spent the most time on preprocessing. pipeline basis. Useful to find out which pipelines are used the most or spent the most time on preprocessing.
[float]
=== Ingest Processor Plugins
Additional ingest processors can be implemented and installed as Elasticsearch {plugins}/intro.html[plugins].
See {plugins}/ingest.html[Ingest plugins] for information about the available ingest plugins.
[[append-processor]] [[append-processor]]
=== Append Processor === Append Processor
Appends one or more values to an existing array if the field already exists and it is an array. Appends one or more values to an existing array if the field already exists and it is an array.
@ -2440,6 +2446,43 @@ include::ingest-node-common-processor.asciidoc[]
-------------------------------------------------- --------------------------------------------------
// NOTCONSOLE // NOTCONSOLE
[[ingest-node-set-security-user-processor]]
=== Set Security User Processor
Sets user-related details (such as `username`, `roles`, `email`, `full_name`
and `metadata` ) from the current
authenticated user to the current document by pre-processing the ingest.
IMPORTANT: Requires an authenticated user for the index request.
[[set-security-user-options]]
.Set Security User Options
[options="header"]
|======
| Name | Required | Default | Description
| `field` | yes | - | The field to store the user information into.
| `properties` | no | [`username`, `roles`, `email`, `full_name`, `metadata`] | Controls what user related properties are added to the `field`.
include::ingest-node-common-processor.asciidoc[]
|======
The following example adds all user details for the current authenticated user
to the `user` field for all documents that are processed by this pipeline:
[source,js]
--------------------------------------------------
{
"processors" : [
{
"set_security_user": {
"field": "user"
}
}
]
}
--------------------------------------------------
// NOTCONSOLE
[[split-processor]] [[split-processor]]
=== Split Processor === Split Processor
Splits a field into an array using a separator character. Only works on string fields. Splits a field into an array using a separator character. Only works on string fields.

View File

@ -9,53 +9,18 @@ To guarantee that a user reads only their own documents, it makes sense to set u
document level security. In this scenario, each document must have the username document level security. In this scenario, each document must have the username
or role name associated with it, so that this information can be used by the or role name associated with it, so that this information can be used by the
role query for document level security. This is a situation where the role query for document level security. This is a situation where the
`set_security_user` ingest processor can help. {ref}/ingest-node-set-security-user-processor.html[Set Security User Processor] ingest processor can help.
NOTE: Document level security doesn't apply to write APIs. You must use unique NOTE: Document level security doesn't apply to write APIs. You must use unique
ids for each user that uses the same index, otherwise they might overwrite other ids for each user that uses the same index, otherwise they might overwrite other
users' documents. The ingest processor just adds properties for the current users' documents. The ingest processor just adds properties for the current
authenticated user to the documents that are being indexed. authenticated user to the documents that are being indexed.
The `set_security_user` processor attaches user-related details (such as The {ref}/ingest-node-set-security-user-processor.html[set security user processor] attaches user-related details (such as
`username`, `roles`, `email`, `full_name` and `metadata` ) from the current `username`, `roles`, `email`, `full_name` and `metadata` ) from the current
authenticated user to the current document by pre-processing the ingest. When authenticated user to the current document by pre-processing the ingest. When
you index data with an ingest pipeline, user details are automatically attached you index data with an ingest pipeline, user details are automatically attached
to the document. For example: to the document.
[source,js] For more information see {ref}/ingest.html[Ingest node] and {ref}/ingest-node-set-security-user-processor.html[Set security user processor].
--------------------------------------------------
PUT shared-logs/log/1?pipeline=my_pipeline_id
{
...
}
--------------------------------------------------
// NOTCONSOLE
For more information about setting up a pipeline and other processors, see
{ref}/ingest.html[ingest node].
[[set-security-user-options]]
.Set Security User Options
[options="header"]
|======
| Name | Required | Default | Description
| `field` | yes | - | The field to store the user information into.
| `properties` | no | [`username`, `roles`, `email`, `full_name`, `metadata`] | Controls what user related properties are added to the `field`.
|======
The following example adds all user details for the current authenticated user
to the `user` field for all documents that are processed by this pipeline:
[source,js]
--------------------------------------------------
{
"processors" : [
{
"set_security_user": {
"field": "user"
}
}
]
}
--------------------------------------------------
// NOTCONSOLE