Cassandra-Authentifizierung aktivieren

Edge for Private Cloud v4.18.01

Standardmäßig wird Cassandra ohne aktivierte Authentifizierung installiert. Das bedeutet, dass jeder auf Cassandra zugreifen kann. Sie können die Authentifizierung nach der Installation von Edge oder im Rahmen des Installationsvorgangs aktivieren.

Wenn Sie die Authentifizierung für Cassandra aktivieren, werden die folgenden Standardanmeldedaten verwendet:

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

Sie können dieses Konto verwenden, ein anderes Passwort für dieses Konto festlegen oder einen neuen Cassandra-Nutzer erstellen. Nutzer mit den Cassandra-Anweisungen CREATE/ALTER/DROP USER hinzufügen, entfernen und ändern.

Weitere Informationen finden Sie unter Cassandra-SQL-Shell-Befehle.

Cassandra-Authentifizierung während der Installation aktivieren

Sie können die Cassandra-Authentifizierung während der Installation aktivieren. Sie können die Authentifizierung zwar bei der Installation von Cassandra aktivieren, aber den Standardnutzernamen und das Standardpasswort nicht ändern. Diesen Schritt müssen Sie nach Abschluss der Installation von Cassandra manuell ausführen.

Hinweis: Verwenden Sie dieses Verfahren, wenn Sie Cassandra mit den Optionen „-p c“, „-p ds“, „-p sa“, „-p aio“, „-p asa“ und „-p ebp“ installieren.

Wenn Sie die Cassandra-Authentifizierung bei der Installation aktivieren möchten, fügen Sie das Attribut CASS_AUTH in die Konfigurationsdatei für alle Cassandra-Knoten ein:

CASS_AUTH=y # The default value is n.

Die folgenden Edge-Komponenten greifen auf Cassandra zu:

  • Verwaltungsserver
  • Message Processors
  • Router
  • Qpid-Server
  • Postgres-Server
  • BaaS-Stack

Wenn Sie diese Komponenten installieren, müssen Sie daher die folgenden Attribute in der Konfigurationsdatei festlegen, um die Cassandra-Anmeldedaten anzugeben:

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

Sie können die Cassandra-Anmeldedaten nach der Installation von Cassandra ändern. Wenn Sie jedoch bereits den Management Server, Message Processors, Router, Qpid-Server, Postgres-Server oder BaaS-Stack installiert haben, müssen Sie diese Komponenten ebenfalls aktualisieren, um die neuen Anmeldedaten zu verwenden.

So ändern Sie die Cassandra-Anmeldedaten nach der Installation von Cassandra:

  1. Melden Sie sich mit dem cqlsh-Tool und den Standardanmeldedaten bei einem beliebigen Cassandra-Knoten an. Sie müssen das Passwort nur auf einem Knoten ändern. Es wird dann an alle Cassandra-Knoten im Ring übertragen:
    > /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
    ?Wobei:
    1. cassIP ist die IP-Adresse des Cassandra-Knotens.
    2. 9042 ist der Standard-Cassandra-Port.
    3. Der Standardnutzer ist cassandra.
    4. Das Standardpasswort ist cassandra. Wenn Sie das Passwort zuvor geändert haben, verwenden Sie das aktuelle Passwort.
  2. Führen Sie den folgenden Befehl an der Eingabeaufforderung cqlsh> aus, um das Passwort zu aktualisieren:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Beenden Sie das cqlsh-Tool:
    cqlsh> exit
  4. Wenn Sie den Management Server, die Message Processors, Router, Qpid-Server, Postgres-Server oder den BaaS-Stack noch nicht installiert haben, legen Sie die folgenden Attribute in der Konfigurationsdatei fest und installieren Sie dann diese Komponenten:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Wenn Sie den Management Server, die Message Processors, Router, Qpid-Server, Postgres-Server oder den BaaS-Stack bereits installiert haben, finden Sie unter Edge-Passwörter zurücksetzen eine Anleitung, wie Sie diese Komponenten aktualisieren, um das neue Passwort zu verwenden.

Cassandra-Authentifizierung nach der Installation aktivieren

So aktivieren Sie die Authentifizierung:

  • Aktualisieren Sie alle Edge-Komponenten, die eine Verbindung zu Cassandra herstellen, mit dem Cassandra-Nutzernamen und -Passwort.
  • Aktivieren Sie die Authentifizierung auf allen Cassandra-Knoten.
  • Legen Sie den Cassandra-Nutzernamen und das Passwort auf einem beliebigen Knoten fest. Sie müssen die Anmeldedaten nur auf einem Cassandra-Knoten ändern. Sie werden dann an alle Cassandra-Knoten im Ring übertragen.

Gehen Sie so vor, um alle Edge-Komponenten, die mit Cassandra kommunizieren, mit den neuen Anmeldedaten zu aktualisieren. Beachten Sie, dass Sie diesen Schritt ausführen, bevor Sie die Cassandra-Anmeldedaten tatsächlich aktualisieren:

  1. Führen Sie auf dem Management Server-Knoten den folgenden Befehl aus:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    Optional können Sie eine Datei mit dem neuen Nutzernamen und Passwort an den Befehl übergeben:
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    Dabei enthält die configFile Folgendes:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    Dieser Befehl startet den Management Server automatisch neu.
  2. Wiederholen Sie Schritt 1 auf:
    • Alle Message Processors
    • Alle Router
    • Alle Qpid-Server (edge-qpid-server)
    • Postgres-Server (edge-postgres-server)
  3. Auf dem BaaS-Stack-Knoten für Version 4.16.05.04 und höher:
    1. Führen Sie den folgenden Befehl aus, um ein verschlüsseltes Passwort zu generieren:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Dieser Befehl fordert Sie zur Eingabe des Passworts im Nur-Text-Format auf und gibt das verschlüsselte Passwort im folgenden Format zurück:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. Legen Sie die folgenden Tokens in /opt/apigee/customer/application/usergrid.properties fest. Wenn diese Datei nicht vorhanden ist, erstellen Sie sie:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      In diesem Beispiel wird der Standardnutzername für Cassandra verwendet. Wenn Sie den Nutzernamen geändert haben, legen Sie den Wert von usergrid-deployment_cassandra.username entsprechend fest.

      Achten Sie darauf, das Präfix „SECURE:“ im Passwort anzugeben. Andernfalls interpretiert der BaaS-Stack den Wert als unverschlüsselt.

      Hinweis: Jeder BaaS-Stack-Knoten hat einen eigenen eindeutigen Schlüssel, der zum Verschlüsseln des Passworts verwendet wird. Daher müssen Sie den verschlüsselten Wert auf jedem BaaS-Stack-Knoten separat generieren.
    3. Ändern Sie die Eigentümerschaft der Datei usergrid.properties in den Nutzer „apigee“:
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Konfigurieren Sie den Stack-Knoten:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. Starten Sie den BaaS-Stack neu:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Wiederholen Sie diese Schritte für alle BaaS-Stack-Knoten.

Gehen Sie so vor, um die Cassandra-Authentifizierung zu aktivieren und den Nutzernamen und das Passwort festzulegen:

  1. Melden Sie sich beim ersten Cassandra-Knoten an.
  2. Führen Sie dazu diesen Befehl aus:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Mit diesem Befehl wird die Authentifizierung aktiviert und Cassandra neu gestartet.

  3. Wiederholen Sie die Schritte 1 und 2 auf allen Cassandra-Knoten.
  4. Melden Sie sich mit dem cqlsh-Tool und den Standardanmeldedaten bei einem beliebigen Cassandra-Knoten an. Sie müssen das Passwort nur auf einem Cassandra-Knoten ändern. Es wird dann an alle Cassandra-Knoten im Ring übertragen:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Dabei gilt:

    • cassIP ist die IP-Adresse des Cassandra-Knotens.
    • 9042 ist der Cassandra-Port.
    • Der Standardnutzer ist cassandra.
    • Das Standardpasswort ist cassandra. Wenn Sie das Passwort zuvor geändert haben, verwenden Sie das aktuelle Passwort.
  5. Führen Sie den folgenden Befehl an der cqlsh>-Eingabeaufforderung aus, um das Passwort zu aktualisieren:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Führen Sie den folgenden Befehl an der Eingabeaufforderung cqlsh> aus, um sicherzustellen, dass der Schlüsselbereich immer verfügbar ist. Für ein einzelnes Rechenzentrum:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
    Für zwei Rechenzentren:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Schließen Sie das cqlsh-Tool:
    exit
  8. Führen Sie nodetool repair aus, um sicherzustellen, dass die Änderung an alle Cassandra-Knoten weitergegeben wird:
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth