Konfigurowanie natywnego mTLS w Cassandra

Wprowadzenie

Różne komponenty Edge dla chmury prywatnej, takie jak procesory komunikatów, serwery zarządzania i routery, domyślnie łączą się z węzłami Cassandra za pomocą kanału w postaci tekstu jawnego. W takich kanałach dane przesyłane do i z Cassandry są komunikowane w postaci zwykłego tekstu. Apigee mTLS to funkcja oparta na siatce usług Consul, która zwiększa bezpieczeństwo komunikacji między komponentami w klastrze Edge dla chmury prywatnej. Ta oferta Apigee dodaje też zabezpieczenia TLS do kanału komunikacji między komponentami klienta a Cassandrą.

Ten artykuł opisuje nową alternatywną ofertę Apigee, w której komunikacja między komponentami klienta a Cassandrą w Edge dla chmury prywatnej jest zabezpieczona za pomocą wzajemnego uwierzytelniania TLS (znanego też jako dwukierunkowy protokół TLS) przy użyciu funkcji natywnie dostępnych w Cassandrze bez korzystania z zewnętrznej siatki usług.

Funkcja natywnego mTLS

Włączenie mTLS między Cassandrą a komponentami klienta opisanymi w tym artykule opiera się na funkcjach TLS natywnie udostępnianych przez Apache Cassandra. Gdy ta funkcja jest włączona, połączenia klientów z Cassandrą (na porcie natywnego transportu CQL 9042) wykonują dwukierunkowe uzgadnianie połączenia TLS z klientami, zanim zezwolą na nawiązanie połączeń. Na potrzeby tego dwukierunkowego połączenia TLS Cassandra działa jako serwer, a różni klienci łączący się z Cassandrą (np. edge-message-processor, narzędzie cqlsh itp.) działają jako klienci.

W przypadku dwukierunkowego protokołu TLS (lub wzajemnego uwierzytelniania TLS albo mTLS) zarówno Cassandra, jak i klienci muszą być skonfigurowani z własnym magazynem kluczy. Magazyn kluczy każdego węzła Cassandra powinien zawierać jego własny klucz i certyfikat. Magazyn kluczy każdej aplikacji klienckiej powinien zawierać klucz i certyfikat tego konkretnego klienta. Zarówno w Cassandrze, jak i w klientach należy dodać magazyn zaufanych certyfikatów zawierający certyfikaty i powiązany łańcuch odpowiednika. Magazyn zaufanych certyfikatów każdego węzła Cassandra powinien zawierać certyfikaty klientów, a magazyn zaufanych certyfikatów każdego klienta powinien zawierać certyfikaty wszystkich węzłów Cassandra. Więcej informacji o tym, jak działa dwukierunkowe uzgadnianie połączenia TLS, znajdziesz w artykule Apigee na temat dwukierunkowego protokołu TLS/SSL.

Łańcuch certyfikatów

Ogólnie rzecz biorąc, w przypadku dwukierunkowego protokołu TLS certyfikaty serwera, certyfikaty klienta, łańcuchy certyfikatów, magazyny kluczy i magazyny zaufania można tworzyć na różne sposoby. To samo dotyczy natywnego mTLS w Cassandrze i klientach. Biorąc pod uwagę, jak organizacje zwykle obsługują klastry Edge dla chmury prywatnej i liczbę unikalnych par połączeń klient-cassandra, które można nawiązać, Apigee zaleca stosowanie ogólnego podejścia do konfigurowania kluczy i certyfikatów na potrzeby tej funkcji. Istnieją inne metody, ale ta poniżej prawdopodobnie zapewnia dobry kompromis między bezpieczeństwem a nakładem pracy związanym z konserwacją.

  1. Uzyskaj certyfikat główny oraz parę klucza i certyfikatu pośredniego podpisaną przez certyfikat główny. Możesz już mieć takie klucze i certyfikaty. Jeśli nie, możesz utworzyć certyfikaty główne i pośrednie oraz klucze z podpisem własnym, wykonując czynności opisane w Załączniku 1.

  2. Użyj wspólnego klucza i certyfikatu pośredniego z powyższego kroku, aby podpisać wszystkie klucze i certyfikaty specyficzne dla aplikacji (liścia).

Dzięki wspólnemu kluczowi i certyfikatowi pośredniemu w całym klastrze na każdym węźle Cassandra i klienta jest skonfigurowany wspólny magazyn zaufanych certyfikatów (zawierający ten sam łańcuch certyfikatów głównych i pośrednich). Każdy węzeł Cassandra i każda aplikacja kliencka otrzymuje własny, unikalny klucz i certyfikat liścia podpisany wspólnym kluczem i certyfikatem pośrednim.

  1. Rotacja certyfikatu wierzchołka ścieżki węzła Cassandra lub aplikacji klienckiej jest prosta.
  2. Rotacja certyfikatu pośredniego lub głównego jest nadal dość złożoną operacją, ale częstotliwość takich rotacji będzie znacznie niższa niż w przypadku certyfikatów liścia.

Zgodnie z praktykami bezpieczeństwa obowiązującymi w Twojej organizacji zdecyduj, czy używać wspólnych certyfikatów głównych i pośrednich w różnych klastrach chmury prywatnej. Alternatywne konfiguracje certyfikatów znajdziesz w Załączniku 2.

Pozostałe kroki opisane w tym artykule zawierają szczegółowe informacje o powyższej metodologii projektowania kluczy i certyfikatów.

Ograniczenia i ostrzeżenia

Ta funkcja ma te ograniczenia:

  • Ta oferta natywnego mTLS między komponentami klienta a Cassandrą NIE jest zgodna z apigee-mtls. Jeśli korzystasz z tej funkcji, nie możesz używać apigee-mtls i odwrotnie.
  • Włączenie mTLS między komponentami klienta a Cassandrą będzie miało pewien wpływ na wydajność połączeń nawiązywanych między klientami a Cassandrą. Operacje takie jak uruchamianie klientów czy skalowanie połączeń Cassandra mogą być wolniejsze, ponieważ Cassandra i klienci muszą najpierw uzgodnić TLS, zanim rozpoczną komunikację. Wpływ powinien być niewielki i na ogół niezauważalny.
  • W Cassandrze mTLS można opcjonalnie wymuszać w przypadku połączeń przychodzących od klientów. Wymuszanie można włączyć, ale trzeba je wyłączyć podczas wykonywania zadań operacyjnych, takich jak uaktualnianie oprogramowania Apigee, włączanie i wyłączanie funkcji TLS oraz niektóre rodzaje rotacji certyfikatów. Więcej informacji znajdziesz w sekcji Operacje i konfiguracje.
  • Zarządzanie certyfikatami i ich konserwacja to obowiązek klienta.
  • Rotacja certyfikatów ma różne niuanse. Więcej informacji znajdziesz w sekcji Rotacja certyfikatów.

Włączanie natywnego mTLS

Ogólnie rzecz biorąc, włączenie natywnego mTLS to procedura składająca się z 3 kroków opisanych poniżej:

  1. Uzyskaj certyfikat główny oraz parę klucza i certyfikatu pośredniego.
  2. Utwórz parę klucza i certyfikatu liścia 1 węzła Cassandra, podpisz ją, zapisz w magazynie kluczy i skonfiguruj Cassandrę pod kątem opcjonalnego mTLS. Powtórz te kroki dla każdego węzła Cassandra.
  3. Utwórz parę klucza i certyfikatu liścia 1 aplikacji klienckiej, podpisz ją, zapisz w magazynie kluczy i skonfiguruj aplikację kliencką pod kątem mTLS. Powtórz te kroki dla każdej aplikacji klienckiej. Aplikacje klienckie:
    1. edge-management-server
    2. edge-message-processor
    3. edge-router

Te kroki są opisane poniżej:

Uzyskiwanie certyfikatów głównych i pośrednich

Uzyskaj certyfikat główny oraz parę klucza i certyfikatu pośredniego podpisaną przez certyfikat główny. Użyj certyfikatu głównego i pośredniego podpisanego przez urząd certyfikacji Twojej organizacji lub utwórz certyfikaty z podpisem własnym. Zapisz łańcuch certyfikatów głównych i pośrednich w magazynie zaufania. Przydatne polecenia znajdziesz w Załączniku 1. Kolejne polecenia zakładają, że masz dostęp do tych plików:

  • intermediate.key – plik klucza do certyfikatu pośredniego służący do podpisywania certyfikatów wierzchołka ścieżki.
  • intermediate-cert.pem – certyfikat pośredni.

Konfigurowanie węzłów Cassandra

  1. Wybierz 1 węzeł Cassandra.
  2. Wygeneruj parę klucza i certyfikatu liścia i podpisz ją certyfikatem pośrednim. Zapisz klucz i podpisany certyfikat w magazynie kluczy. Przykład poniżej:
    
    # Generate Leaf key and csr
    openssl req -newkey rsa:2048 -keyout cass-node1.key -out cass-node1-req.pem -sha256 -days 365 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=yourip/emailAddress=cassnode1@yourorg.com"
    
    # leaf cert signed by intermediate
    openssl x509 -req -in cass-node1-req.pem -CAkey intermediate.key -CA intermediate-cert.pem -days 365 -CAcreateserial -out cass-node1-cert.pem
    
    # keystore packaging leaf key and cert
    openssl pkcs12 -export -clcerts -in cass-node1-cert.pem -inkey cass-node1.key -out cass-node1-keystore.pfx -name nativemtls -password pass:keystorepass

    Umieść pliki magazynu kluczy i magazynu zaufania w określonej lokalizacji w węźle i upewnij się, że są one dostępne dla użytkownika apigee.

    cp cass-node1-keystore.pfx /opt/apigee/customer/application/
    cp truststore.pfx /opt/apigee/customer/application/
    
    chown apigee:apigee /opt/apigee/customer/application/cass-node1-keystore.pfx
    chown apigee:apigee /opt/apigee/customer/application/truststore.pfx

  3. Utwórz lub edytuj plik /opt/apigee/customer/application/cassandra.properties. Dodaj do tego pliku te treści:
    ### Enable Cassandra TLS on CQL connections
    conf_cassandra_client_encryption_enabled=true
    
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=true
    
    ### Keystore details
    conf_cassandra_client_encryption_keystore=/opt/apigee/customer/application/cass-node1-keystore.pfx
    conf_cassandra_client_encryption_keystore_password=keystorepass
    conf_cassandra_server_encryption_store_type=PKCS12
    
    ### Whether to enable 2-way TLS (or mTLS) - true or false
    conf_cassandra_client_encryption_require_client_auth=true
    
    ### When 2-way TLS is enabled, client certificate details need to be provided via a truststore
    conf_cassandra_client_encryption_truststore=/opt/apigee/customer/application/truststore.pfx
    conf_cassandra_client_encryption_truststore_password=trustpass
    conf_cassandra_client_encryption_store_type=PKCS12
    

    Sprawdź, czy plik jest własnością użytkownika apigee i czy użytkownik ten ma do niego dostęp.

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  4. Skonfiguruj i ponownie uruchom węzeł Cassandra.
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  5. Powtórz powyższe kroki dla każdego węzła Cassandra.

Konfigurowanie aplikacji klienckich

Ta sekcja dotyczy tych komponentów klienta, które łączą się z Cassandrą:

  • edge-management-server
  • edge-message-processor
  • edge-router

  1. Wybierz 1 komponent klienta.
  2. Wygeneruj parę klucza i certyfikatu liścia i podpisz ją certyfikatem pośrednim. Zapisz klucz i podpisany certyfikat w magazynie kluczy. Przykład poniżej:
    
    # Generate Leaf key and csr
    openssl req -newkey rsa:2048 -keyout mgmt-node1.key -out mgmt-node1-req.pem -sha256 -days 365 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=yourip/emailAddress=mgmtnode1@yourorg.com"
    
    # leaf cert signed by intermediate
    openssl x509 -req -in mgmt-node1-req.pem -CAkey intermediate.key -CA intermediate-cert.pem -days 365 -CAcreateserial -out mgmt-node1-cert.pem
    
    # keystore packaging leaf key and cert
    openssl pkcs12 -export -clcerts -in mgmt-node1-cert.pem -inkey mgmt-node1.key -out mgmt-node1-keystore.pfx -name nativemtls -password pass:keystorepass
    

    Umieść pliki magazynu kluczy i magazynu zaufania w określonej lokalizacji w węźle i upewnij się, że są one dostępne dla użytkownika apigee.

    cp mgmt-node1-keystore.pfx /opt/apigee/customer/application/
    cp truststore.pfx /opt/apigee/customer/application/
    
    chown apigee:apigee /opt/apigee/customer/application/mgmt-node1-keystore.pfx
    chown apigee:apigee /opt/apigee/customer/application/truststore.pfx

  3. Utwórz i edytuj plik konfiguracji na podstawie konfigurowanej aplikacji.
    Aplikacja Plik konfiguracji
    Serwer zarządzania /opt/apigee/customer/application/management-server.properties
    Procesor zarządzania /opt/apigee/customer/application/message-processor.properties
    Router /opt/apigee/customer/application/router.properties

    Dodaj do pliku te konfiguracje:

    ### Enable TLS on CQL connections
    conf_cassandra_sslconfig.enable.tls=true
    conf_cassandra_sslconfig.enable.mtls=true
    
    ### Keystore Details
    conf_cassandra_sslconfig.keystore.path=/opt/apigee/customer/application/mgmt-node1-keystore.pfx
    conf_cassandra_sslconfig.keystore.password=keystorepass
    conf_cassandra_sslconfig.keystore.type=PKCS12
    
    ### Truststore Details
    conf_cassandra_sslconfig.truststore.path=/opt/apigee/customer/application/truststore.pfx
    conf_cassandra_sslconfig.truststore.password=trustpass
    conf_cassandra_sslconfig.truststore.type=PKCS12
    

    Sprawdź, czy plik konfiguracji jest własnością użytkownika apigee i czy użytkownik ten ma do niego dostęp.

    chown apigee:apigee configuration file
    
    ### Example:
    chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    

  4. Uruchom ponownie aplikację kliencką.
    # Configure and restart service:
    apigee-service component configure
    apigee-service component restart
    # Example, to configure and restart message processor application
    apigee-service edge-message-processor configure
    apigee-service edge-message-processor restart
    
  5. Możesz sprawdzić, czy protokół SSL został prawidłowo skonfigurowany w aplikacji klienckiej, szukając w logu systemowym odpowiedniej aplikacji logów podobnych do tych:

    SSL options added to cassandra connection

  6. Powtórz powyższe kroki dla każdej aplikacji klienckiej.

Operacje i konfiguracje

Wymuszanie mTLS

Gdy mTLS nie jest wymuszany w Cassandrze, Cassandra akceptuje połączenia w postaci tekstu jawnego od klientów lub klientów, z którymi może pomyślnie przeprowadzić dwukierunkowe uzgadnianie połączenia TLS. Aby wymuszanie mTLS działało, mTLS należy najpierw skonfigurować w Cassandrze. Aby ustawić wymuszanie mTLS w Cassandrze, wykonaj te czynności:

  1. Wybierz 1 węzeł Cassandra.
  2. Utwórz lub edytuj plik /opt/apigee/customer/application/cassandra.properties. Dodaj lub edytuj w tym pliku tę właściwość:
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=false
    

    Sprawdź, czy plik jest własnością użytkownika apigee i czy użytkownik ten ma do niego dostęp.

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    
  3. Skonfiguruj i ponownie uruchom węzeł Cassandra.
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  4. Powtórz powyższe kroki dla każdego węzła Cassandra.

Gdy mTLS jest wymuszany w Cassandrze, standardowe narzędzie do wykonywania zapytań Cassandra cqlsh nie może łączyć się z Cassandrą bezpośrednio. Aby skonfigurować cqlsh pod kątem SSL, wygeneruj nowy klucz i certyfikat liścia (podobnie jak w przypadku klucza i certyfikatu liścia dla aplikacji klienckich) i wykonaj te czynności:

  1. Utwórz lub edytuj plik $HOME/.cassandra/cqlshrc.
  2. Dodaj do pliku te treści:
    [ssl]
    certfile = /home/admin-user/certs/inter-root.pem
    validate = false
    userkey = /home/admin-user/certs/cqlsh1.key
    usercert = /home/admin-user/certs/cqlsh1-cert.pem
    
    • certfile – plik certyfikatu zawierający łańcuch certyfikatów głównych i pośrednich.
    • userkey – klucz klienta, który ma być używany przez cqlsh. Powinna to być para klucza i certyfikatu liścia, którą możesz wygenerować i podpisać certyfikatem pośrednim.
    • usercert – certyfikat klienta, który ma być używany przez cqlsh. Powinna to być para klucza i certyfikatu liścia, którą możesz wygenerować i podpisać certyfikatem pośrednim.
  3. Uruchom polecenie cqlsh jak zwykle, podając argument --ssl. Na przykład:
    $  /opt/apigee/apigee-cassandra/bin/cqlsh --ssl X.X.X.X
    Connected to Apigee at X.X.X.X:9042
    [cqlsh 6.0.0 | Cassandra 4.0.13 | CQL spec 3.4.5 | Native protocol v5]
    Use HELP for help.
    cqlsh>
    

Wyłączanie wymuszania mTLS w Cassandrze

Aby wyłączyć wymuszanie mTLS w Cassandrze, wykonaj te czynności:

  1. Wybierz 1 węzeł Cassandra.
  2. Utwórz lub edytuj plik /opt/apigee/customer/application/cassandra.properties. Dodaj lub edytuj w tym pliku tę właściwość:
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=true
    

    Sprawdź, czy plik jest własnością użytkownika apigee i czy użytkownik ten ma do niego dostęp.

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    
  3. Skonfiguruj i ponownie uruchom węzeł Cassandra.
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  4. Powtórz powyższe kroki dla każdego węzła Cassandra.

Wyłączanie natywnego mTLS

Wyłączanie natywnego mTLS to proces wieloetapowy, podobny do włączania natywnego mTLS. Najważniejsze kroki:

  1. Wyłącz wymuszanie mTLS w Cassandrze (jeśli jest wymuszane).
  2. Wyłącz mTLS we wszystkich węzłach tych aplikacji klienckich:
    • edge-management-server
    • edge-message-processor
    • edge-router
    1. Utwórz i edytuj plik konfiguracji na podstawie konfigurowanej aplikacji:
      Aplikacja Plik konfiguracji
      Serwer zarządzania /opt/apigee/customer/application/management-server.properties
      Procesor zarządzania /opt/apigee/customer/application/message-processor.properties
      Router /opt/apigee/customer/application/router.properties
    2. Dodaj lub edytuj w pliku konfiguracji te właściwości:
      ### TLS on CQL connections
      conf_cassandra_sslconfig.enable.tls=false
      conf_cassandra_sslconfig.enable.mtls=false
      
    3. Sprawdź, czy plik konfiguracji jest własnością użytkownika apigee i czy użytkownik ten ma do niego dostęp.
      chown apigee:apigee configuration file
      
      ### Example:
      chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    4. Uruchom ponownie aplikację kliencką:
      
      # Configure and restart service:
      apigee-service component configure
      apigee-service component restart
      
      # Example, to configure and restart message processor application
      apigee-service edge-message-processor configure
      apigee-service edge-message-processor restart
      
    5. Powtórz kroki od a do d dla każdej aplikacji klienckiej.
  3. Wyłącz mTLS we wszystkich węzłach Cassandra:
    1. Wybierz 1 węzeł Cassandra.
    2. Utwórz lub edytuj plik /opt/apigee/customer/application/cassandra.properties. Dodaj lub edytuj w tym pliku tę właściwość:
      ### Cassandra TLS on CQL connections
      conf_cassandra_client_encryption_enabled=false
      

      Sprawdź, czy plik jest własnością użytkownika apigee i czy użytkownik ten ma do niego dostęp.

      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
      
    3. Skonfiguruj i ponownie uruchom węzeł Cassandra.
    4. apigee-service apigee-cassandra configure
      apigee-service apigee-cassandra restart
      
    5. Powtórz kroki od a do c dla każdego węzła Cassandra.

Rotacja certyfikatów

Rotacja tylko certyfikatów liścia (z zachowaniem tych samych certyfikatów pośrednich i głównych)

Możesz wykonać kroki podobne do tych opisanych w sekcji Konfigurowanie aplikacji klienckich:

  1. Wygeneruj nowy klucz i certyfikat liścia dla aplikacji, używając tego samego klucza i certyfikatu pośredniego.
  2. Skonfiguruj ścieżkę do nowego klucza i certyfikatu liścia w aplikacji wraz z hasłem i typem magazynu kluczy.
  3. Uruchom ponownie aplikację.
Rotacja certyfikatów głównych lub pośrednich

Jeśli planujesz rotację certyfikatu pośredniego lub głównego, zalecamy wykonanie tego w kilku etapach:

  1. Wyłącz natywne mTLS w Cassandrze w całym klastrze.
  2. Użyj nowych certyfikatów głównych i pośrednich, aby wygenerować nowe certyfikaty liścia lub aplikacji.
  3. Wykonaj czynności, aby włączyć natywne mTLS w Cassandrze za pomocą nowego zestawu kluczy i certyfikatów.

Ogólne operacje Apigee

Aby wykonywać ogólne operacje Apigee, takie jak uaktualnianie oprogramowania Apigee, dodawanie lub usuwanie węzłów Cassandra, dodawanie lub usuwanie centrów danych, włączanie lub wyłączanie uwierzytelniania Cassandra itp., upewnij się, że mTLS nie jest wymuszany w Cassandrze. Jeśli mTLS jest wymuszany, wyłącz wymuszanie przed wykonaniem tych operacji.

Załącznik 1.

Aby wygenerować parę klucza i certyfikatu głównego oraz pośredniego z podpisem samodzielnym i dodać ten łańcuch certyfikatów do magazynu zaufanych certyfikatów, wykonaj czynności opisane w tym załączniku.

Generowanie certyfikatów głównych i pośrednich z podpisem własnym

# Create self-signed root key and cert
openssl req -x509 -newkey rsa:2048 -keyout root.key -out root-cert.pem -sha256 -days 3650 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=root.yourorg.com/emailAddress=apigeeroot@yourorg.com"

# Create intermediate key and cert (signed by root)
openssl req -newkey rsa:2048 -keyout intermediate.key -out intermediate-req.pem -sha256 -days 3650 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=inter.yourorg.com/emailAddress=apigeeinter@yourorg.com"

openssl x509 -req -in intermediate-req.pem -CAkey root.key -CA root-cert.pem -days 3650 -CAcreateserial -out intermediate-cert.pem

Generowanie magazynu zaufanych certyfikatów

# Merge root and intermediate cert into 1 file
cat intermediate-cert.pem > inter-root.pem
cat root-cert.pem >> inter-root.pem

# Create truststore to be used everywhere
keytool -keystore truststore.pfx -storetype PKCS12 -importcert -file inter-root.pem -keypass trustpass -storepass trustpass -alias nativemtls -noprompt

Załącznik 2. Alternatywne konfiguracje łańcucha certyfikatów

W tym artykule zalecamy określoną konfigurację łańcucha certyfikatów, która zapewnia równowagę między bezpieczeństwem a łatwością obsługi, ale istnieją też alternatywne konfiguracje opisane poniżej. Większość ogólnych zasad ma zastosowanie również do innych metod, takich jak:

  1. Używanie bezpośrednich kluczy i certyfikatów liścia dla każdego węzła Cassandra lub aplikacji klienckiej (bez certyfikatów głównych ani pośrednich). Prawdopodobnie utrudni to rotację certyfikatów.
  2. Używanie wielu zestawów certyfikatów głównych i pośrednich do różnych przypadków użycia. Na przykład węzły Cassandra mają 1 zestaw certyfikatów głównych i pośrednich, za pomocą którego są podpisywane wszystkie certyfikaty liścia Cassandra. Podobnie wszystkie aplikacje klienckie mogą mieć 1 oddzielny zestaw certyfikatów głównych i pośrednich do podpisywania certyfikatów wierzchołka ścieżki aplikacji. Takie konfiguracje są możliwe, ale wymagają dodania łańcucha certyfikatów głównych i pośrednich do odpowiedniego magazynu zaufania. W tym przykładzie magazyny zaufanych certyfikatów Cassandra powinny zawierać certyfikaty główne i certyfikaty pośrednie klienta, a aplikacje klienckie powinny mieć w swoim magazynie zaufanych certyfikatów łańcuch certyfikatów głównych i certyfikatów pośrednich węzłów Cassandra.
  3. Podobnie jak powyżej, możesz mieć wiele zestawów certyfikatów głównych i certyfikatów pośrednich dla różnych regionów , ale wszystkie klienty i serwery we wszystkich regionach muszą znać wszystkie łańcuchy certyfikatów głównych i pośrednich, dodając je do skonfigurowanego magazynu zaufanych certyfikatów.