Gestione di utenti e ruoli

Le distribuzioni Databases for Elasticsearch vengono con l'autenticazione abilitata e utilizzano gli utenti integratidi Elasticsearch.

Aggiungere gli utenti nell'interfaccia utente alla pagina Credenziali del servizio, con il plug-in Cloud Databases CLI o con l'API Cloud Databases.

L'utente admin

Quando esegui il provisioning di una distribuzione Databases for Elasticsearch, viene creato automaticamente un utente admin.

Impostare la password amministratore prima di utilizzarla per la connessione.

Impostazione della password amministratore nell'interfaccia utente

Impostare la password di amministrazione attraverso l'interfaccia utente, selezionando l'istanza dall'elenco Risorse. Nella dashboard, selezionare la scheda Impostazioni, quindi inserire o generare una nuova password di amministratore e fare clic sul pulsante Modifica password.

Impostazione della password amministratore nella CLI

Utilizza il comando cdb user-password dal plug-in IBM Cloud CLI Cloud Databases per impostare la password dell'amministratore.

Ad esempio, per impostare la password admin per una distribuzione denominata example-deployment, utilizzare il seguente comando:

ibmcloud cdb user-password example-deployment admin <newpassword>

Impostazione della password amministratore nell'API

L' endpoint di Foundation mostrato nel pannello Panoramica nella sezione Dettagli dell'installazione client del servizio fornisce l' URL di base per accedere all'installazione client tramite l'API. Usarlo con l'endpoint Impostare la password dell'utente specificato per impostare la password dell'amministratore.

curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \

Il ruolo ibm_superuser

per Elasticsearch versioni 7.17.7 e successive, a tutti gli utenti, nuovi ed esistenti, incluso l'utente admin, verrà assegnato il ruolo ibm_superuser. Il ruolo ibm_superuser ha gli stessi privilegi di superuser, tranne per il fatto che il ruolo ibm_superuser non può accedere agli indici nascosti, interni o limitati. La limitazione dell'accesso agli indici nascosti impedisce agli utenti di limitare inavvertitamente il proprio accesso chiudendo gli indici di protezione.

Anche se si dispone delle autorizzazioni per riportare questo ruolo al superuser originale, non è necessario farlo. La modifica di ibm_superuser in superuser interromperà l'accesso alla tua distribuzione Elasticsearch.

Gestione di utenti e ruoli attraverso l'interfaccia utente

  1. Accedere al cruscotto del servizio per il proprio servizio.
  2. Fare clic su Credenziali del servizio per aprire la pagina.
  3. Fai clic su New credential.
  4. Scegliere un nome descrittivo per la nuova credenziale.
  5. (Facoltativo) Specificare se le nuove credenziali utilizzano un endpoint pubblico o privato. Utilizzare { "service-endpoints": "public" } / { "service-endpoints": "private" } nel campo Aggiungi parametri di configurazione in linea per generare stringhe di connessione che utilizzano l'endpoint specificato. L'utilizzo dell'endpoint non viene applicato. Controlla solo quali nomi host si trovano nelle stringhe di collegamento. Gli endpoint pubblici vengono generati per impostazione predefinita.
  6. Fare clic su Aggiungi per eseguire il provisioning delle nuove credenziali. Un nome utente e una password e un utente Elasticsearch associato vengono generati automaticamente.

Le nuove credenziali appaiono nella tabella e le stringhe di connessione sono disponibili come JSON in un campo da copiare con un clic sotto Vedi credenziali.

La creazione di un utente dalla CLI o dall'API non comporta il popolamento automatico delle stringhe di connessione dell'utente in Credenziali del servizio. Se si desidera aggiungerli, è possibile creare una nuova credenziale con le informazioni utente esistenti. Immettere il nome utente e la password nel campo JSON in Aggiungi parametri di configurazione in linea. Ad esempio, {"existing_credentials":{"username":"Robert","password":"supersecure"}}. In pratica, si inviano nome utente e password e Credenziali del servizio genera le stringhe di connessione con le credenziali compilate.

La generazione delle credenziali da un utente esistente non verifica o crea tale utente.

Se si desidera che gli utenti creati da Credenziali di servizio abbiano un ruolo diverso, utilizzare l'utente admin per cambiare il loro ruolo.

Gestione di utenti e ruoli tramite la CLI

Se è necessario che gli utenti abbiano un ruolo diverso, è possibile utilizzare l'utente admin per modificare il proprio ruolo.

Gli utenti creati direttamente dalla CLI non appaiono in Credenziali del servizio, ma è possibile aggiungerli.

Se si gestisce il servizio tramite il plug-in Cloud Databases CLI, creare un nuovo utente con cdb user-create. Ad esempio, per creare un nuovo utente per un'installazione client denominata example-deployment, utilizzare il seguente comando:

ibmcloud cdb user-create example-deployment <newusername> <newpassword>

Al termine dell'attività, richiamare le stringhe di connessione del nuovo utente con il comando ibmcloud cdb deployment-connections, che è simile al seguente:

ibmcloud cdb deployment-connections [--user <userid>] [--password <password>] [--endpoint-type <endpoint type>] [--all] [--only] [--start] [--certroot <path>] [--json]

Gestione di utenti e ruoli tramite API

Se hai bisogno che gli utenti abbiano un ruolo diverso, utilizza l'utente amministratore per modificare il suo ruolo.

Gli utenti creati direttamente dall'API non appaiono in Credenziali del servizio, ma è possibile aggiungerli.

L' endpoint di Foundation, mostrato nella sezione Panoramica del servizio, fornisce l' URL di base per accedere a questa installazione client attraverso l'API. Per creare e gestire gli utenti, utilizzare l' URL di base con l'endpoint /users.

Il comando è simile al seguente:

curl -X POST 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/users' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"username":"jane_smith", "password":"newsupersecurepassword"}'

Per recuperare le stringhe di connessione di un utente, utilizzare l' URL di base con l'endpoint /users/{userid}/connections.

Utenti e ruoli Elasticsearch

Se gli utenti e i ruoli integrati non si adattano al proprio ambiente, creare utenti e ruoli direttamente in Elasticsearch. L'utente amministratore per la tua distribuzione ha il potere di creare qualsiasi ruolo o serie di privilegi da utilizzare sulla tua distribuzione.