Włącz uwierzytelnianie Cassandra

Edge for Private Cloud w wersji 4.17.01

Domyślnie Cassandra instaluje się bez uwierzytelniania. Oznacza to, że każdy może uzyskać dostęp do Cassandra. Możesz włączyć uwierzytelnianie po zainstalowaniu przeglądarki Edge lub w ramach procesu instalacji.

Jeśli zdecydujesz się włączyć uwierzytelnianie w Cassandra, usługa ta będzie używać tych domyślnych danych logowania:

  • username = 'cassandra'
  • hasło = 'cassandra'

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

Więcej informacji znajdziesz na stronie http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

Włączanie uwierzytelniania Cassandra podczas instalacji

Możesz włączyć uwierzytelnianie Cassandra w momencie instalacji. Chociaż można włączyć uwierzytelnianie podczas instalacji Cassandra, nie można zmienić domyślnej nazwy użytkownika ani hasła. Po zakończeniu instalacji systemu Cassandra musisz wykonać ten krok ręcznie.

Uwaga: stosuj tę procedurę podczas instalowania Cassandra za pomocą opcji „-p c”, „-p ds”, „-p sa”, „-p aio”, „-p asa” i „-p ebp”.

Aby włączyć uwierzytelnianie Cassandra w momencie instalacji, dodaj właściwość CASS_AUTH do pliku konfiguracyjnego we wszystkich węzłach Cassandra:

CASS_AUTH=y # The default value is n.

Dostęp do systemu Cassandra mają te komponenty Edge:

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

Dlatego podczas instalowania tych komponentów musisz ustawić w pliku konfiguracyjnym te właściwości, aby określić poświadczenia Cassandra:

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

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

Aby zmienić dane logowania do systemu Cassandra po zainstalowaniu tej aplikacji:

  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 rozpowszechnione 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. Użytkownik domyślny to cassandra.
    4. Hasło domyślne to cassandra. Jeśli hasło zostało już wcześniej zmienione, użyj bieżącego hasła.
  2. Aby zaktualizować hasło, uruchom to polecenie w poziomie promptu cqlsh>:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Zamknij narzędzie cqlsh:
    cqlsh> exit
  4. Jeśli nie masz jeszcze zainstalowanych serwerów zarządzania, procesorów wiadomości, routerów, serwerów Qpid, serwerów Postgres ani pakietu BaaS, skonfiguruj te właściwości w pliku konfiguracyjnym, a następnie zainstaluj te komponenty:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Jeśli masz już zainstalowane serwery Management, Message Processors, Routers, Qpid, Postgres lub BaaS Stack, zapoznaj się z artykułem Resetowanie haseł Edge, aby dowiedzieć się, jak zaktualizować te komponenty, aby używać nowego hasła.

Włącz po instalacji uwierzytelniania Cassandra

Aby włączyć uwierzytelnianie:

  • Zaktualizuj wszystkie komponenty Edge, które łączą się z Cassandra, podając nazwę użytkownika i hasło Cassandra.
  • Na wszystkich węzłach Cassandra włącz uwierzytelnianie.
  • Ustaw nazwę użytkownika i hasło Cassandra w dowolnym węźle. Wystarczy, że zmienisz poświadczenia na jednym węźle Cassandra, a zmiany zostaną rozgłaszane do wszystkich węzłów Cassandra w pierścieniu.

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

  1. Na węźle serwera zarządzającego uruchom to polecenie:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    Opcjonalnie możesz przekazać do polecenia plik zawierający nowe nazwę użytkownika i hasło:
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    Komórka configFile zawiera te dane:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    To polecenie automatycznie uruchamia ponownie serwer zarządzający.
  2. Powtórz krok 1 na:
    • Wszystkie procesory komunikatów
    • Wszystkie routery
    • Wszystkie serwery Qpid (edge-qpid-server)
    • serwery Postgres (edge-postgres-server);
  3. W węźle BaaS Stack w wersji 4.16.05.04 lub nowszej:
    1. Uruchom to polecenie, aby wygenerować zaszyfrowane hasło:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Pojawi się prośba o podanie hasła w postaci zwykłego tekstu i zwraca zaszyfrowane hasło w formacie:
      SECURE:ae1b6dedbf6b26aa1539b26aaab
    2. Ustaw te tokeny w pliku /opt/apigee/customer/application/usergrid.properties. Jeśli tego pliku nie ma, utwórz go:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      W tym przykładzie użyto domyślnej nazwy użytkownika dla Cassandra. Jeśli nazwa użytkownika została zmieniona, ustaw odpowiednio wartość usergrid-deployment_cassandra.username.

      Pamiętaj, aby w haśle umieścić prefiks „SECURE:”. W przeciwnym razie stos BaaS interpretuje wartość jako niezaszyfrowaną.

      Uwaga: każdy węzeł usługi BaaS ma własny klucz służący do szyfrowania hasła. Dlatego musisz wygenerować zaszyfrowaną wartość w każdym węźle usługi BaaS oddzielnie.
    3. Zmień właściciela pliku usergrid.properties na użytkownika 'apigee':
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Skonfiguruj węzeł zbioru:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. Ponownie uruchom BaaS Stack:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Powtórz te czynności w przypadku wszystkich nodów BaaS Stack.

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

  1. Zaloguj się na 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 uruchamia ponownie Cassandra.

  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, że zmienisz hasło w jednym węźle Cassandra, a zostanie ono wysłane do wszystkich węzłów Cassandra w tym 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.
    • Użytkownik domyślny to cassandra.
    • Domyślne hasło to cassandra. Jeśli hasło zostało już wcześniej zmienione, użyj bieżącego hasła.
  5. Aby zaktualizować hasło, uruchom to polecenie w poziomie cqlsh>:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Aby zapewnić, że przestrzeń kluczy jest zawsze dostępna, uruchom to polecenie w poziomie cqlsh>. 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 sprawdzić, czy zmiana została rozpowszechniona na wszystkie węzły Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth