| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | [[ingest-node-set-security-user-processor]]=== Set security user processor++++<titleabbrev>Set security user</titleabbrev>++++Sets user-related details (such as `username`,  `roles`, `email`, `full_name`,`metadata`, `api_key`, `realm` and `authentication_type`) from the currentauthenticated user to the current document by pre-processing the ingest.The `api_key` property exists only if the user authenticates with anAPI key. It is an object containing the `id`, `name` and `metadata`(if it exists and is non-empty) fields of the API key.The `realm` property is also an object with two fields, `name` and `type`.When using API key authentication, the `realm` property refers to the realmfrom which the API key is created.The `authentication_type` property is a string that can take value from`REALM`, `API_KEY`, `TOKEN` and `ANONYMOUS`.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`, `api_key`, `realm`, `authentication_type`]   | Controls what user related properties are added to the `field`.include::common-options.asciidoc[]|======The following example adds all user details for the current authenticated userto the `user` field for all documents that are processed by this pipeline:[source,js]--------------------------------------------------{  "processors" : [    {      "set_security_user": {        "field": "user"      }    }  ]}--------------------------------------------------// NOTCONSOLE
 |