Włącz uwierzytelnianie Cassandra

Domyślnie Cassandra jest instalowana bez włączonego uwierzytelniania. Oznacza to, że każdy, kto ma dostęp do serwera Cassandra, może wysyłać zapytania do bazy danych Cassandra bez uwierzytelniania. Uwierzytelnianie możesz włączyć po zainstalowaniu Edge lub w ramach procesu instalacji.

Jeśli zdecydujesz się włączyć uwierzytelnianie w systemie Cassandra bez podawania własnych danych logowania, użyje on tych domyślnych danych logowania:

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

Możesz użyć tego konta użytkownika, ustawić dla niego inne hasło lub utworzyć nowego użytkownika Cassandra. Dodawaj, usuwaj i modyfikuj użytkowników za pomocą instrukcji Cassandra CREATE/ALTER/DROP USER.

Więcej informacji znajdziesz w artykule o poleceniach powłoki SQL Cassandra.

Włączanie uwierzytelniania Cassandra podczas instalacji

Uwierzytelnianie Cassandra możesz włączyć podczas instalacji. Podczas instalacji Cassandry możesz włączyć uwierzytelnianie, ale zawsze używaj domyślnej nazwy użytkownika i hasła (‘cassandra’:’cassandra’). Jeśli chcesz używać danych logowania do systemu Cassandra innych niż domyślne, po instalacji musisz ponownie włączyć uwierzytelnianie w systemie Cassandra, wykonując czynności opisane tutaj.

Jeśli chcesz włączyć uwierzytelnianie Cassandra podczas nowej instalacji Cassandra, uwzględnij w pliku konfiguracji poniższe właściwości dla wszystkich węzłów Cassandra:

CASS_AUTH=y
CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

Instalacja skonfiguruje system Cassandra z włączonym uwierzytelnianiem i domyślnymi danymi logowania cassandra:cassandra.

Po zakończeniu instalacji początkowej możesz wykonać co najmniej 1 z tych czynności:

  • Utwórz alternatywnego użytkownika, który będzie używany do uwierzytelniania w systemie Cassandra, wykonując procedurę opisaną tutaj.
  • Zmień hasło domyślnego użytkownika Cassandra, wykonując czynności opisane tutaj.
  • Zainstaluj komponenty Edge, które używają Cassandry, aby korzystać z danych logowania ustawionych powyżej.

Komponenty Edge, które łączą się z Cassandra

Dostęp do Cassandra mają te komponenty Edge:

  • Serwer zarządzania
  • procesory komunikatów,
  • Routery
  • Serwery Qpid
  • Serwery Postgres

Instalowanie komponentów Edge, gdy uwierzytelnianie Cassandra jest włączone

Jeśli podczas pierwszej instalacji tych komponentów Edge masz włączone uwierzytelnianie Cassandra, w pliku konfiguracji instalacji dyskretnej musisz podać te ustawienia:

CASS_AUTH=Y
CASS_USERNAME=<valid username in Cassandra>
CASS_PASSWORD=<password for the above username>

Po zainstalowaniu Cassandry możesz zmienić jej dane logowania. Jeśli jednak masz już zainstalowany serwer zarządzania, procesory komunikatów, routery, serwery Qpid lub serwery Postgres, musisz też zaktualizować te komponenty, aby używały nowych danych logowania, zgodnie z opisem w następnej sekcji.

Aktualizowanie komponentów Edge, które łączą się z Cassandra

Aby zaktualizować wszystkie komponenty Edge, które komunikują się z systemem Cassandra, za pomocą nowych danych logowania, wykonaj te czynności. Pamiętaj, że musisz wykonać ten krok, zanim zaktualizujesz dane logowania do Cassandra:

  1. Na 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 characters.

    To polecenie automatycznie uruchamia ponownie serwer zarządzania.

  2. Powtórz krok 1 dla każdej z tych usług:
    • Wszystkie procesory komunikatów
    • Wszystkie routery
    • Wszystkie serwery Qpid (edge-qpid-server)
    • Serwery Postgres (edge-postgres-server)

    Gdy powtórzysz krok 1 dla każdej usługi, zastąp edge-management-server w powyższym poleceniu odpowiednią nazwą usługi. Na przykład podczas wykonywania kroku dla usługi routera użyj tego polecenia:

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

    Włączanie uwierzytelniania Cassandra po instalacji

    W poniższych sekcjach opisano, jak włączyć uwierzytelnianie Cassandra po instalacji.

    Włączanie uwierzytelniania Cassandra w konfiguracji z jednym centrum danych

    W przypadku konfiguracji Apigee opartej na jednym centrum danych, w którym jest już zainstalowana Cassandra, możesz:

    Uwaga: użytkownik „Cassandra” jest specjalnym użytkownikiem w Cassandra. Uwierzytelnianie za pomocą tego użytkownika wymaga spójności QUORUM. Zobacz Informacje o poziomach spójności Cassandra.

    Włączanie uwierzytelniania Cassandra, gdy jest wiele centrów danych

    Podczas rozszerzania centrów danych wykonaj czynności opisane w jednym z poniższych scenariuszy, w zależności od tego, który odpowiada Twojej konfiguracji.

    Scenariusz 1. Istniejące centrum danych ma włączone uwierzytelnianie Cassandra

    Jeśli uwierzytelnianie Cassandra jest już włączone w istniejącym centrum danych z domyślnymi danymi logowania cassandra:cassandra, wykonaj te czynności:

    1. Skonfiguruj nowe centrum danych z domyślnymi danymi logowania Cassandra:Cassandra i CASS_AUTH=y. Zobacz Włączanie uwierzytelniania Cassandra po raz pierwszy.
    2. Zainstaluj komponenty Edge w nowym centrum danych, używając domyślnych danych logowania Cassandra.

    Jeśli uwierzytelnianie Cassandra jest już włączone w istniejącym centrum danych z niedomyślnymi danymi logowania, wykonaj te czynności:

    1. Skonfiguruj nowe centrum danych z domyślnymi danymi logowania Cassandra:Cassandra i CASS_AUTH=y. Zobacz Włączanie uwierzytelniania Cassandra po raz pierwszy.
    2. Wykonaj czynności opisane w sekcji Włączanie uwierzytelniania Cassandra po raz pierwszy, aby ponownie użyć danych logowania z istniejącego centrum danych (jeśli istniejące centrum danych używa danych logowania innych niż domyślne).
    3. Zainstaluj komponenty Edge w nowym centrum danych, używając niestandardowych danych logowania Cassandra.

    Scenariusz 2. Istniejące centrum danych nie ma włączonego uwierzytelniania Cassandra

    Jeśli uwierzytelnianie Cassandra nie jest włączone, wykonaj te czynności:

    1. Skonfiguruj nowe centrum danych bez uwierzytelniania Cassandra.
    2. Wykonaj czynności opisane w sekcji Włączanie uwierzytelniania Cassandra po raz pierwszy, aby włączyć uwierzytelnianie Cassandra w klastrze (po rozszerzeniu).
    3. Zaktualizuj komponenty Edge, które łączą się z systemem Cassandra, wykonując czynności opisane tutaj.

    Włączanie uwierzytelniania Cassandra po raz pierwszy

    Aby po raz pierwszy włączyć uwierzytelnianie w systemie Cassandra lub utworzyć nową nazwę użytkownika i hasło:

    1. Utwórz plik konfiguracji instalacji dyskretnej o następującej 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 # Default value is cassandra
      # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
      CASS_PASSWORD=cassandra # Default value is cassandra
      
      # 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 change details of the default cassandra user(‘cassandra’)
      CASS_EXISTING_USERNAME=cassandra  # The default username is cassandra
      # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
      CASS_EXISTING_PASSWORD=cassandra  # The default password is cassandra
      
      # Cassandra port
      CASS_PORT=9042 # The default port is 9042.
    2. Zaloguj się w pierwszym węźle Cassandra i wykonaj to polecenie:
      apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

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

      CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra  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 ponownie uruchamia Cassandra.
      • W przypadku danych logowania innych niż domyślne polecenie zmienia też współczynnik replikacji, tworzy superużytkownika i uruchamia naprawę przestrzeni kluczy system_auth.
    3. Powtórz kroki 1 i 2 na wszystkich węzłach Cassandra, jeden po drugim.

    Zmiana danych logowania do systemu Cassandra po jego zainstalowaniu

    Aby zmienić dane logowania do Cassandra po zainstalowaniu Cassandra:

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

      Gdzie:

      1. cassIP to adres IP węzła Cassandra.
      2. 9042 to domyślny port Cassandra.
      3. Domyślny użytkownik to cassandra.
      4. Domyślne hasło to cassandra. Jeśli hasło zostało wcześniej zmienione, użyj bieżącego hasła. Jeśli hasło zawiera znaki specjalne, umieść je w pojedynczych cudzysłowach.
    2. Aby zaktualizować hasło, uruchom to polecenie w wierszu poleceń cqlsh>:
      ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
    3. Zamknij narzędzie cqlsh, jak w tym przykładzie:
      exit
    4. Jeśli nie masz jeszcze zainstalowanego serwera zarządzania, procesorów komunikatów, routerów, serwerów Qpid ani serwerów Postgres, ustaw te właściwości w pliku konfiguracji, a następnie zainstaluj te komponenty:
      CASS_USERNAME=cassandra
      CASS_PASSWORD=NEW_PASSWORD
    5. Jeśli masz już zainstalowany serwer zarządzania, procesory komunikatów, routery, serwery Qpid lub serwery Postgres, zapoznaj się z artykułem Resetowanie haseł Edge, aby dowiedzieć się, jak zaktualizować te komponenty, aby używały nowego hasła.