Die Security APIs werden verwendet, um Benutzer, Rollen, Zugriffsrechte und andere Sicherheitsaspekte in OpenSearch zu verwalten. Sie sind insbesondere dann relevant, wenn die Sicherheitsfunktionen aktiviert sind.
Benutzer erstellen
POST /_plugins/_security/api/internalusers/jdoe
{
"password": "password123",
"backend_roles": ["admin"],
"attributes": {
"department": "IT"
}
}
password: Passwort für den Benutzer.backend_roles: Rollen, die dem Benutzer zugeordnet
sind.attributes: Zusätzliche Benutzerattribute.Rolle erstellen
POST /_plugins/_security/api/roles/admin_role
{
"cluster_permissions": ["cluster_all"],
"index_permissions": [
{
"index_patterns": ["*"],
"allowed_actions": ["read", "write"]
}
]
}
cluster_permissions: Berechtigungen auf
Clusterebene.index_permissions: Berechtigungen für spezifische
Indizes.API-Key erstellen
POST /_plugins/_security/api_key
{
"name": "my-api-key",
"role_descriptors": {
"role1": {
"cluster": ["cluster_composite_ops"],
"index": [
{
"names": ["my-index"],
"privileges": ["read", "write"]
}
]
}
},
"expiration": "1d"
}
name: Name des API-Keys.role_descriptors: Rollen und Berechtigungen, die der
API-Key haben soll.expiration: Ablaufzeit des API-Keys.Audit-Logging aktivieren
PUT /_plugins/_security/api/audit/config
{
"enabled": true,
"audit": {
"log_request_body": true,
"resolve_bulk_requests": true
}
}
enabled: Aktiviert oder deaktiviert das
Audit-Logging.log_request_body: Gibt an, ob die Request-Bodies
protokolliert werden sollen.| Parameter | Beschreibung |
|---|---|
password |
Passwort für den Benutzer. |
backend_roles |
Rollen, die dem Benutzer zugeordnet sind. |
cluster_permissions |
Berechtigungen auf Clusterebene für Rollen. |
index_permissions |
Berechtigungen auf Indexebene für Rollen. |
expiration |
Ablaufzeit für API-Keys (z. B. 1d,
12h). |
Benutzer erstellen:
Erstellen Sie einen Benutzer admin mit dem Passwort
securepass und der Rolle admin_role.
POST /_plugins/_security/api/internalusers/admin
{
"password": "securepass",
"backend_roles": ["admin_role"]
}Rolle erstellen:
Erstellen Sie eine Rolle read_only mit der Berechtigung,
nur Daten aus allen Indizes zu lesen.
POST /_plugins/_security/api/roles/read_only
{
"index_permissions": [
{
"index_patterns": ["*"],
"allowed_actions": ["read"]
}
]
}API-Key erstellen:
Erstellen Sie einen API-Key data-access mit Lesezugriff auf
den Index logs.
POST /_plugins/_security/api_key
{
"name": "data-access",
"role_descriptors": {
"role1": {
"index": [
{
"names": ["logs"],
"privileges": ["read"]
}
]
}
}
}Audit-Logging aktivieren:
Aktivieren Sie das Audit-Logging und konfigurieren Sie es so, dass auch
die Request-Bodies protokolliert werden.
PUT /_plugins/_security/api/audit/config
{
"enabled": true,
"audit": {
"log_request_body": true
}
}Benutzer erstellen
POST /_plugins/_security/api/internalusers/admin
{
"password": "securepass",
"backend_roles": ["admin_role"]
}
Rolle erstellen
POST /_plugins/_security/api/roles/read_only
{
"index_permissions": [
{
"index_patterns": ["*"],
"allowed_actions": ["read"]
}
]
}
API-Key erstellen
POST /_plugins/_security/api_key
{
"name": "data-access",
"role_descriptors": {
"role1": {
"index": [
{
"names": ["logs"],
"privileges": ["read"]
}
]
}
}
}
Audit-Logging aktivieren
PUT /_plugins/_security/api/audit/config
{
"enabled": true,
"audit": {
"log_request_body": true
}
}