|
| 1 | +[role="xpack"] |
| 2 | +[[apm-app-users]] |
| 3 | +== APM app users and privileges |
| 4 | + |
| 5 | +:beat_default_index_prefix: apm |
| 6 | +:beat_kib_app: APM app |
| 7 | +:annotation_index: `observability-annotations` |
| 8 | + |
| 9 | +++++ |
| 10 | +<titleabbrev>Users and privileges</titleabbrev> |
| 11 | +++++ |
| 12 | + |
| 13 | +You can use role-based access control to grant users access to secured |
| 14 | +resources. The roles that you set up depend on your organization's security |
| 15 | +requirements and the minimum privileges required to use specific features. |
| 16 | + |
| 17 | +{es-security-features} provides {ref}/built-in-roles.html[built-in roles] that grant a |
| 18 | +subset of the privileges needed by APM users. |
| 19 | +When possible, assign users the built-in roles to minimize the affect of future changes on your security strategy. |
| 20 | +If no built-in role is available, you can assign users the privileges needed to accomplish a specific task. |
| 21 | +In general, there are three types of privileges you'll work with: |
| 22 | + |
| 23 | +* **Elasticsearch cluster privileges**: Manage the actions a user can perform against your cluster. |
| 24 | +* **Elasticsearch index privileges**: Control access to the data in specific indices your cluster. |
| 25 | +* **Kibana space privileges**: Grant users write or read access to features and apps within Kibana. |
| 26 | + |
| 27 | +//// |
| 28 | +*********************************** *********************************** |
| 29 | +//// |
| 30 | + |
| 31 | +[role="xpack"] |
| 32 | +[[apm-app-reader]] |
| 33 | +=== APM reader user |
| 34 | + |
| 35 | +++++ |
| 36 | +<titleabbrev>Create an APM reader user</titleabbrev> |
| 37 | +++++ |
| 38 | + |
| 39 | +[[apm-app-reader-full]] |
| 40 | +==== Full APM reader |
| 41 | + |
| 42 | +APM reader users typically need to view the APM app, dashboards, and visualizations that contain APM data. |
| 43 | +These users might also need to create and edit dashboards, visualizations, and machine learning jobs. |
| 44 | + |
| 45 | +. Assign the following built-in roles: |
| 46 | ++ |
| 47 | +[options="header"] |
| 48 | +|==== |
| 49 | +|Role | Purpose |
| 50 | + |
| 51 | +|`kibana_admin` |
| 52 | +|Grants access to all features in Kibana. |
| 53 | + |
| 54 | +|`apm_user` |
| 55 | +|Grants the privileges required for APM users on +{beat_default_index_prefix}*+ indices |
| 56 | + |
| 57 | +|`machine_learning_admin` |
| 58 | +|Grants the privileges required to create, update, and view machine learning jobs |
| 59 | +|==== |
| 60 | + |
| 61 | +[[apm-app-reader-partial]] |
| 62 | +==== Partial APM reader |
| 63 | + |
| 64 | +In some instances, you may wish to restrict certain Kibana apps that a user has access to. |
| 65 | + |
| 66 | +. Assign the following built in roles: |
| 67 | ++ |
| 68 | +[options="header"] |
| 69 | +|==== |
| 70 | +|Role | Purpose |
| 71 | +|`apm_user` |
| 72 | +|Grants the privileges required for APM users on +{beat_default_index_prefix}*+ indices |
| 73 | +|==== |
| 74 | + |
| 75 | +. Assign space privileges to any Kibana space that the user needs access to. |
| 76 | +Here are two examples: |
| 77 | ++ |
| 78 | +[options="header"] |
| 79 | +|==== |
| 80 | +|Type | Privilege | Purpose |
| 81 | + |
| 82 | +| Spaces |
| 83 | +| `Read` or `All` on the {beat_kib_app} |
| 84 | +| Allow the use of the the {beat_kib_app} |
| 85 | + |
| 86 | +| Spaces |
| 87 | +| `Read` or `All` on Dashboards, Visualize, and Discover |
| 88 | +| Allow the user to view, edit, and create dashboards, as well as browse data. |
| 89 | +|==== |
| 90 | + |
| 91 | +. Finally, assign the following role if a user needs to enable and edit machine learning features: |
| 92 | ++ |
| 93 | +[options="header"] |
| 94 | +|==== |
| 95 | +|Role | Purpose |
| 96 | + |
| 97 | +|`machine_learning_admin` |
| 98 | +|Grants the privileges required to create, update, and view machine learning jobs |
| 99 | +|==== |
| 100 | + |
| 101 | +//// |
| 102 | +*********************************** *********************************** |
| 103 | +//// |
| 104 | + |
| 105 | +[role="xpack"] |
| 106 | +[[apm-app-central-config-user]] |
| 107 | +=== APM app central config user |
| 108 | + |
| 109 | +++++ |
| 110 | +<titleabbrev>Create a central config user</titleabbrev> |
| 111 | +++++ |
| 112 | + |
| 113 | +[[apm-app-central-config-manager]] |
| 114 | +==== Central configuration manager |
| 115 | + |
| 116 | +Central configuration users need to be able to view, create, update, and delete Agent configurations. |
| 117 | + |
| 118 | +. Assign the following built-in roles: |
| 119 | ++ |
| 120 | +[options="header"] |
| 121 | +|==== |
| 122 | +|Role | Purpose |
| 123 | + |
| 124 | +|`apm_user` |
| 125 | +|Grants the privileges required for APM users on +{beat_default_index_prefix}*+ indices |
| 126 | +|==== |
| 127 | + |
| 128 | +. Assign the following Kibana space privileges: |
| 129 | ++ |
| 130 | +[options="header"] |
| 131 | +|==== |
| 132 | +|Type | Privilege | Purpose |
| 133 | + |
| 134 | +| Spaces |
| 135 | +|`All` on {beat_kib_app} |
| 136 | +|Allow full use of the {beat_kib_app} |
| 137 | +|==== |
| 138 | + |
| 139 | +[[apm-app-central-config-reader]] |
| 140 | +==== Central configuration reader |
| 141 | + |
| 142 | +In some instances, you may wish to create a user that can only read central configurations, |
| 143 | +but not create, update, or delete them. |
| 144 | + |
| 145 | +. Assign the following built-in roles: |
| 146 | ++ |
| 147 | +[options="header"] |
| 148 | +|==== |
| 149 | +|Role | Purpose |
| 150 | +|`apm_user` |
| 151 | +|Grants the privileges required for APM users on +{beat_default_index_prefix}*+ indices |
| 152 | +|==== |
| 153 | + |
| 154 | +. Assign the following Kibana space privileges: |
| 155 | ++ |
| 156 | +[options="header"] |
| 157 | +|==== |
| 158 | +|Type | Privilege | Purpose |
| 159 | + |
| 160 | +| Spaces |
| 161 | +|`read` on the {beat_kib_app} |
| 162 | +|Allow read access to the {beat_kib_app} |
| 163 | +|==== |
| 164 | + |
| 165 | +[[apm-app-central-config-api]] |
| 166 | +==== Central configuration API |
| 167 | + |
| 168 | +See <<apm-app-api-user>>. |
| 169 | + |
| 170 | +//// |
| 171 | +*********************************** *********************************** |
| 172 | +//// |
| 173 | + |
| 174 | +[role="xpack"] |
| 175 | +[[apm-app-api-user]] |
| 176 | +=== APM app API user |
| 177 | + |
| 178 | +++++ |
| 179 | +<titleabbrev>Create an API user</titleabbrev> |
| 180 | +++++ |
| 181 | + |
| 182 | +[[apm-app-api-config-manager]] |
| 183 | +==== Central configuration API |
| 184 | + |
| 185 | +Users can list, search, create, update, and delete central configurations via the APM app API. |
| 186 | + |
| 187 | +. Assign the following Kibana space privileges: |
| 188 | ++ |
| 189 | +[options="header"] |
| 190 | +|==== |
| 191 | +|Type | Privilege | Purpose |
| 192 | + |
| 193 | +| Spaces |
| 194 | +|`all` on the {beat_kib_app} |
| 195 | +|Allow all access to the {beat_kib_app} |
| 196 | +|==== |
| 197 | + |
| 198 | +[[apm-app-api-config-reader]] |
| 199 | +==== Central configuration API reader |
| 200 | + |
| 201 | +Sometimes a user only needs to list and search central configurations via the APM app API. |
| 202 | + |
| 203 | +. Assign the following Kibana space privileges: |
| 204 | ++ |
| 205 | +[options="header"] |
| 206 | +|==== |
| 207 | +|Type | Privilege | Purpose |
| 208 | + |
| 209 | +| Spaces |
| 210 | +|`read` on the {beat_kib_app} |
| 211 | +|Allow read access to the {beat_kib_app} |
| 212 | +|==== |
| 213 | + |
| 214 | +[[apm-app-api-annotation-manager]] |
| 215 | +==== Annotation API |
| 216 | + |
| 217 | +Users can use the annotation API to create annotations on their APM data. |
| 218 | + |
| 219 | +. Create a new role, named something like `annotation_role`, |
| 220 | +and assign the following privileges: |
| 221 | ++ |
| 222 | +[options="header"] |
| 223 | +|==== |
| 224 | +|Type | Privilege | Purpose |
| 225 | + |
| 226 | +|Index |
| 227 | +|`manage` on +{annotation_index}+ index |
| 228 | +|Check if the +{annotation_index}+ index exists |
| 229 | + |
| 230 | +|Index |
| 231 | +|`read` on +{annotation_index}+ index |
| 232 | +|Read the +{annotation_index}+ index |
| 233 | + |
| 234 | +|Index |
| 235 | +|`create_index` on +{annotation_index}+ index |
| 236 | +|Create the +{annotation_index}+ index |
| 237 | + |
| 238 | +|Index |
| 239 | +|`create_doc` on +{annotation_index}+ index |
| 240 | +|Create new annotations in the +{annotation_index}+ index |
| 241 | +|==== |
| 242 | + |
| 243 | +. Assign the `annotation_role` created previously, |
| 244 | +and the following Kibana space privileges to any annotation API users: |
| 245 | ++ |
| 246 | +[options="header"] |
| 247 | +|==== |
| 248 | +|Type | Privilege | Purpose |
| 249 | + |
| 250 | +| Spaces |
| 251 | +|`all` on the {beat_kib_app} |
| 252 | +|Allow all access to the {beat_kib_app} |
| 253 | +|==== |
| 254 | + |
| 255 | +//LEARN MORE |
| 256 | +//Learn more about <<kibana-feature-privileges,feature privileges>>. |
0 commit comments