Abilita autenticazione Cassandra

Edge per Private Cloud v4.19.01

Per impostazione predefinita, Cassandra esegue l'installazione senza autenticazione abilitata. Ciò significa che chiunque può accedere a Cassandra. Puoi abilitare l'autenticazione dopo aver installato Edge o durante la procedura di installazione.

Se decidi di abilitare l'autenticazione su Cassandra, questa utilizza le seguenti credenziali predefinite:

  • nome utente = 'cassandra'
  • password = 'cassandra'

Puoi utilizzare questo account, impostare una password diversa per l'account o creare un nuovo utente Cassandra. Aggiungi, rimuovi e modifica gli utenti utilizzando le istruzioni Cassandra CREATE/ALTER/DROP USER.

Per maggiori informazioni, consulta l'articolo sui comandi della shell SQL di Cassandra.

Abilita l'autenticazione Cassandra durante l'installazione

Puoi attivare l'autenticazione Cassandra al momento dell'installazione. Tuttavia, anche se puoi abilitare l'autenticazione quando installi Cassandra, non puoi modificare il nome utente e la password predefiniti. Devi eseguire questo passaggio manualmente al termine dell'installazione di Cassandra.

Per abilitare l'autenticazione Cassandra al momento dell'installazione, includi la proprietà CASS_AUTH nel file di configurazione per tutti i nodi Cassandra:

CASS_AUTH=y # The default value is n.

I seguenti componenti di Edge accedono a Cassandra:

  • Server di gestione
  • Processori di messaggi
  • Router
  • Server Qpid
  • Server Postgres

Di conseguenza, quando installi questi componenti, devi impostare le seguenti proprietà nel file di configurazione per specificare le credenziali Cassandra:

CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

Dopo aver installato Cassandra, puoi modificare le credenziali di Cassandra. Tuttavia, se hai già installato server di gestione, processori di messaggi, router, server Qpid o server Postgres, devi aggiornare anche questi componenti in modo da utilizzare le nuove credenziali.

Per modificare le credenziali di Cassandra dopo l'installazione di Cassandra:

  1. Accedi a qualsiasi nodo Cassandra utilizzando lo strumento cqlsh e le credenziali predefinite. Devi modificare la password su un solo nodo, che verrà trasmessa a tutti i nodi Cassandra nell'anello:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Dove:

    1. cassIP è l'indirizzo IP del nodo Cassandra.
    2. 9042 è la porta Cassandra predefinita.
    3. L'utente predefinito è cassandra.
    4. La password predefinita è cassandra. Se hai modificato la password in precedenza, utilizza la password attuale.
  2. Esegui questo comando alla richiesta di cqlsh> di aggiornare la password:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Esci dallo strumento cqlsh:
    exit
  4. Se non hai ancora installato il server di gestione, i processori di messaggi, i router, i server Qpid o i server Postgres, imposta le seguenti proprietà nel file di configurazione, quindi installa questi componenti:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Se hai già installato server di gestione, processori di messaggi, router, server Qpid o server Postgres, consulta Reimpostazione delle password perimetrali per la procedura per aggiornare questi componenti in modo da utilizzare la nuova password.

Abilita post-installazione dell'autenticazione Cassandra

Per abilitare l'autenticazione:

  • Aggiorna tutti i componenti Edge che si connettono a Cassandra con il nome utente e la password di Cassandra.
  • Abilita l'autenticazione su tutti i nodi Cassandra.
  • Imposta il nome utente e la password Cassandra su qualsiasi nodo. Devi solo modificare le credenziali su un nodo Cassandra e le credenziali verranno trasmesse a tutti i nodi Cassandra nel ring.

Utilizza la procedura seguente per aggiornare tutti i componenti Edge che comunicano con Cassandra utilizzando le nuove credenziali. Tieni presente che questo passaggio deve essere eseguito prima di aggiornare effettivamente le credenziali Cassandra:

  1. Sul nodo del server di gestione, esegui questo comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server
      store_cassandra_credentials -u cassandra_username -p cassandra_password

    Facoltativamente, puoi passare un file al comando contenente il nuovo nome utente e la nuova password:

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    Dove configFile contiene quanto segue:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD=cassandra_password # Default is cassandra

    Questo comando riavvia automaticamente il server di gestione.

  2. Per ciascuno dei seguenti servizi, ripeti il passaggio 1:
    • Tutti i processori di messaggi
    • Tutti i router
    • Tutti i server Qpid (edge-qpid-server)
    • Server Postgres (server edge-postgres)

    Quando ripeti il passaggio 1 per ogni servizio, sostituisci edge-management-server nel comando precedente con il nome del servizio appropriato. Ad esempio, quando esegui il passaggio per un servizio Router, utilizza questo comando:

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

Utilizza la seguente procedura per attivare l'autenticazione Cassandra e impostare il nome utente e la password:

  1. Accedi al primo nodo Cassandra.
  2. Esegui questo comando:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Questo comando consente l'autenticazione e riavvia Cassandra.

  3. Ripeti i passaggi 1 e 2 su tutti i nodi Cassandra.
  4. Accedi a qualsiasi nodo Cassandra utilizzando lo strumento cqlsh e le credenziali predefinite. Devi cambiare la password su un solo nodo Cassandra e la password verrà trasmessa a tutti i nodi Cassandra nell'anello:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Dove

    • cassIP è l'indirizzo IP del nodo Cassandra.
    • 9042 è la porta di Cassandra.
    • L'utente predefinito è cassandra.
    • La password predefinita è cassandra. Se hai modificato la password in precedenza, utilizza la password attuale.
  5. Esegui questo comando alla richiesta di cqlsh> per aggiornare la password:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Esegui questo comando alla richiesta di cqlsh> per assicurarti che lo spazio delle chiavi sia sempre disponibile. Per un singolo data center:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
    Per due data center:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Esci dallo strumento cqlsh:
    exit
  8. Esegui nodetool repair per assicurarti che la modifica venga propagata a tutti i nodi Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] repair system_auth

    Devi passare il nome utente e la password solo se hai attivato l'autenticazione JMX per Cassandra.