Włącz uwierzytelnianie Cassandra

Edge dla chmury prywatnej w wersji 4.19.01

Domyślnie Cassandra jest instalowana bez włączonego uwierzytelniania. Oznacza to, że każdy może uzyskać dostęp do systemu Cassandra. Uwierzytelnianie możesz włączyć po zainstalowaniu Edge lub w ramach procesu instalacji.

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

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

Możesz użyć tego konta, 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 instalowania Cassandry możesz włączyć uwierzytelnianie, ale nie możesz zmienić domyślnej nazwy użytkownika i hasła. Po zakończeniu instalacji Cassandry musisz wykonać ten krok ręcznie.

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

CASS_AUTH=y # The default value is n.

Dostęp do Cassandra mają te komponenty Edge:

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

Dlatego podczas instalowania tych komponentów musisz ustawić te właściwości w pliku konfiguracji, aby określić dane logowania do Cassandra:

CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

Dane logowania do Cassandry możesz zmienić po jej zainstalowaniu. 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.

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.
  2. Aby zaktualizować hasło, uruchom to polecenie w wierszu poleceń cqlsh>:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Zamknij narzędzie cqlsh:
    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.

Włączanie uwierzytelniania Cassandra po instalacji

Aby włączyć uwierzytelnianie:

  • Zaktualizuj wszystkie komponenty Edge, które łączą się z Cassandra, podając nazwę użytkownika i hasło Cassandra.
  • Włącz uwierzytelnianie we wszystkich węzłach Cassandra.
  • Ustaw nazwę użytkownika i hasło Cassandra w dowolnym węźle. Wystarczy, że zmienisz dane logowania na jednym węźle Cassandra, a zostaną one rozesłane do wszystkich węzłów Cassandra w pierścieniu.

Aby zaktualizować wszystkie komponenty Edge, które komunikują się z systemem Cassandra, za pomocą nowych danych logowania, wykonaj te czynności. Pamiętaj, że ten krok należy wykonać przed zaktualizowaniem danych logowania 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

    configFile zawiera te informacje:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD=cassandra_password # Default is cassandra

    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

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

  1. Zaloguj się w pierwszym węźle Cassandra.
  2. Uruchom to polecenie:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    To polecenie włącza uwierzytelnianie i ponownie uruchamia Cassandrę.

  3. Powtórz kroki 1 i 2 na wszystkich węzłach Cassandra.
  4. 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 Cassandra, 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

    • cassIP to adres IP węzła Cassandra.
    • 9042 to port Cassandra.
    • Domyślny użytkownik to cassandra.
    • Domyślne hasło to cassandra. Jeśli hasło zostało wcześniej zmienione, użyj bieżącego hasła.
  5. Aby zaktualizować hasło, uruchom to polecenie w wierszu poleceń cqlsh>:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Aby mieć pewność, że przestrzeń kluczy jest zawsze dostępna, uruchom w wierszu poleceń cqlsh> to polecenie. W przypadku jednego centrum danych:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
    W przypadku 2 centrów danych:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Zamknij narzędzie cqlsh:
    exit
  8. Uruchom nodetool repair, aby upewnić się, że zmiana została rozpowszechniona we wszystkich węzłach Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] repair system_auth

    Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy uwierzytelnianie JMX jest włączone w przypadku Cassandry.