RousselTMLEARNING

Article · Elasticsearch: from discovery to expertise

Advanced security

This article is available in French.

1. TLS et certificats #

Chiffrer tout.

Certificats #

Couches de sécurité d'Elasticsearch
bin/elasticsearch-certutil ca --pem --out ca.zip
bin/elasticsearch-certutil cert --pem --ca-cert ca/ca.crt --ca-key ca/ca.key --in instances.yml --out certs.zip
# elasticsearch.yml
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: certs/es01/es01.key
xpack.security.transport.ssl.certificate: certs/es01/es01.crt
xpack.security.transport.ssl.certificate_authorities: certs/ca/ca.crt
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.key: certs/es01/es01.key
xpack.security.http.ssl.certificate: certs/es01/es01.crt
Bonne Pratique : Suivez la date d'expiration des certificats (GET _ssl/certificates) et renouvelez-les par une procédure écrite et testée : un certificat de transport expiré coupe le cluster.

2. Clés d'API et privilèges fins #

Le moindre privilège.

Exemples #

POST _security/api_key
{ "name": "ingest-nginx", "expiration": "90d",
  "role_descriptors": { "writer": { "indices": [ { "names": [ "logs-nginx-*" ], "privileges": [ "create_doc", "auto_configure" ] } ] } } }

PUT _security/role/support-eu
{ "indices": [ { "names": [ "orders-*" ],
                 "privileges": [ "read" ],
                 "field_security": { "grant": [ "*" ], "except": [ "customer.email", "card.*" ] },
                 "query": { "term": { "region": "eu" } } } ] }
  • Une clé d'API par application, avec expiration et privilèges limités ; rotation planifiée (POST _security/api_key/_invalidate).
  • Field-level security : masquer des champs ; document-level security : restreindre les documents par requête.
  • Audit : xpack.security.audit.enabled: true journalise authentifications, refus et changements de rôles.
À savoir : Certaines fonctionnalités dépendent de la version et du niveau de licence (Basic, Platinum, Enterprise) : vérifiez-les dans la documentation et la page des abonnements Elastic avant de les utiliser en production.

📄 Sécurité avancée Elasticsearch : TLS, certificats, clés d'API, FLS, DLS et audit →

My progress

  • ⏱ Estimated time : ≈ 4 min

Sign in to track your progress and take notes. Sign in

✉️ Ask a question

Course Glossary

RBAC (Role-Based Access Control)

An access control method where permissions are assigned to specific roles (e.g., admin, reader) rather than directly to individual users.

Authentication

The process of verifying the identity of a user or system (e.g., login/password, tokens, biometrics).

Authorization

The process that occurs after authentication to determine if the entity has the necessary rights and privileges to access a resource.

API Key

A unique alphanumeric code used to identify, authenticate, and authorize access to an Application Programming Interface (API).

Architecture

The overall structural design of an IT system, defining its various components, their relationships, and the principles guiding its evolution.

Repository

A centralized storage location. This can refer to a source code repository (e.g., Git) or an artifact and binary repository (e.g., Harbor, Nexus, Arti...

Elasticsearch

A distributed, RESTful search and analytics engine capable of addressing a growing number of use cases, built on Apache Lucene.

Recommended Articles

Understanding the concept of score

The concept of score allows Elasticsearch to rank your documents by relevance during a search.

Understanding the Elastic Common Schema (ECS)

As always in our consulting engagements, we recommend that companies harmonise and standardise: k...

License consumption types

Understand the evolution of billing in Dynatrace: the difference between the old licensing model ...

Grafana Alloy: The importance of Self-Monitoring

Discover why and how to configure Grafana Alloy so that it monitors itself, collecting its own lo...

Grafana Alloy: Understanding and exploiting the User Interface (UI)

Discover how to enable, secure, and use Grafana Alloy's built-in web interface to visualize your ...

Grafana Alloy: Introduction and Architecture

Discover the fundamental concepts of Grafana Alloy, the transition from the static Agent to Alloy...

Grafana Alloy: Syntax and Configuration (Alloy Language: River)

As part of a Grafana training or observability training, master the declarative syntax of Grafana...

Grafana Alloy: Metrics Collection (Prometheus & Ecosystem)

Learn how to configure Grafana Alloy to collect, transform, and forward metrics using the Prometh...

Grafana Alloy: Log Management with Loki

Discover how to configure Grafana Alloy to read log files, journald, or network streams, process ...