Skip to main content

RBAC & User Management

Context

Elasticsearch is an indexing database. To follow the best security practices, ESaaS comes with builtin roles to limit by default the privileges.

Use Case

  • Query data using the API
  • Query data using Kibana
  • Index data using the API
  • Create or Update Dashboards
  • Provide read only access to dashboards

What to do ?

Nothing, the feature is enabled by default.

To update you right:

If you are owner of the service, with AAD groups.

  • go on azure portal
  • Search for "Azure Active Directory", and select it

img

  • Search for esaas-<instance_name>-<group type> in "Groups" section
  • Then add your users

If you don't have AAD groups:

  • Open a request in postit, asking for tdp-esaas escalation, and providing the list of the users and their rights.

Description

built-in roles

The following table describes the built-in roles and their permissions :

RoleCluster permissionsIndex permissionsTenant/Kibana permissions
<instance_name>-reader-rolecluster_composite_ops_roget, read and search on <instance_name>* index patternkibana_all_read
<instance_name>-writer_rolecluster_composite_opsindices_all on <instance_name>* index patternkibana_all_write `

Cluster-level permission

NameDescription
cluster_allGrants all cluster permissions. Equates to cluster:*.
cluster_monitorGrants all cluster monitoring permissions. Equates to cluster:monitor/*.
cluster_composite_ops_roGrants read-only permissions to execute requests like mget, msearch, or mtv, plus permissions to query for aliases.
cluster_composite_opsSame as CLUSTER_COMPOSITE_OPS_RO, but also grants bulk permissions and all aliases permissions.
manage_snapshotsGrants permissions to manage snapshots and repositories.

Index-level permission

NameDescription
indices_allGrants all permissions on the index. Equates to indices:*.
getGrants permissions to use get and mget actions only.
readGrants read permissions such as search, get field mappings, get, and mget.
writeGrants permissions to create and update documents within existing indices. To create new indices, see CREATE_INDEX.
deleteGrants permissions to delete documents.
crudCombines the READ, WRITE and DELETE action groups.
searchGrants permissions to search documents. Includes SUGGEST.
suggestGrants permissions to use the suggest API. Included in the READ action group.
create_indexGrants permissions to create indices and mappings.
indices_monitorGrants permissions to execute all index monitoring actions (e.g. recovery, segments info, index stats, and status).
manage_aliasesGrants permissions to manage aliases.
manageGrants all monitoring and administration permissions for indices.

HOWTO

Manage users by your own

The creation, edition and modification of the roles are managed by ESaas team. The assignment of a user to an existing role is managed by the owner of the service on your side, if the AAD group feature have been asked.

To enable the User management feature:

  • please list tenant is relevant. Feel free to consult the multi-tenancy doc
  • then, raise a Postit ticket, asking for a tdp-esaas escalation, and precising you want to manage users with AAD groups.

Have full admin access on your cluster

This feature is not supported yet.

Next steps

  • Discover the multi tenancy feature here