Włącz uwierzytelnianie Cassandra

Domyślnie aplikacja Cassandra instaluje się bez włączonego uwierzytelniania. Oznacza to, że każdy może uzyskać dostęp do Cassandra. Uwierzytelnianie możesz włączyć po zainstalowaniu Edge lub podczas instalacji.

Możesz dodawać, usuwać i modyfikować użytkowników za pomocą instrukcji CREATE/ALTER/DROP USER Cassandra. Więcej informacji znajdziesz w artykule Polecenia powłoki Cassandra SQL.

Włącz uwierzytelnianie Cassandra podczas instalacji

Uwierzytelnianie Cassandra możesz włączyć podczas instalacji.

Aby włączyć uwierzytelnianie Cassandra podczas instalacji, umieść właściwość CASS_AUTH w pliku konfiguracji wszystkich węzłów Cassandra:

CASS_AUTH=y # The default value is n.

Do Cassandra mają dostęp te komponenty Edge:

  • Serwer zarządzania
  • Procesory wiadomości
  • Routery
  • Serwery Qpid
  • Serwery Postgres

Po zainstalowaniu tych komponentów musisz ustawić nazwę użytkownika i hasło w pliku konfiguracji:

CASS_USERNAME=cassandra_username
CASS_PASSWORD=cassandra_password

Po zainstalowaniu aplikacji Cassandra możesz zmienić dane logowania do Cassandra. Jeśli jednak masz już zainstalowane serwery zarządzania, procesory wiadomości, routery, serwery Qpid lub Postgres, musisz zaktualizować te komponenty, aby używały nowych danych logowania.

Aby zmienić dane logowania Cassandra po zainstalowaniu aplikacji Cassandra:

  1. Zaloguj się w dowolnym węźle Cassandra za pomocą narzędzia cqlsh i domyślnych danych logowania. Wystarczy zmienić hasło w 1 węźle. Zostanie ono rozesłane do wszystkich węzłów Cassandra w pierścieniu:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    Gdzie:

    1. cassIP to adres IP węzła Cassandra.
    2. 9042 jest domyślnym portem Cassandra.
  2. Aby zaktualizować hasło, wykonaj to polecenie w wierszu cqlsh>:
    ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
  3. Zamknij narzędzie cqlsh, jak pokazano w tym przykładzie:
    exit
  4. Jeśli nie masz jeszcze zainstalowanych serwerów zarządzania, procesorów wiadomości, routerów, serwerów Qpid lub Postgres, ustaw te właściwości w pliku konfiguracyjnym, a następnie zainstaluj te komponenty:
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. Jeśli masz już zainstalowane serwery zarządzania, procesory wiadomości, routery, serwery Qpid lub Postgres, zapoznaj się z sekcją dotyczącą resetowania haseł brzegowych, aby zapoznać się z procedurą aktualizowania tych komponentów tak, aby używały nowego hasła.

Włącz uwierzytelnianie Cassandra po instalacji

Aby włączyć uwierzytelnianie po instalacji:

Aktualizowanie komponentów brzegowych łączących się z usługą Cassandra

Wykonaj opisane poniżej czynności, aby zaktualizować wszystkie komponenty Edge, które komunikują się z Cassandra, przy użyciu nowych danych logowania. Uwaga: musisz wykonać ten krok przed zaktualizowaniem danych logowania do Cassandra:

  1. W węźle serwera zarządzania uruchom to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server
      store_cassandra_credentials -u cassandra_username -p cassandra_password

    Opcjonalnie możesz przekazać do polecenia plik zawierający nową nazwę użytkownika i hasło:

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

    Gdzie configFile zawiera te elementy:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars

    To polecenie automatycznie ponownie uruchamia serwer zarządzania.

  2. W przypadku każdej z tych usług powtórz krok 1:
    • Wszystkie procesory wiadomości
    • Wszystkie routery
    • Wszystkie serwery Qpid (edge-qpid-server)
    • Serwery Postgres (edge-postgres-server)

    Powtarzając krok 1 dla każdej usługi, zastąp edge-management-server w powyższym poleceniu odpowiednią nazwą usługi. Jeśli na przykład wykonujesz krok dotyczący usługi Router, użyj tego polecenia:

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

Włączanie uwierzytelniania

Wykonaj te czynności, aby włączyć uwierzytelnianie Cassandra oraz ustawić nazwę użytkownika i hasło:

  1. Utwórz plik konfiguracji w trybie cichym z tą zawartością:
    # Specify IP address or DNS name of cassandra node
    IP1=192.168.1.1
    IP2=192.168.1.2
    IP3=192.168.1.3
    # Must resolve to IP address or DNS name of host
    HOSTIP=$(hostname -i)
    # Set to ‘y’ to enable Cassandra authentication.
    CASS_AUTH=y # Possible values are ‘y/n’
    # Cassandra username. If it does not exist, this user would be created as a SUPERUSER
    CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production
    # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
    CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production
    # Space-separated IP/DNS names of the Cassandra hosts
    CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
    
    # Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’)
    CASS_EXISTING_USERNAME=existing_cassandra_username
    # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
    CASS_EXISTING_PASSWORD=existing_cassandra_password
    # Cassandra port
    CASS_PORT=9042 # The default port is 9042.
  2. Zaloguj się do pierwszego węzła Cassandra i wykonaj następujące polecenie:

    apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

    Opcjonalnie możesz przekazać do skryptu właściwości jako argumenty polecenia, jak w tym przykładzie:

    CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password  CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication

    Uwagi:

    • W przypadku domyślnych danych logowania Cassandra powyższe polecenie włącza uwierzytelnianie Cassandra i powoduje ponowne uruchomienie aplikacji Cassandra.
    • W przypadku danych logowania innych niż domyślne polecenie zmienia też współczynnik replikacji, tworzy superużytkownika i uruchamia naprawę na urządzeniu system_auth keyspace.
  3. Powtórz kroki 1 i 2 we wszystkich węzłach Cassandra.