Apigee-sso für HTTPS-Zugriff konfigurieren

Edge for Private Cloud v4.18.05

Unter Edge-SSO installieren und konfigurieren wird beschrieben, wie Sie das Edge-SSO-Modul installieren und konfigurieren, um HTTP an Port 9099 zu verwenden, wie durch die folgende Eigenschaft in der Konfigurationsdatei angegeben:

SSO_TOMCAT_PROFILE=DEFAULT

Alternativ können Sie SSO_TOMCAT_PROFILE auf einen der folgenden Werte festlegen, um den HTTPS-Zugriff zu aktivieren:

  • SSL_PROXY: Konfiguriert apigee-sso im Proxymodus, d. h., Sie haben vor apigee-sso einen Load-Balancer installiert und TLS auf dem Load-Balancer beendet. Anschließend geben Sie den Port an, der auf apigee-sso für Anfragen vom Load-Balancer verwendet wird.
  • SSL_TERMINATION: Der TLS-Zugriff auf apigee-sso, das Edge-SSO-Modul, wurde über den Port Ihrer Wahl aktiviert. Sie müssen für diesen Modus einen Schlüsselspeicher angeben, der ein von einer Zertifizierungsstelle signiertes Zertifikat enthält. Sie können kein selbst signiertes Zertifikat verwenden.

Sie können HTTPS bei der Erstinstallation und Konfiguration von apigee-sso oder später aktivieren.

Wenn Sie den HTTPS-Zugriff auf apigee-sso in einem der beiden Modi aktivieren, wird der HTTP-Zugriff deaktiviert. Das heißt, Sie können nicht gleichzeitig mit HTTP und HTTPS auf apigee-sso zugreifen.

SSL_PROXY-Modus aktivieren

Im SSL_PROXY-Modus verwendet Ihr System einen Load-Balancer vor dem Edge-SSO-Modul und beendet TLS auf dem Load-Balancer. In der folgenden Abbildung beendet der Load-Balancer TLS an Port 443 und leitet dann Anfragen an das Edge-SSO-Modul an Port 9099 weiter:

In dieser Konfiguration vertrauen Sie der Verbindung vom Load-Balancer zum Edge-SSO-Modul, sodass für diese Verbindung kein TLS verwendet werden muss. Externe Entitäten wie der SAML-IdP müssen jedoch jetzt über Port 443 auf das Edge-SSO-Modul zugreifen, nicht auf dem ungeschützten Port 9099.

Der Grund für die Konfiguration des Edge-SSO-Moduls im SSL_PROXY-Modus besteht darin, dass das Edge-SSO-Modul automatisch Weiterleitungs-URLs generiert, die vom IdP als Teil des Authentifizierungsprozesses extern verwendet werden. Daher müssen diese Weiterleitungs-URLs die externe Portnummer auf dem Load-Balancer enthalten, in diesem Beispiel 443, und nicht den internen Port im Edge-SSO-Modul 9099.

Hinweis: Sie müssen kein TLS-Zertifikat und einen TLS-Schlüssel für den SSL_PROXY-Modus erstellen, da die Verbindung vom Load-Balancer zum Edge-SSO-Modul HTTP verwendet.

So konfigurieren Sie das Edge-SSO-Modul für den SSL_PROXY-Modus:

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # 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. Konfigurieren Sie das Edge-SSO-Modul:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Aktualisieren Sie Ihre IdP-Konfiguration, um jetzt eine HTTPS-Anfrage an Port 443 des Load-Balancers zu senden, um auf Edge-SSO zuzugreifen. Weitere Informationen finden Sie unter SAML-IdP konfigurieren.
  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS. Legen Sie dazu die folgenden Attribute in der Konfigurationsdatei fest:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    Aktualisieren Sie dann die Edge-Benutzeroberfläche:

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

    Weitere Informationen finden Sie unter SAML auf der Edge-Benutzeroberfläche aktivieren.

  5. Wenn Sie das Portal für Apigee Developer Services (oder einfach das Portal) installiert haben, aktualisieren Sie es, um HTTPS für den Zugriff auf Ede SSO zu verwenden. Weitere Informationen finden Sie unter Portal für die Verwendung von SAML für die Kommunikation mit Edge konfigurieren.

Modus "SSL_TERMINATION" aktivieren

Für den SSL_TERMINATION-Modus müssen Sie:

  • Ein TLS-Zertifikat und einen TLS-Schlüssel wurden generiert und in einer Schlüsselspeicherdatei gespeichert. Sie können kein selbst signiertes Zertifikat verwenden. Sie müssen ein Zertifikat von einer Zertifizierungsstelle generieren.
  • Konfigurationseinstellungen für apigee-sso. aktualisieren

So erstellen Sie eine Schlüsselspeicherdatei aus Ihrem Zertifikat und Ihrem Schlüssel:

  1. Erstellen Sie ein Verzeichnis für die JKS-Datei:
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Wechseln Sie in das neue Verzeichnis:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Erstellen Sie eine JKS-Datei, die das Zertifikat und den Schlüssel enthält. Für diesen Modus müssen Sie einen Schlüsselspeicher angeben, der ein von einer Zertifizierungsstelle signiertes Zertifikat enthält. Sie können kein selbst signiertes Zertifikat verwenden. Ein Beispiel für das Erstellen einer JKS-Datei finden Sie unter TLS/SSL für Edge On-Premises konfigurieren.
  4. Legen Sie die JKS-Datei fest, die dem Nutzer „apigee“ gehört:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

So konfigurieren Sie das Edge-SSO-Modul:

  1. Fügen Sie der Konfigurationsdatei die folgenden Einstellungen hinzu:
    # 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. Konfigurieren Sie das Edge-SSO-Modul:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Aktualisieren Sie Ihre IdP-Konfiguration, um jetzt eine HTTPS-Anfrage an Port 9443 des Load-Balancers zu senden, um auf Edge-SSO zuzugreifen. Weitere Informationen finden Sie unter SAML-IdP konfigurieren.
  4. Aktualisieren Sie Ihre Edge-UI-Konfiguration für HTTPS. Legen Sie dazu die folgenden Attribute fest:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

    Weitere Informationen finden Sie unter SAML auf der Edge-Benutzeroberfläche aktivieren.

  5. Wenn Sie das Portal für Entwicklerdienste installiert haben, aktualisieren Sie es so, dass für den Zugriff auf Ede-SSO HTTPS verwendet wird. Weitere Informationen finden Sie unter Developer Services-Portal für die Verwendung von SAML für die Kommunikation mit Edge konfigurieren.

SSO_TOMCAT_PROXY_PORT bei Verwendung des Modus "SSL_TERMINATION" festlegen

Möglicherweise haben Sie vor dem Edge-SSO-Modul einen Load-Balancer, der TLS auf dem Load-Balancer beendet, aber auch TLS zwischen dem Load-Balancer und Edge-SSO aktiviert. In der Abbildung oben für den SSL_PROXY-Modus bedeutet dies, dass die Verbindung vom Load-Balancer zu Edge-SSO TLS verwendet.

In diesem Szenario konfigurieren Sie TLS on Edge SSO wie oben für den SSL_TERMINATION-Modus. Wenn der Load-Balancer jedoch eine andere TLS-Portnummer als Edge-SSO für TLS verwendet, müssen Sie auch das Attribut SSO_TOMCAT_PROXY_PORT in der Konfigurationsdatei angeben. Beispiel:

  • Der Load-Balancer beendet TLS an Port 443
  • Edge SSO beendet TLS an Port 9443

Die Konfigurationsdatei muss die folgende Einstellung enthalten:

# 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

Konfigurieren Sie den IdP und die Edge-Benutzeroberfläche für HTTPS-Anfragen an Port 443.