Vai al contenutoNaviga tra le pagine: pagina precedente [tasto di scelta p]/pagina successiva [tasto di scelta n]
documentation.suse.com / Documentazione di SUSE Enterprise Storage 7.1 / Guida all'amministrazione e alle operazioni / Ceph Dashboard / Gestione di utenti e ruoli sulla riga di comando
Si applica a SUSE Enterprise Storage 7.1

11 Gestione di utenti e ruoli sulla riga di comando

Questa sezione descrive come gestire gli account utente utilizzati dal Ceph Dashboard e fornisce informazioni sulla creazione o modifica degli account utente, nonché sull'impostazione dei ruoli dell'utente e delle autorizzazioni corretti.

11.1 Gestione della policy password

Per default, la funzione della policy password è abilitata insieme ai controlli seguenti:

  • La password supera N caratteri?

  • La nuova password è uguale a quella vecchia?

La funzione della policy password può essere attivata o disattivata:

cephuser@adm > ceph dashboard set-pwd-policy-enabled true|false

I singoli controlli seguenti possono essere attivati o disattivati:

cephuser@adm > ceph dashboard set-pwd-policy-check-length-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-oldpwd-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-username-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-exclusion-list-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-complexity-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-sequential-chars-enabled true|false
cephuser@adm > ceph dashboard set-pwd-policy-check-repetitive-chars-enabled true|false

Inoltre, sono disponibili le opzioni seguenti per configurare il comportamento della policy password.

  • La lunghezza minima della password (il valore di default è 8):

    cephuser@adm > ceph dashboard set-pwd-policy-min-length N
  • La complessità minima della password (il valore di default è 10):

    cephuser@adm > ceph dashboard set-pwd-policy-min-complexity N

    La complessità della password è calcolata tramite la classificazione di ciascun carattere da cui è composta.

  • Un elenco di parole separate da virgole che non è possibile utilizzare nella password:

    cephuser@adm > ceph dashboard set-pwd-policy-exclusion-list word[,...]

11.2 Gestione degli account utente

Il Ceph Dashboard supporta la gestione di più account utente. Ogni account utente include un nome utente, una password (memorizzata in formato cifrato tramite il comando bcrypt), un nome facoltativo e un indirizzo e-mail facoltativo.

Gli account utente sono memorizzati nel database di configurazione di Ceph Monitor e sono condivisi a livello globale su tutte le istanze di Ceph Manager.

Utilizzare i comandi seguenti per gestire gli account utente:

Per mostrare gli utenti esistenti:
cephuser@adm > ceph dashboard ac-user-show [USERNAME]
Per creare un nuovo utente:
cephuser@adm > ceph dashboard ac-user-create USERNAME -i [PASSWORD_FILE] [ROLENAME] [NAME] [EMAIL]
Per eliminare un utente:
cephuser@adm > ceph dashboard ac-user-delete USERNAME
Per modificare la password di un utente:
cephuser@adm > ceph dashboard ac-user-set-password USERNAME -i PASSWORD_FILE
Per modificare il nome e l'e-mail di un utente:
cephuser@adm > ceph dashboard ac-user-set-info USERNAME NAME EMAIL
Per disabilitare un utente
cephuser@adm > ceph dashboard ac-user-disable USERNAME
Per abilitare un utente
cephuser@adm > ceph dashboard ac-user-enable USERNAME

11.3 Ruoli e autorizzazioni dell'utente

Questa sezione descrive gli ambiti di sicurezza che è possibile assegnare a un ruolo dell'utente e come gestire i ruoli dell'utente e assegnarli agli account utente.

11.3.1 Definizione degli ambiti di sicurezza

Gli account utente sono associati a un set di ruoli che definiscono le parti del dashboard accessibili dall'utente. Le parti del dashboard sono raggruppate all'interno di un ambito di sicurezza. Gli ambiti di sicurezza sono predefiniti e statici. Attualmente sono disponibili gli ambiti di sicurezza seguenti:

hosts

Include tutte le funzioni relative alla voce di menu Host.

config-opt

Include tutte le funzioni relative alla gestione delle opzioni di configurazione di Ceph.

pool

Include tutte le funzioni relative alla gestione del pool.

osd

Include tutte le funzioni relative alla gestione di Ceph OSD.

monitor

Include tutte le funzioni relative alla gestione di Ceph Monitor.

rbd-image

Include tutte le funzioni relative alla gestione delle immagini del dispositivo di blocco RADOS.

rbd-mirroring

Include tutte le funzioni relative alla gestione della copia speculare del dispositivo di blocco RADOS.

iscsi

Include tutte le funzioni relative alla gestione di iSCSI.

rgw

Include tutte le funzioni relative alla gestione di Object Gateway.

cephfs

Include tutte le funzioni relative alla gestione di CephFS.

manager

Include tutte le funzioni relative alla gestione di Ceph Manager.

log

Include tutte le funzioni relative alla gestione dei log di Ceph.

grafana

Include tutte le funzioni relative al proxy Grafana.

prometheus

Include tutte le funzioni relative alla gestione degli avvisi di Prometheus.

dashboard-settings

Modifica le impostazioni del dashboard.

11.3.2 Specifica dei ruoli dell'utente

Un ruolo consente di specificare un set di mappature tra un ambito di sicurezza e un set di autorizzazioni. Vi sono quattro tipi di autorizzazioni: "read" (lettura), "create" (creazione), "update" (aggiornamento) e "delete" (eliminazione).

Nell'esempio seguente viene specificato un ruolo in cui l'utente dispone delle autorizzazioni "read" e "create" per le funzioni relative alla gestione del pool e delle autorizzazioni complete per le funzioni relative alla gestione delle immagini RBD:

{
  'role': 'my_new_role',
  'description': 'My new role',
  'scopes_permissions': {
    'pool': ['read', 'create'],
    'rbd-image': ['read', 'create', 'update', 'delete']
  }
}

Nel dashboard è già fornito un set di ruoli predefiniti denominati ruoli di sistema. È possibile utilizzarli immediatamente dopo l'installazione da zero del Ceph Dashboard:

amministratore

Fornisce le autorizzazioni complete per tutti gli ambiti di sicurezza.

sola lettura

Fornisce l'autorizzazione in lettura per tutti gli ambiti di sicurezza a eccezione delle impostazioni del dashboard.

block-manager

Fornisce le autorizzazioni complete per gli ambiti "rbd-image", "rbd-mirroring" e "iscsi".

rgw-manager

Fornisce le autorizzazioni complete per l'ambito "rgw".

cluster-manager

Fornisce le autorizzazioni complete per gli ambiti "hosts", "osd", "monitor", "manager" e "config-opt".

pool-manager

Fornisce le autorizzazioni complete per l'ambito "pool".

cephfs-manager

Fornisce le autorizzazioni complete per l'ambito "cephfs".

11.3.2.1 Gestione dei ruoli personalizzati

È possibile creare nuovi ruoli dell'utente utilizzando i comandi seguenti:

Per creare un nuovo ruolo:
cephuser@adm > ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
Per eliminare un ruolo:
cephuser@adm > ceph dashboard ac-role-delete ROLENAME
Per aggiungere autorizzazioni di ambito a un ruolo:
cephuser@adm > ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
Per eliminare le autorizzazioni di ambito da un ruolo:
cephuser@adm > ceph dashboard ac-role-del-perms ROLENAME SCOPENAME

11.3.2.2 Assegnazione dei ruoli agli account utente

Utilizzare i comandi seguenti per assegnare i ruoli agli utenti:

Per impostare i ruoli dell'utente:
cephuser@adm > ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
Per aggiungere ulteriori ruoli a un utente:
cephuser@adm > ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
Per eliminare i ruoli da un utente:
cephuser@adm > ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
Suggerimento
Suggerimento: eliminazione definitiva dei ruoli personalizzati

Se si creano ruoli dell'utente personalizzati e si intende rimuovere il cluster Ceph con lo strumento di esecuzione ceph.purge in un secondo momento, è necessario innanzitutto eliminare definitivamente i ruoli personalizzati. Ulteriori dettagli sono disponibili nel Sezione 13.9, «Rimozione dell'intero cluster Ceph».

11.3.2.3 Esempio: creazione di un utente e di un ruolo personalizzato

Questa sezione illustra la procedura di creazione di un account utente in grado di gestire le immagini RBD, visualizzare e creare pool Ceph e con l'accesso in sola lettura a qualsiasi altro ambito.

  1. Creare un nuovo utente denominato tux:

     cephuser@adm > ceph dashboard ac-user-create tux PASSWORD
  2. Creare un ruolo e specificare le autorizzazioni di ambito:

    cephuser@adm > ceph dashboard ac-role-create rbd/pool-manager
    cephuser@adm > ceph dashboard ac-role-add-scope-perms rbd/pool-manager \
     rbd-image read create update delete
    cephuser@adm > ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
  3. Associare i ruoli all'utente tux:

    cephuser@adm > ceph dashboard ac-user-set-roles tux rbd/pool-manager read-only

11.4 Configurazione del proxy

Se si desidera stabilire un URL fisso per raggiungere il Ceph Dashboard o se non si desidera consentire connessioni dirette ai nodi del manager, è possibile configurare un proxy per l'inoltro automatico delle richieste in entrata all'istanza ceph-mgr attualmente attiva.

11.4.1 Accesso al dashboard con proxy inversi

Se si effettua l'accesso al dashboard tramite una configurazione di proxy inverso, potrebbe essere necessario fornirlo tramite un prefisso URL. Per fare in modo che il dashboard utilizzi i collegamenti ipertestuali che includono il prefisso specificato, è possibile configurare l'impostazione url_prefix:

  cephuser@adm > ceph config set mgr mgr/dashboard/url_prefix URL_PREFIX

Quindi, è possibile accedere al dashboard all'indirizzo http://HOST_NAME:PORT_NUMBER/URL_PREFIX/.

11.4.2 Disabilitazione dei reindirizzamenti

Se il Ceph Dashboard è protetto da un proxy per il bilanciamento del carico come HAProxy, disabilitare il comportamento di reindirizzamento per evitare situazioni in cui gli URL interni (non risolvibili) vengono pubblicati nel client di front-end. Utilizzare il comando seguente per fare in modo che il dashboard generi una risposta con un errore HTTP (500 per default) invece del reindirizzamento al dashboard attivo:

cephuser@adm > ceph config set mgr mgr/dashboard/standby_behaviour "error"

Per reimpostare l'impostazione sul comportamento di reindirizzamento di default, utilizzare il comando seguente:

cephuser@adm > ceph config set mgr mgr/dashboard/standby_behaviour "redirect"

11.4.3 Configurazione dei codici di stato di errore

Se il comportamento di reindirizzamento è disabilitato, è necessario personalizzare il codice di stato HTTP dei dashboard di standby. A questo scopo, eseguire il comando seguente:

cephuser@adm > ceph config set mgr mgr/dashboard/standby_error_status_code 503

11.4.4 Configurazione HAProxy di esempio

La configurazione di esempio seguente è da utilizzare per il pass-through TLS/SSL tramite HAProxy.

Nota
Nota

La configurazione è valida nelle condizioni seguenti: in caso di failover del dashboard, il client di front-end potrebbe ricevere una risposta di reindirizzamento HTTP (303) e verrà reindirizzato a un host non risolvibile.

Ciò avviene quando il failover si verifica durante due controlli di integrità di HAProxy. In questa situazione, il nodo del dashboard precedentemente attivo restituirà la risposta 303 che punta a un nuovo nodo attivo. Per evitare questa situazione, si consiglia di disabilitare il comportamento di reindirizzamento sui nodi di standby.

  defaults
    log global
    option log-health-checks
    timeout connect 5s
    timeout client 50s
    timeout server 450s

  frontend dashboard_front
    mode http
    bind *:80
    option httplog
    redirect scheme https code 301 if !{ ssl_fc }

  frontend dashboard_front_ssl
    mode tcp
    bind *:443
    option tcplog
    default_backend dashboard_back_ssl

  backend dashboard_back_ssl
    mode tcp
    option httpchk GET /
    http-check expect status 200
    server x HOST:PORT ssl check verify none
    server y HOST:PORT ssl check verify none
    server z HOST:PORT ssl check verify none

11.5 Controllo delle richieste API

L'API REST del Ceph Dashboard è in grado di registrare le richieste PUT, POST e DELETE sul log di revisione di Ceph. La funzione di registrazione è disabilita per default, ma è possibile abilitarla con il comando seguente:

cephuser@adm > ceph dashboard set-audit-api-enabled true

Se abilitata, per ciascuna richiesta vengono registrati i parametri seguenti:

from

Origine della richiesta, ad esempio "https://[::1]:44410".

percorso

Percorso dell'API REST, ad esempio /api/auth.

method

"PUT", "POST" o "DELETE".

utente

Nome dell'utente (o "None").

Una voce di log di esempio ha il seguente aspetto:

2019-02-06 10:33:01.302514 mgr.x [INF] [DASHBOARD] \
 from='https://[::ffff:127.0.0.1]:37022' path='/api/rgw/user/exu' method='PUT' \
 user='admin' params='{"max_buckets": "1000", "display_name": "Example User", "uid": "exu", "suspended": "0", "email": "user@example.com"}'
Suggerimento
Suggerimento: disabilitazione della registrazione del payload della richiesta

La registrazione del payload della richiesta (l'elenco degli argomenti e dei relativi valori) è abilitata per default. È possibile disabilitarla nel modo seguente:

cephuser@adm > ceph dashboard set-audit-api-log-payload false

11.6 Configurazione di NFS Ganesha nel Ceph Dashboard

Il Ceph Dashboard è in grado di gestire le esportazioni NFS Ganesha che utilizzano CephFS oppure Object Gateway come backstore. Il dashboard gestisce i file di configurazione di NFS Ganesha memorizzati negli oggetti RADOS sul cluster CephFS. NFS Ganesha deve memorizzare parte della loro configurazione nel cluster Ceph.

Eseguire il comando seguente per configurare l'ubicazione dell'oggetto di configurazione di NFS Ganesha.

cephuser@adm > ceph dashboard set-ganesha-clusters-rados-pool-namespace pool_name[/namespace]

Adesso, è possibile gestire le esportazioni di NFS Ganesha tramite il Ceph Dashboard.

11.6.1 Configurazione di più cluster NFS Ganesha

Il Ceph Dashboard supporta la gestione delle esportazioni di NFS Ganesha appartenenti a diversi cluster NFS Ganesha. Per isolare le singole configurazioni, è consigliabile che ogni cluster NFS Ganesha memorizzi i rispettivi oggetti di configurazione in uno spazio dei nomi/pool RADOS diverso.

Utilizzare il comando seguente per specificare l'ubicazione della configurazione di ciascun cluster NFS Ganesha:

cephuser@adm > ceph dashboard set-ganesha-clusters-rados-pool-namespace cluster_id:pool_name[/namespace](,cluster_id:pool_name[/namespace])*

cluster_id è una stringa arbitraria che identifica in modo univoco il cluster NFS Ganesha.

Se il Ceph Dashboard viene configurato su più cluster NFS Ganesha, l'interfaccia utente Web consente automaticamente di selezionare il cluster a cui appartiene un'esportazione.

11.7 Plug-in di debug

I plug-in del Ceph Dashboard estendono la funzionalità del dashboard. Il plug-in di debug consente la personalizzazione del comportamento del dashboard in base alla modalità di debug. È possibile abilitarlo, disabilitarlo o selezionarlo con il comando seguente:

cephuser@adm > ceph dashboard debug status
Debug: 'disabled'
cephuser@adm > ceph dashboard debug enable
Debug: 'enabled'
cephuser@adm > dashboard debug disable
Debug: 'disabled'

Per default, è disabilitato. Si tratta dell'impostazione consigliata per le distribuzioni di produzione. Se necessario, è possibile abilitare la modalità di debug senza dover riavviare.