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:
- 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
configFilezawiera 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.
- 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-serverw 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:
- Włącz uwierzytelnianie Cassandra po raz pierwszy, używając domyślnego użytkownika Cassandra (
cassandra:cassandra) lub tworząc zupełnie nowego superużytkownika. Aby to zrobić, wykonaj te czynności:- Wykonaj czynności opisane w sekcji Włączanie uwierzytelniania Cassandra po raz pierwszy.
- Zaktualizuj komponenty Edge, które łączą się z Cassandrą, podając nazwę użytkownika i hasło do Cassandry.
- Zmień hasło istniejącego użytkownika Cassandra.
Jeśli masz włączone uwierzytelnianie Cassandra przy użyciu domyślnych danych logowania Cassandra (
cassandra:cassandra), możesz zmienić hasło, wykonując te czynności:- Zmień hasło użytkownika Cassandra.
- Zaktualizuj komponenty Edge, które łączą się z Cassandrą, podając nazwę użytkownika i hasło do Cassandry.
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:- Skonfiguruj nowe centrum danych z domyślnymi danymi logowania Cassandra:Cassandra i CASS_AUTH=y. Zobacz Włączanie uwierzytelniania Cassandra po raz pierwszy.
- 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:
- Skonfiguruj nowe centrum danych z domyślnymi danymi logowania Cassandra:Cassandra i CASS_AUTH=y. Zobacz Włączanie uwierzytelniania Cassandra po raz pierwszy.
- 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).
- 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:
- Skonfiguruj nowe centrum danych bez uwierzytelniania Cassandra.
- Wykonaj czynności opisane w sekcji Włączanie uwierzytelniania Cassandra po raz pierwszy, aby włączyć uwierzytelnianie Cassandra w klastrze (po rozszerzeniu).
- 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:
- 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.
- 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.
- 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:
- Zaloguj się w dowolnym węźle Cassandra za pomocą narzędzia
cqlshi 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:
- cassIP to adres IP węzła Cassandra.
- 9042 to domyślny 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. Jeśli hasło zawiera znaki specjalne, umieść je w pojedynczych cudzysłowach.
- Aby zaktualizować hasło, uruchom to polecenie w wierszu poleceń
cqlsh>:ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- Zamknij narzędzie
cqlsh, jak w tym przykładzie:exit
- 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
- 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.