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

Edge for Private Cloud wer. 4.17.09

W artykule Instalacja i konfigurowanie logowania jednokrotnego dla przeglądarki Edge opisano, jak zainstalować i skonfigurować moduł logowania jednokrotnego na serwerach brzegowych do korzystania z protokołu HTTP na porcie 9099, zgodnie z tą właściwością w pliku konfiguracji:

SSO_TOMCAT_PROFILE=DEFAULT

Aby włączyć dostęp przez HTTPS, możesz też ustawić dla parametru SSO_TOMCAT_PROFILE jedną z poniższych wartości:

  • SSL_PROXY – konfiguruje apigee-sso w trybie proxy, co oznacza, że system równoważenia obciążenia jest zainstalowany przed apigee-sso i zakończony TLS w systemie równoważenia obciążenia. Następnie podaj port używany w apigee-sso na potrzeby żądań z systemu równoważenia obciążenia.
  • SSL_TERMINATION – włączono dostęp TLS do apigee-sso, modułu Edge SSO na wybranym porcie. W tym trybie musisz podać magazyn kluczy, który zawiera certyfikat podpisany przez urząd certyfikacji. Nie możesz używać samodzielnie podpisanego certyfikatu.

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

Włączenie dostępu HTTPS do metody apigee-sso w dowolnym z tych trybów powoduje wyłączenie dostępu HTTP. Oznacza to, że nie możesz uzyskać dostępu do apigee-sso przez protokoły HTTP i HTTPS jednocześnie.

Włącz tryb SSL_PROXY

W trybie SSL_PROXY Twój system używa systemu równoważenia obciążenia przed modułem brzegowego logowania jednokrotnego i zamyka protokół TLS w systemie równoważenia obciążenia. Na poniższym przykładzie system równoważenia obciążenia wyłącza TLS na porcie 443, a następnie przekierowuje żądania do modułu Edge SSO na porcie 9099:

W tej konfiguracji ufasz połączeniu między systemem równoważenia obciążenia a modułem logowania na serwerach brzegowych, więc nie ma potrzeby używania protokołu TLS w przypadku tego połączenia. Jednak jednostki zewnętrzne, takie jak dostawca tożsamości SAML, teraz muszą uzyskać dostęp do modułu logowania jednokrotnego na serwerach brzegowych przez port 443, a nie przez niechroniony port 9099.

Moduł logowania jednokrotnego na serwerach brzegowych w trybie SSL_PROXY ma w trakcie procesu uwierzytelniania automatycznie generować adresy URL przekierowania używane zewnętrznie przez dostawcę tożsamości. Dlatego też te przekierowania muszą zawierać numer zewnętrznego portu w systemie równoważenia obciążenia 443 w tym przykładzie, a nie port wewnętrzny w module Edge SSO (9099).

Uwaga: nie musisz tworzyć certyfikatu ani klucza TLS dla trybu SSL_PROXY, ponieważ połączenie między systemem równoważenia obciążenia a modułem logowania brzegowego na brzegu korzysta z protokołu HTTP.

Aby skonfigurować moduł logowania na serwerach brzegowych pod kątem trybu SSL_PROXY:

  1. Dodaj do pliku konfiguracyjnego te ustawienia:
    # Włącz tryb SSL_PROXY
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # Określ port apigee-sso, zwykle z zakresu od 1025 do 65535.
    # Zwykle porty 1024 i starsze wymagają dostępu na poziomie roota przez apigee-sso.
    # Wartość domyślna to 9099.
    SSO_TOMCAT_PORT=9099

    # Podaj numer portu w systemie równoważenia obciążenia, aby zakończyć działanie protokołu TLS.
    # Ten numer portu jest niezbędny do automatycznego generowania przekierowań przez apigee-sso.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # Ustaw protokół dostępu publicznego apigee-sso na https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Skonfiguruj moduł logowania jednokrotnego na serwerach brzegowych:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Zaktualizuj konfigurację dostawcy tożsamości, aby wysyłać żądanie HTTPS przez port 443 systemu równoważenia obciążenia w celu uzyskania dostępu do logowania jednokrotnego na serwerach brzegowych. Więcej informacji znajdziesz w artykule Konfigurowanie dostawcy tożsamości SAML.
  4. Zaktualizuj konfigurację interfejsu Edge dla HTTPS przez ustawienie tych właściwości:
    SSO_PUBLIC_URL_PORT=443
    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 lub interfejs API BaaS, zaktualizuj je, aby używały protokołu HTTPS do uzyskiwania dostępu do logowania jednokrotnego w Ede. Więcej informacji:

Włącz tryb SSL_TERMINATION

W przypadku trybu SSL_TERMINATION musisz:

  • Wygenerowano certyfikat i klucz TLS oraz przechowywanie ich w pliku magazynu kluczy. Nie możesz użyć 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 określić magazyn kluczy zawierający certyfikat podpisany przez urząd certyfikacji. Nie możesz używać samodzielnie podpisanego certyfikatu. Przykład tworzenia pliku JKS znajdziesz w artykule Konfigurowanie protokołu TLS/SSL dla przeglądarki Edge On.
  4. Ustaw plik JKS jako należący do użytkownika „apigee”:
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Aby skonfigurować moduł logowania jednokrotnego na serwerach brzegowych:

  1. Dodaj do pliku konfiguracyjnego te ustawienia:
    # Włącz tryb SSL_TERMINATION.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # # Określ ścieżkę do pliku magazynu kluczy.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # Hasło określone podczas tworzenia magazynu kluczy.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword

    # # Podaj numer portu HTTPS z zakresu od 1025 do 65535.
    # Zwykle porty 1024 i starsze wymagają dostępu na poziomie roota przez apigee-sso.
    # Wartość domyślna to 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443

    # # Ustaw schemat dostępu publicznego apigee-sso na https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Skonfiguruj moduł logowania jednokrotnego na serwerach brzegowych:
    > /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 porcie 9443 systemu równoważenia obciążenia w celu uzyskania dostępu do logowania jednokrotnego na serwerach brzegowych. Więcej informacji znajdziesz w artykule Konfigurowanie dostawcy tożsamości SAML.
  4. Zaktualizuj konfigurację interfejsu Edge dla HTTPS przez ustawienie tych 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 lub interfejs API BaaS, zaktualizuj je, aby używały protokołu HTTPS do uzyskiwania dostępu do logowania jednokrotnego w Ede. Więcej informacji:

Ustawianie logowania jednokrotnego_TOMCAT_PROXY_PORT w trybie SSL_TERMINATION

Przed modułem logowania brzegowego możesz umieścić system równoważenia obciążenia, który wyłącza TLS w systemie równoważenia obciążenia, ale jednocześnie włącza protokół TLS między systemem równoważenia obciążenia a funkcją logowania brzegowego. Na ilustracji powyżej dla trybu SSL_PROXY oznacza to, że połączenie między systemem równoważenia obciążenia a brzegowym logowaniem jednokrotnym używa protokołu TLS.

W tym scenariuszu musisz skonfigurować protokół TLS w usłudze logowania jednokrotnego na serwerach brzegowych w taki sam sposób, jak powyżej dla trybu SSL_TERMINATION. Jeśli jednak system równoważenia obciążenia używa innego numeru portu TLS niż Edge SSO dla protokołu TLS, musisz również określić właściwość SSO_TOMCAT_PROXY_PORT w pliku konfiguracji. Na przykład:

  • System równoważenia obciążenia zamyka protokół TLS przez port 443
  • Logowanie jednokrotne na brzegu sieci zatrzymuje protokół TLS na porcie 9443

Pamiętaj, aby w pliku konfiguracyjnym umieścić to ustawienie:

# Podaj numer portu w systemie równoważenia obciążenia, aby zakończyć działanie protokołu TLS.
# Ten numer portu jest wymaganydo tworzeniaprzekierowań adresów URL
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Skonfiguruj dostawcę tożsamości i interfejs użytkownika Edge pod kątem wysyłania żądań HTTPS przez port 443.