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

Edge dla chmury prywatnej w wersji 4.19.01

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

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY – konfiguruje apigee-sso, moduł logowania jednokrotnego Edge, w trybie proxy, co oznacza, że przed apigee-sso zainstalowano system równoważenia obciążenia i zakończono TLS w systemie równoważenia obciążenia. Następnie określ port używany w apigee-sso do obsługi żądań z systemu równoważenia obciążenia.
  • SSL_TERMINATION – włączono dostęp TLS do apigee-sso na wybranym porcie. W tym trybie musisz określić magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać certyfikatu podpisanego samodzielnie.

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

Włączenie dostępu HTTPS do apigee-sso w dowolnym trybie wyłącza dostęp HTTP. Oznacza to, że nie możesz uzyskać dostępu do apigee-sso jednocześnie przez HTTP i HTTPS.

Włącz tryb SSL_PROXY

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

W tej konfiguracji ufasz połączeniu z systemu równoważenia obciążenia z modułem Edge SSO, więc nie ma potrzeby używania protokołu TLS w tym połączeniu. Jednak podmioty zewnętrzne, takie jak dostawca tożsamości SAML, muszą teraz uzyskiwać dostęp do modułu logowania jednokrotnego Edge na porcie 443, a nie na niezabezpieczonym porcie 9099.

Powodem skonfigurowania modułu Edge SSO w trybie SSL_PROXY jest to, że moduł Edge SSO automatycznie generuje adresy URL przekierowań używane zewnętrznie przez dostawcę tożsamości w ramach procesu uwierzytelniania. Dlatego te adresy URL przekierowania muszą zawierać numer portu zewnętrznego w systemie równoważenia obciążenia (w tym przykładzie 443), a nie portu wewnętrznego w module Edge SSO (9099).

Aby skonfigurować moduł logowania jednokrotnego 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 wysyłać żądanie HTTPS na port 443 systemu równoważenia obciążenia w celu uzyskania dostępu do logowania jednokrotnego 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 w pliku konfiguracji:
    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 (lub po prostu portal), zaktualizuj go, aby używał protokołu HTTPS do uzyskiwania dostępu do logowania jednokrotnego Edge. Więcej informacji znajdziesz w artykule Konfigurowanie portalu do używania 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żyć certyfikatu podpisanego samodzielnie. Musisz wygenerować certyfikat z urzędu certyfikacji.
  • Zaktualizuj ustawienia konfiguracji dla: 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 określić magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać certyfikatu podpisanego samodzielnie. Przykład tworzenia pliku JKS znajdziesz w artykule Konfigurowanie TLS/SSL dla Edge On-Premises.
  4. Ustaw użytkownika „apigee” jako właściciela pliku JKS:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Aby skonfigurować moduł SSO 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 wysyłać żądanie HTTPS na port 9443 systemu równoważenia obciążenia w celu uzyskania dostępu do logowania jednokrotnego Edge. Upewnij się, że żadna inna usługa nie korzysta z tego portu. 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 programistów, zaktualizuj go, aby używał protokołu HTTPS do uzyskiwania dostępu do logowania jednokrotnego Edge. Więcej informacji znajdziesz w artykule o konfigurowaniu portalu usług dla programistów pod kątem używania SAML do komunikacji z Edge.

Ustawianie SSO_TOMCAT_PROXY_PORT podczas korzystania z trybu SSL_TERMINATION

Przed modułem Edge SSO możesz mieć system równoważenia obciążenia, 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 dla trybu SSL_PROXY oznacza to, że połączenie z systemu równoważenia obciążenia do Edge SSO korzysta z protokołu TLS.

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

  • System równoważenia obciążenia kończy TLS na porcie 443.
  • Edge SSO kończy TLS na porcie 9443

Pamiętaj, aby w pliku konfiguracyjnym uwzględnić to ustawienie:

# 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 dostawcę tożsamości i interfejs użytkownika Edge, aby wysyłać żądania HTTPS przez port 443.