Skonfiguruj apigee-sso pod kątem dostępu przez HTTPS

Edge for Private Cloud w wersji 4.18.05

W artykule Instalowanie i konfigurowanie logowania jednokrotnego w Edge opisano, jak zainstalować i skonfigurować moduł logowania jednokrotnego w Edge, aby używał protokołu HTTP na porcie 9099, zgodnie z określoną w pliku konfiguracji właściwością:

SSO_TOMCAT_PROFILE=DEFAULT

Aby włączyć dostęp HTTPS, możesz też ustawić wartość SSO_TOMCAT_PROFILE na jedną z tych wartości:

  • SSL_PROXY – konfiguruje apigee-sso w trybie serwera proxy, co oznacza, że masz zainstalowany system równoważenia obciążenia przed apigee-sso i zakończyłeś szyfrowanie TLS na tym systemie. Następnie określ port używany na apigee-sso do obsługi żądań pochodzących z systemu równoważenia obciążenia.
  • SSL_TERMINATION – włączony dostęp TLS do apigee-sso, modułu SSO w Edge, na wybranym przez Ciebie porcie. W tym trybie musisz podać magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać certyfikatu z podpisem własnym.

Możesz włączyć HTTPS podczas początkowej instalacji i konfiguracji apigee-sso lub później.

Włączenie dostępu HTTPS do usługi apigee-sso w dowolnym trybie powoduje wyłączenie dostępu HTTP. Oznacza to, że nie możesz uzyskać dostępu do apigee-sso przy użyciu jednocześnie protokołów HTTP i HTTPS.

Włącz tryb SSL_PROXY

W trybie SSL_PROXY system używa systemu równoważenia obciążenia przed modułem logowania jednokrotnego Edge i kończy szyfrowanie TLS w systemie równoważenia obciążenia. Na rysunku poniżej system równoważenia obciążenia kończy obsługę TLS na porcie 443, a następnie przekazuje żądania do modułu SSO Edge na porcie 9099:

W tej konfiguracji ufasz połączeniu między systemem równoważenia obciążenia a modułem SSO Edge, więc nie musisz używać protokołu TLS w przypadku tego połączenia. Jednak elementy zewnętrzne, takie jak dostawca tożsamości SAML, muszą teraz uzyskiwać dostęp do modułu SSO w Edge przez port 443, a nie przez niezabezpieczony port 9099.

Konfigurowanie modułu SSO w Edge w trybie SSL_PROXY jest konieczne, ponieważ moduł SSO w Edge automatycznie generuje adresy URL przekierowania używane zewnętrznie przez dostawcę tożsamości w ramach procesu uwierzytelniania. Dlatego te adresy URL przekierowania muszą zawierać zewnętrzny numer portu w systemie równoważenia obciążenia, czyli w tym przykładzie 443, a nie wewnętrzny port w module SSO w Edge, czyli 9099.

Uwaga: nie musisz tworzyć certyfikatu i klucza TLS w trybie SSL_PROXY, ponieważ połączenie systemu równoważenia obciążenia z modułem logowania jednokrotnego w Edge używa protokołu HTTP.

Aby skonfigurować moduł SSO w Edge w trybie SSL_PROXY:

  1. Dodaj do pliku konfiguracji te ustawienia:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Skonfiguruj moduł SSO Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Zaktualizuj konfigurację dostawcy tożsamości, aby teraz wysyłać żądanie HTTPS przez port 443 systemu równoważenia obciążenia, aby uzyskać dostęp do logowania jednokrotnego w Edge. Więcej informacji znajdziesz w artykule Konfigurowanie dostawcy tożsamości SAML.
  4. Zaktualizuj konfigurację interfejsu Edge pod kątem HTTPS, ustawiając w pliku konfiguracji te właściwości:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    Następnie zaktualizuj interfejs Edge:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile

    Więcej informacji znajdziesz w artykule Włączanie SAML w interfejsie Edge.

  5. Jeśli masz zainstalowany portal usług dla programistów Apigee (czyli portal), zaktualizuj go, aby używać protokołu HTTPS do uzyskiwania dostępu do Ede SSO. Więcej informacji znajdziesz w artykule Konfigurowanie portalu do używania protokołu SAML do komunikacji z Edge.

Włącz tryb SSL_TERMINATION

W trybie SSL_TERMINATION musisz:

  • wygeneruj certyfikat i klucz TLS, a następnie zapisz je w pliku magazynu kluczy; Nie możesz używać certyfikatu podpisanego samodzielnie. Musisz wygenerować certyfikat z urzędu certyfikacji.
  • Zaktualizuj ustawienia konfiguracji apigee-sso.

Aby utworzyć plik magazynu kluczy na podstawie certyfikatu i klucza:

  1. Utwórz katalog dla pliku JKS:
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Przejdź do nowego katalogu:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Utwórz plik JKS zawierający certyfikat i klucz. W tym trybie musisz podać magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać certyfikatu z podpisem własnym. Przykład tworzenia pliku JKS znajdziesz w artykule Konfigurowanie TLS/SSL dla Edge On Premises.
  4. Utwórz plik JKS należący do użytkownika „apigee”:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Aby skonfigurować moduł SSO w Edge:

  1. Dodaj do pliku konfiguracji te ustawienia:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Skonfiguruj moduł SSO Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Zaktualizuj konfigurację dostawcy tożsamości, aby teraz wysyłać żądanie HTTPS na porcie 9443 systemu równoważenia obciążenia, aby uzyskać dostęp do logowania jednokrotnego w Edge. Więcej informacji znajdziesz w artykule Konfigurowanie dostawcy tożsamości SAML.
  4. Zaktualizuj konfigurację interfejsu Edge pod kątem HTTPS, ustawiając te właściwości:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

    Więcej informacji znajdziesz w artykule Włączanie SAML w interfejsie Edge.

  5. Jeśli masz zainstalowany portal Usług dla deweloperów, zaktualizuj go, aby używać protokołu HTTPS do uzyskiwania dostępu do Ede SSO. Więcej informacji znajdziesz w artykule Konfigurowanie portalu Usług dla deweloperów na potrzeby komunikacji z Edge za pomocą protokołu SAML.

Ustawianie SSO_TOMCAT_PROXY_PORT podczas używania trybu SSL_TERMINATION

Możesz mieć system równoważenia obciążenia przed modułem Edge SSO, który kończy TLS na systemie równoważenia obciążenia, ale też włącza TLS między systemem równoważenia obciążenia a Edge SSO. Na powyższym rysunku tryb SSL_PROXY oznacza, że połączenie od systemu równoważenia obciążenia do logowania jednokrotnego w Edge używa protokołu TLS.

W tym scenariuszu konfigurujesz TLS w logowaniu jednokrotnym w przeglądarce Edge tak samo jak w przypadku trybu SSL_TERMINATION. Jeśli jednak równowaznik obciążenia używa innego numeru portu TLS niż Edge SSO, musisz też określić w pliku konfiguracji właściwość SSO_TOMCAT_PROXY_PORT. Na przykład:

  • System równoważenia obciążenia kończy szyfrowanie TLS na porcie 443
  • Logowanie jednokrotne w Edge kończy TLS na porcie 9443

Pamiętaj, aby uwzględnić w pliku konfiguracyjnym te ustawienia:

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Skonfiguruj interfejs IDP i Edge, aby wysyłać żądania HTTPS przez port 443.