Abilita autenticazione Cassandra

Edge for Private Cloud versione 4.17.01

Per impostazione predefinita, Cassandra esegue installazioni senza autenticazione abilitata. Ciò significa che chiunque può accedere a Cassandra. Puoi attivare l'autenticazione dopo l'installazione di Edge o nell'ambito della procedura di installazione.

Se decidi di attivare l'autenticazione su Cassandra, vengono utilizzate le seguenti credenziali predefinite:

  • username = 'cassandra'
  • password = 'cassandra'

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

Per ulteriori informazioni, visita la pagina http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

Attiva l'autenticazione Cassandra durante l'installazione

Puoi attivare l'autenticazione Cassandra al momento dell'installazione. Tuttavia, anche se puoi attivare l'autenticazione quando installi Cassandra, non puoi modificare il nome utente e la password predefiniti. Questo passaggio deve essere eseguito manualmente al termine dell'installazione di Cassandra.

Nota: utilizza questa procedura per installare Cassandra utilizzando le opzioni "-p c", "-p ds", "-p sa", "-p aio", "-p asa" e "-p ebp".

Per attivare 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 Edge accedono a Cassandra:

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

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

Puoi modificare le credenziali di Cassandra dopo l'installazione di Cassandra. Tuttavia, se hai già installato il server di gestione, i processori di messaggi, i router, i server Qpid, i server Postgres o lo stack BaaS, devi aggiornare anche questi componenti per utilizzare le nuove credenziali.

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

  1. Accedi a un nodo Cassandra utilizzando lo strumento cqlsh e le credenziali predefinite. Devi solo cambiare la password su un nodo e 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 predefinita di Cassandra.
    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 come richiesta cqlsh> per aggiornare la password:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Esci dallo strumento cqlsh:
    cqlsh> exit
  4. Se non hai ancora installato il server di gestione, i processori dei messaggi, i router, i server Qpid, i server Postgres o lo stack BaaS, imposta le seguenti proprietà nel file di configurazione e poi installa i componenti:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NUOVA_PASSWORD
  5. Se hai già installato il server di gestione, i processori di messaggi, i router, i server Qpid, i server Postgres o lo stack BaaS, consulta la sezione Reimpostazione delle password di Edge per la procedura di aggiornamento di questi componenti in modo che utilizzino la nuova password.

Attivare l'autenticazione Cassandra dopo l'installazione

Per attivare l'autenticazione:

  • Aggiorna tutti i componenti Edge che si connettono a Cassandra con il nome utente e la password di Cassandra.
  • Su tutti i nodi Cassandra, abilita l'autenticazione.
  • Imposta il nome utente e la password di Cassandra su qualsiasi nodo. È sufficiente modificare le credenziali su un nodo Cassandra, che verranno trasmesse a tutti i nodi Cassandra nell'anello.

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

  1. Sul nodo del server di gestione, esegui il seguente comando:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    Se vuoi, 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
    CASS_PASSWORD=CASS_PASSWROD


    Questo comando riavvia automaticamente il server di gestione.
  2. Ripeti il passaggio 1 su:
    • Tutti i processori di messaggi
    • Tutti i router
    • Tutti i server Qpid (edge-qpid-server)
    • Server Postgres (edge-postgres-server)
  3. Sul nodo dello stack BaaS per la versione 4.16.05.04 e successive:
    1. Esegui il seguente comando per generare una password criptata:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Questo comando ti chiede la password in testo normale e restituisce la password criptata nel formato:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. Imposta i seguenti token in /opt/apigee/customer/application/usergrid.properties. Se il file non esiste, creane uno:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      Questo esempio utilizza il nome utente predefinito per Cassandra. Se hai modificato il nome utente, imposta il valore di usergrid-deployment_cassandra.username di conseguenza.

      Assicurati di includere il prefisso "SECURE:" nella password. In caso contrario, lo stack BaaS interpreta il valore come non criptato.

      Nota: ogni nodo dello stack BaaS ha una propria chiave univoca utilizzata per criptare la password. Di conseguenza, devi generare separatamente il valore criptato su ciascun nodo dello stack BaaS.
    3. Modifica la proprietà del file usergrid.properties assegnandola all'utente 'apigee':
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Configura il nodo Stack:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. Riavvia lo stack BaaS:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Ripeti questi passaggi per tutti i nodi BaaS Stack.

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 abilita 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 solo cambiare la password su un nodo Cassandra e verrà comunicata a tutti i nodi Cassandra dell'anello:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Dove

    • cassIP è l'indirizzo IP del nodo Cassandra.
    • 9042 è la porta Cassandra.
    • L'utente predefinito è cassandra.
    • La password predefinita è cassandra. Se hai cambiato la password in precedenza, usa la password attuale.
  5. Esegui il seguente comando al prompt cqlsh> per aggiornare la password:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Esegui questo comando al prompt 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 repair system_auth