Edge-SSO installieren und konfigurieren

Edge for Private Cloud Version 4.17.09

Für das Installieren und Konfigurieren des Edge-SSO-Moduls müssen Sie zuerst zwei Sätze von TLS-Schlüsseln und -Zertifikaten generieren. Das Edge-SSO-Modul verwendet TLS, um die Übertragung von Informationen im Rahmen des SAML-Handshakeprozesses mit dem SAML-IdP zu sichern.

Hinweis: Standardmäßig ist das Edge-SSO-Modul über HTTP an Port 9099 des Knotens zugänglich, auf dem es installiert ist. Sie können TLS im Edge-SSO-Modul aktivieren. Dazu müssen Sie einen dritten Satz TLS-Schlüssel und -Zertifikate erstellen, die von Tomcat zur Unterstützung von TLS verwendet werden. Weitere Informationen finden Sie unter apigee-sso für HTTPS-Zugriff konfigurieren.

TLS-Schlüssel und -Zertifikate erstellen

In den folgenden Schritten werden selbst signierte Zertifikate erstellt, die für Ihre Testumgebung in Ordnung sein können. Für eine Produktionsumgebung benötigen Sie normalerweise jedoch Zertifikate, die von einer Zertifizierungsstelle signiert wurden.

So erstellen Sie den Bestätigungs- und Signaturschlüssel sowie ein selbst signiertes Zertifikat:

  1. > sudo mkdir -p /opt/apigee/customer/application/apigee-sso/jwt-keys
  2. > cd /opt/apigee/customer/application/apigee-sso/jwt-keys/
  3. > sudo openssl genrsa -out privkey.pem 2048
  4. > sudo openssl rsa -pubout -in privkey.pem -out pubkey.pem
  5. > sudo Chown apigee:apigee *.pem

So erstellen Sie den Schlüssel und das selbst signierte Zertifikat ohne Passphrase für die Kommunikation mit dem SAML-IdP:

  1. > sudo mkdir -p /opt/apigee/customer/application/apigee-sso/saml/
  2. > cd /opt/apigee/customer/application/apigee-sso/saml/
  3. Generieren Sie Ihren privaten Schlüssel mit einer Passphrase:
    > sudo openssl genrsa -aes256 -out server.key 1024
  4. Entfernen Sie die Passphrase aus dem Schlüssel:
    > sudo openssl rsa -in server.key -out server.key
  5. Anfrage zur Zertifikatsignierung für Zertifizierungsstelle generieren:
    > sudo openssl req -x509 -sha256 -new -key server.key -out server.csr
  6. Generieren Sie ein selbst signiertes Zertifikat mit einer Ablaufzeit von 365 Tagen:
    > sudo openssl x509 -sha256 -days 365 -in server.csr -signkey server.key -out Selfsigned.crt
  7. > sudo Chown apigee:apigee server.key
  8. > sudo chown apigee:apigee selbst signiert.crt

Wenn Sie TLS im Edge-SSO-Modul durch Festlegen von SSO_TOMCAT_PROFILE auf SSL_TERMINATION oder SSL_PROXY aktivieren möchten, können Sie kein selbst signiertes Zertifikat verwenden. Sie müssen ein Zertifikat von einer Zertifizierungsstelle generieren. Weitere Informationen finden Sie unter apigee-sso für HTTPS-Zugriff konfigurieren.

Installieren und konfigurieren Sie Edge-SSO für den HTTP-Zugriff

Zum Installieren des Edge-SSO-Moduls apigee-sso müssen Sie denselben Prozess verwenden, mit dem Sie Edge installiert haben. Da apigee-sso durch eine RPM-Datei dargestellt wird, bedeutet dies, dass der Nutzer, der die Installation durchführt, der Root-Nutzer oder ein Nutzer mit uneingeschränktem sudo-Zugriff sein muss. Weitere Informationen finden Sie in der Edge-Installationsübersicht.

Übergeben Sie eine Konfigurationsdatei an das Installationsprogramm. Die Konfigurationsdatei hat das folgende Format:

IP1=hostname_or_ip_of_management_server
IP2=hostname_or_ip_of_UI_and_apigge_sso

## Management Server configuration.
MSIP=$IP1
MGMT_PORT=8080
# Edge sys admin username and password as set when you installed Edge.
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
# Set the protocol for the Edge management API. Default is http. 
# Set to https if you enabled TLS on the management API.
MS_SCHEME=http

## Postgres configuration. 
PG_HOST=$IP1
PG_PORT=5432
# Postgres username and password as set when you installed Edge.
PG_USER=apigee
PG_PWD=postgres

# apigee-sso configuration.
SSO_PROFILE="saml"
# Externally accessible IP or DNS name of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP2
# Default port is 9099. If changing, set both properties to the same value.
SSO_PUBLIC_URL_PORT=9099
SSO_TOMCAT_PORT=9099
# Set Tomcat TLS mode to DEFAULT to use HTTP access to apigee-sso.
SSO_TOMCAT_PROFILE=DEFAULT
SSO_PUBLIC_URL_SCHEME=http

# SSO admin user name. The default is ssoadmin.
SSO_ADMIN_NAME=ssoadmin
# SSO admin password using uppercase, lowercase, number, and special chars. 
SSO_ADMIN_SECRET=Secret123

# Path to signing key and secret from "Create the TLS keys and certificates" above.
SSO_JWT_SIGNING_KEY_FILEPATH=/opt/apigee/customer/application/apigee-sso/jwt-keys/privkey.pem
SSO_JWT_VERIFICATION_KEY_FILEPATH=/opt/apigee/customer/application/apigee-sso/jwt-keys/pubkey.pem

# Name of SAML IDP. For example, okta or adfs. 
SSO_SAML_IDP_NAME=okta
# Text displayed to user when they attempt to access Edge UI.
SSO_SAML_IDP_LOGIN_TEXT="Please log in to your IDP"

# The metadata URL from your IDP.
# If you have a metadata file, and not a URL, 
# see "Specifying a metadata file instead of a URL" below.
SSO_SAML_IDP_METADATA_URL=https://dev-343434.oktapreview.com/app/exkar20cl/sso/saml/metadata

# Specifies to skip TLS validation for the URL specified
# by SSO_SAML_IDP_METADATA_URL. Necessary if URL uses a self-signed cert. 
# Default value is "n".
SSO_SAML_IDPMETAURL_SKIPSSLVALIDATION=n

# SAML service provider key and cert from "Create the TLS keys and certificates" above.
SSO_SAML_SERVICE_PROVIDER_KEY=/opt/apigee/customer/application/apigee-sso/saml/server.key
SSO_SAML_SERVICE_PROVIDER_CERTIFICATE=/opt/apigee/customer/application/apigee-sso/saml/selfsigned.crt
# The passphrase used when you created the SAML cert and key. 
# The section "Create the TLS keys and certificates" above removes the passphrase, 
# but this property is available if you require a passphrase.
# SSO_SAML_SERVICE_PROVIDER_PASSWORD=samlSP123

# Must configure an SMTP server so Edge SSO can send emails to users.
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com  
# omit for no username
SMTPPASSWORD=smtppwd    
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

So installieren Sie das Edge-SSO-Modul:

  1. Melden Sie sich im Verwaltungsserver-Knoten an. Auf diesem Knoten sollte apigee-service bereits installiert sein, wie unter Edge-Apigee-Setup-Dienstprogramm installieren beschrieben.
    Beachten Sie, dass Sie Edge-SSO auf einem anderen Knoten installieren können. Der Knoten muss jedoch über Port 8080 auf den Management Server zugreifen können.
  2. Installieren und konfigurieren Sie apigee-sso:
    > /opt/apigee/apigee-setup/bin/setup.sh -p sso -f configFile

    , wobei configFile für die oben gezeigte Konfigurationsdatei steht.
  3. Installieren Sie das Dienstprogramm apigee-ssoadminapi.sh, mit dem Administratoren und Computernutzer für das Modul apigee-sso verwaltet werden:
    /opt/apigee/apigee-service/bin/apigee-service, apigee-ssoadminapi Installation
  4. Melden Sie sich von der Shell ab und anschließend wieder an, um Ihrem Pfad das Dienstprogramm apigee-ssoadminapi.sh hinzuzufügen.

Angeben einer Metadatendatei anstelle einer URL

Wenn Ihr IdP eine HTTP/HTTPS-Metadaten-URL nicht unterstützt, können Sie eine Metadaten-XML-Datei verwenden, um Edge-SSO zu konfigurieren:

  1. Kopieren Sie den Inhalt der Metadaten-XML von Ihrem IdP in eine Datei auf dem Edge-SSO-Knoten. Kopieren Sie beispielsweise den XML-Code nach
    /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  2. Ändern Sie die Eigentümerschaft der Datei in apigee:apigee:
    > chown apigee:apigee /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  3. Legen Sie den Wert von SSO_SAML_IDP_METADATA_URL auf den absoluten Dateipfad fest:
    SSO_SAML_IDP_METADATA_URL=file:///opt/apigee/customer/application/apigee-sso/saml/metadata.xml

    Sie müssen dem Dateipfad das Präfix file:// gefolgt vom absoluten Pfad des Stammverzeichnisses (/) voranstellen.