Włącz uwierzytelnianie Cassandra

Edge for Private Cloud wer. 4.17.09

Domyślnie aplikacja Cassandra instaluje się bez włączonego uwierzytelniania. Oznacza to, że każdy może uzyskać dostęp do Cassandra. Uwierzytelnianie możesz włączyć po zainstalowaniu Edge lub podczas instalacji.

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

  • nazwa użytkownika = 'kassandra'
  • hasło = 'cassandra'

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

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

Włącz uwierzytelnianie Cassandra podczas instalacji

Możesz włączyć uwierzytelnianie Cassandra jako czas instalacji. Mimo że możesz włączyć uwierzytelnianie po zainstalowaniu aplikacji Cassandra, nie możesz zmienić domyślnej nazwy użytkownika ani hasła. Musisz wykonać ten krok ręcznie po zakończeniu instalacji Cassandra.

Uwaga: postępuj zgodnie z tą procedurą podczas instalacji programu Cassandra za pomocą opcji „-p c”, „-p c”, „-p sa”, „-p aio”, „-p asa” i „-p ebp”.

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

CASS_AUTH=y # The default value is n.

Do Cassandra mają dostęp te komponenty Edge:

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

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

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

Aby zmienić dane logowania Cassandra po zainstalowaniu aplikacji Cassandra:

  1. Zaloguj się w dowolnym węźle Cassandra za pomocą narzędzia cqlsh i domyślnych danych logowania. Wystarczy zmienić hasło w 1 węźle. 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ślnym użytkownikiem jest cassandra.
    4. Domyślne hasło to cassandra. Jeśli hasło zostało wcześniej zmienione, użyj obecnego hasła.
  2. Aby zaktualizować hasło, uruchom to polecenie jako polecenie 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 lub stosu BaaS, ustaw w pliku konfiguracyjnym te właściwości, a następnie zainstaluj te komponenty:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Jeśli masz już zainstalowane: serwer zarządzania, procesory wiadomości, routery, serwery Qpid, serwery Postgres lub stos BaaS, zapoznaj się z artykułem o resetowaniu haseł brzegowych, aby zapoznać się z procedurą aktualizowania tych komponentów tak, aby używały nowego hasła.

Włącz uwierzytelnianie Cassandra po instalacji

Aby włączyć uwierzytelnianie:

  • Zaktualizuj wszystkie komponenty Edge, które łączą się z Cassandra, za pomocą nazwy użytkownika i hasła Cassandra.
  • Włącz uwierzytelnianie we wszystkich węzłach Cassandra.
  • Ustaw nazwę użytkownika i hasło Cassandra w dowolnym węźle. Wystarczy zmienić dane logowania w 1 węźle Cassandra. Zostaną one rozpowszechnione do wszystkich węzłów Cassandra w pierścieniu.

Wykonaj opisane poniżej czynności, aby zaktualizować wszystkie komponenty Edge, które komunikują się z Cassandra, przy użyciu nowych danych logowania. Uwaga: musisz wykonać ten krok przed zaktualizowaniem danych logowania do Cassandra:

  1. W węźle serwera zarządzania uruchom następujące 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 z nową nazwą użytkownika i hasłem CAS (CASS) [nazwa użytkownika]






    configFile
  2. Powtórz krok 1 podczas:
    • Wszystkie procesory wiadomości
    • Wszystkie routery
    • Wszystkie serwery Qpid (edge-qpid-server)
    • Serwery Postgres (edge-postgres-server)
  3. W węźle stosu BaaS w wersji 4.16.05.04 i nowszych:
    1. Uruchom to polecenie, aby wygenerować zaszyfrowane hasło:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password.

      To polecenie wyświetla hasło w postaci zwykłego tekstu i zwraca zaszyfrowane hasło w formacie:
      SECURE:ae1b03b0b0b06b926a1b8dedbf6b926a8a1b8de
    2. Ustaw poniższe tokeny w katalogu /opt/apigee/customer/application/usergrid.properties. Jeśli ten plik nie istnieje, utwórz go:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c230e43

      W przypadku zmiany nazwy użytkownika ustaw odpowiednio wartość usergrid-deployment_cassandra.username.

      Pamiętaj, aby dodać prefiks „SECURE:” do hasła. W przeciwnym razie stos BaaS zinterpretuje wartość jako niezaszyfrowaną.

      Uwaga: każdy węzeł stosu BaaS ma własny unikalny klucz używany do szyfrowania hasła. Dlatego zaszyfrowaną wartość musisz wygenerować osobno w każdym węźle stosu BaaS.
    3. Zmień własność pliku usergrid.properties na użytkownika „apigee”:
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Skonfiguruj węzeł stosu:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. Ponownie uruchom stos BaaS:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Powtórz te czynności dla wszystkich główków stosu BaaS.

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

  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 uruchamia ponownie system Cassandra.

  3. Powtórz kroki 1 i 2 we 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 w 1 węźle Cassandra. 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ślnym użytkownikiem jest cassandra.
    • Domyślne hasło to cassandra. Jeśli hasło zostało wcześniej zmienione, użyj obecnego hasła.
  5. Aby zaktualizować hasło, uruchom to polecenie w wierszu cqlsh>:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Uruchom poniższe polecenie w wierszu poleceń cqlsh>, aby mieć pewność, że przestrzeń klawiszy jest zawsze dostępna. W przypadku pojedynczego 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 do wszystkich węzłów Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth