Elasticsearch Ottieni ruoli

Elasticsearch Ottieni Ruoli



“Elasticsearch è un motore di ricerca e analisi incredibilmente versatile e potente. Può acquisire, organizzare, ordinare, aggregare e gestire rapidamente grandi quantità di dati di testo.

Nonostante tutto ciò, una delle caratteristiche più straordinarie di Elasticsearch e del suo intero ecosistema sono le ferree funzionalità di sicurezza. Elasticsearch include funzionalità come la firma di richieste HTTP e consente solo agli utenti autenticati di eseguire operazioni sul cluster.







Un'altra funzionalità di sicurezza in Elasticsearch è l'uso di utenti e ruoli. Elasticsearch ti consente di assegnare ruoli specifici agli utenti nel cluster. Questi vengono quindi utilizzati per determinare quali azioni il nome utente può eseguire sul cluster.



Elasticsearch assegnerà un ruolo predefinito a tutti gli utenti creati nel cluster. Il ruolo predefinito consente agli utenti di accedere all'endpoint di autenticazione, che è responsabile della modifica delle password, del recupero delle informazioni sull'utente, ecc.'



NOTA: il ruolo predefinito viene assegnato anche agli utenti anonimi.





Il nucleo di questo tutorial è fornirti i fondamenti dei ruoli Elasticsearch. Utilizzando questo tutorial, scoprirai come recuperare i ruoli nel regno nativo di Elasticsearch e visualizzare i ruoli assegnati a un nome utente specifico.

Immergiamoci.



API Ottieni ruoli di Elasticsearch

Usiamo l'API Get Roles per recuperare informazioni sui ruoli nel cluster Elasticsearch. La sintassi della richiesta è la seguente:

OTTENERE / _sicurezza / ruolo


La query precedente dovrebbe restituire tutti i ruoli nel sistema.

Per recuperare informazioni su un ruolo specifico, puoi utilizzare la sintassi come mostrato:

OTTENERE / _sicurezza / ruolo /< nome >


NOTA: questa API richiede che l'utente disponga del privilegio manage_security sul cluster.

Se la richiesta ha esito positivo, la query deve restituire una matrice di ruoli.

Esempio 1 – Recupera tutti i ruoli nel cluster

La richiesta di esempio seguente recupererà tutti i ruoli nel cluster Elasticsearch:

arricciare -XGET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: rapporti'


Un esempio di output è mostrato di seguito:

{
'utente_apm' : {
'grappolo' : [ ] ,
'indici' : [
{
'nomi' : [
'apm-*'
] ,
'privilegi' : [
'leggere' ,
'view_index_metadata'
] ,
'allow_restricted_indici' : falso
} ,
{
'nomi' : [
'finestra-ca.*'
] ,
'privilegi' : [
'leggere' ,
'view_index_metadata'
] ,
'allow_restricted_indici' : falso
} ,
{
'nomi' : [
'finestra-circa-*'
] ,
'privilegi' : [
'leggere' ,
'view_index_metadata'
] ,
'allow_restricted_indici' : falso
} ,
{
'nomi' : [
'metriche-apm.*'
] ,
'privilegi' : [
'leggere' ,
'view_index_metadata'
] ,
'allow_restricted_indici' : falso
} ,
{
'nomi' : [
'metriche-apm-*'
] ,
'privilegi' : [
'leggere' ,
'view_index_metadata'
] ,
'allow_restricted_indici' : falso
} ,
{
'nomi' : [
'tracce-apm.*'
] ,
'privilegi' : [
'leggere' ,
'view_index_metadata'
] ,
'allow_restricted_indici' : falso
} ,


NOTA: l'output sopra è stato troncato per l'ambito di questo tutorial.

Esempio 2: ottenere informazioni su un ruolo specifico

L'esempio seguente restituisce informazioni sul ruolo kibana_admin.

arricciare -XGET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: rapporti'


Le informazioni sul ruolo risultanti sono le seguenti:

{
'kibana_admin' : {
'grappolo' : [ ] ,
'indici' : [ ] ,
'applicazioni' : [
{
'applicazione' : 'kibana-.kibana' ,
'privilegi' : [
'tutto'
] ,
'risorse' : [
'*'
]
}
] ,
'correre come' : [ ] ,
'metadati' : {
'_riservato' : VERO
} ,
'transient_metadata' : {
'abilitato' : VERO
}
}
}

Recupera le informazioni sul ruolo in YAML

Per impostazione predefinita, l'API get ruoli restituirà il risultato in formato JSON. Tuttavia, puoi scegliere un formato diverso utilizzando il parametro format.

La sintassi è la seguente:

OTTENERE / _sicurezza / ruolo? formato =json / yaml


Ad esempio, per recuperare le informazioni sul ruolo kibana_admin in formato YAML, possiamo eseguire:

arricciare -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: rapporti'


Uscita risultante:

---
kibana_admin:
grappolo: [ ]
indici: [ ]
applicazioni:
- applicazione: 'kibana-.kibana'
privilegi:
- 'tutto'
risorse:
- '*'
correre come: [ ]
metadati:
_riservato: VERO
metadati_transitori:
abilitato: VERO

Visualizza i ruoli per un utente specifico

Se desideri visualizzare informazioni su un nome utente specifico (inclusi i relativi ruoli), puoi utilizzare la richiesta come mostrato:

OTTENERE / _sicurezza / utente


Ad esempio, supponiamo di avere un nome utente 'linuxhint' possiamo recuperare le informazioni sull'utente come mostrato:

arricciare -XGET “http://locahost:9200/_security/user/linuxhint?format=yaml” -H 'kbn-xsrf: rapporti'


La richiesta sopra dovrebbe restituire informazioni sull'utente in formato YAML come mostrato:

---
Linux:
nome utente: 'linux'
ruoli:
- 'spettatore'
- 'utente_osservatore'
nome e cognome: 'linuxhint.com'
e-mail: ' [email protetta] '
metadati: { }
abilitato: VERO


Possiamo vedere che l'utente ha i ruoli viewer e watcher_user.

Visualizza i ruoli in Kibana

Se non desideri utilizzare l'API dei ruoli cat, puoi visualizzare i ruoli Elasticsearch in Kibana andando su Gestione -> Gestione stack.


Quindi, vai su Sicurezza -> Ruoli


È quindi possibile visualizzare e gestire i ruoli.

Conclusione

In questo articolo, hai appreso come utilizzare l'API Elasticsearch Roles per visualizzare informazioni su ruoli specifici nel cluster. Hai anche scoperto come visualizzare i ruoli di un determinato nome utente utilizzando l'API utente.

Grazie per aver letto!