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.
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łączanie uwierzytelniania Cassandra podczas instalacji
Uwierzytelnianie Cassandra możesz włączyć podczas instalacji.
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
Podczas instalowania tych komponentów musisz ustawić nazwę użytkownika i hasło w pliku konfiguracji:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
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:
- 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_username -p cassandra_password
Gdzie:
- cassIP to adres IP węzła Cassandra.
- 9042 to domyślny port Cassandra.
- Aby zaktualizować hasło, uruchom to polecenie w wierszu poleceń
cqlsh>:ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_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_username CASS_PASSWORD=new_cassandra_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.
Włączanie uwierzytelniania Cassandra po instalacji
Aby włączyć uwierzytelnianie po instalacji:
- 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 i ustaw nazwę użytkownika oraz 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.
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 ten krok należy wykonać przed zaktualizowaniem danych logowania 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
configFile zawiera te informacje:
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 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
Aby włączyć uwierzytelnianie Cassandra i ustawić nazwę użytkownika oraz hasło, wykonaj te czynności:
- 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_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.
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=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 ponownie uruchamia system Cassandra.
- W przypadku danych logowania innych niż domyślne polecenie zmienia też współczynnik replikacji, tworzy superużytkownika i uruchamia naprawę w
system_auth keyspace.
- Powtórz kroki 1 i 2 na wszystkich węzłach Cassandra.