Abilita autenticazione Cassandra

Edge for Private Cloud v. 4.17.05

Per impostazione predefinita, Cassandra viene installato senza autenticazione abilitata. Ciò significa che chiunque può accedere a Cassandra. Puoi attivare l'autenticazione dopo aver installato Edge o durante il processo 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 CREATE/ALTER/DROP USER di Cassandra.

Per saperne di più, consulta http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

Abilita l'autenticazione Cassandra durante l'installazione

Puoi abilitare 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. Devi eseguire questo passaggio manualmente al termine dell'installazione di Cassandra.

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

Per attivare l'autenticazione di 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
  • Stack BaaS

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 aver installato 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:

  1. Accedi a un nodo Cassandra utilizzando lo strumento cqlsh e le credenziali predefinite. Devi modificare la password solo 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 Cassandra predefinita.
    3. L'utente predefinito è cassandra.
    4. La password predefinita è cassandra. Se hai modificato la password in precedenza, utilizza la password corrente.
  2. Esegui il seguente comando al prompt 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 di 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=NEW_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 Reimpostazione delle password di Edge per la procedura di aggiornamento di questi componenti per l'utilizzo della nuova password.

Abilita 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 un nodo qualsiasi. Devi solo modificare le credenziali su un nodo Cassandra e 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 questo passaggio deve essere eseguito prima di aggiornare effettivamente le credenziali di 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 CASS_USERNAME -p CASS_PASSWORD

    Facoltativamente, puoi passare al comando un file 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 questo comando per generare una password criptata:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Questo comando richiede 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, crealo:
      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 di conseguenza il valore di usergrid-deployment_cassandra.username.

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

      Nota: ogni nodo BaaS Stack ha una chiave univoca utilizzata per criptare la password. Pertanto, devi generare il valore criptato su ogni nodo dello stack BaaS separatamente.
    3. Cambia la proprietà del file usergrid.properties in modo che appartenga 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 dello stack BaaS.

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 attiva l'autenticazione e riavvia Cassandra.

  3. Ripeti i passaggi 1 e 2 su tutti i nodi Cassandra.
  4. Accedi a un nodo Cassandra utilizzando lo strumento cqlsh e le credenziali predefinite. Devi modificare la password su un solo nodo Cassandra e 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 Cassandra.
    • L'utente predefinito è cassandra.
    • La password predefinita è cassandra. Se hai modificato la password in precedenza, utilizza la password corrente.
  5. Esegui questo 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