diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStore.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStore.java index 374ddee2589ac..de8527389da8b 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStore.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStore.java @@ -103,8 +103,15 @@ private static Map initializeReservedRoles() { .put("ingest_admin", new RoleDescriptor("ingest_admin", new String[] { "manage_index_templates", "manage_pipeline" }, null, null, MetadataUtils.DEFAULT_RESERVED_METADATA)) // reporting_user doesn't have any privileges in Elasticsearch, and Kibana authorizes privileges based on this role - .put("reporting_user", new RoleDescriptor("reporting_user", null, null, - null, MetadataUtils.DEFAULT_RESERVED_METADATA)) + .put("reporting_user", new RoleDescriptor( + "reporting_user", + null, + null, + null, + null, + null, + MetadataUtils.getDeprecatedReservedMetadata("Please use Kibana feature privileges instead"), + null)) .put("kibana_dashboard_only_user", new RoleDescriptor( "kibana_dashboard_only_user", null, diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java index ecdae71595010..42eee0c023222 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java @@ -945,6 +945,7 @@ public void testReportingUserRole() { RoleDescriptor roleDescriptor = new ReservedRolesStore().roleDescriptor("reporting_user"); assertNotNull(roleDescriptor); assertThat(roleDescriptor.getMetadata(), hasEntry("_reserved", true)); + assertThat(roleDescriptor.getMetadata(), hasEntry("_deprecated", true)); Role reportingUserRole = Role.builder(roleDescriptor, null).build(); assertThat(reportingUserRole.cluster().check(ClusterHealthAction.NAME, request, authentication), is(false));