Installare e configurare SSO SSO

Edge per Private Cloud v4.19.01

L'installazione e la configurazione del modulo SSO perimetrale richiede prima la generazione di due set di chiavi e certificati TLS. Il modulo Edge SSO utilizza TLS per proteggere la trasmissione delle informazioni nell'ambito del processo di handshake SAML con l'IdP SAML.

Creare chiavi e certificati TLS

I passaggi riportati di seguito consentono di creare certificati autofirmati che potrebbero essere adatti al tuo ambiente di test, ma in genere sono necessari certificati firmati da una CA per un ambiente di produzione.

Per creare la chiave di verifica e di firma e il certificato autofirmato:

  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

Per creare la chiave e il certificato autofirmato, senza passphrase, per la comunicazione con l'IdP SAML:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/saml/
  2. cd /opt/apigee/customer/application/apigee-sso/saml/
  3. Genera la tua chiave privata con una passphrase:
    sudo openssl genrsa -aes256 -out server.key 1024
  4. Rimuovi la passphrase dalla chiave:
    sudo openssl rsa -in server.key -out server.key
  5. Genera una richiesta di firma del certificato per la CA:
    sudo openssl req -x509 -sha256 -new -key server.key -out server.csr
  6. Genera un certificato autofirmato con una scadenza di 365 giorni:
    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 selfsigned.crt

Se vuoi attivare TLS sul modulo SSO perimetrale, impostando SSO_TOMCAT_PROFILE su SSL_TERMINATION o su SSL_PROXY, non puoi utilizzare un certificato autofirmato. Devi generare un certificato da una CA. Per saperne di più, consulta Configurare apigee-sso per l'accesso HTTPS.

Installa e configura il servizio SSO perimetrale per l'accesso HTTP

Per installare il modulo Edge SSO, apigee-sso, devi utilizzare lo stesso processo utilizzato per installare Edge. Poiché apigee-sso è rappresentato da un file RPM, significa che l'utente che esegue l'installazione deve essere l'utente root o un utente con accesso completo sudo. Per ulteriori informazioni, consulta la Panoramica dell'installazione di Edge.

Passa un file di configurazione al programma di installazione. Il file di configurazione ha il seguente formato:

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

# Enable the ability to sign an authentication request with SAML SSO.
SSO_SAML_SIGN_REQUEST=y

# 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

# Requires that SAML responses be signed by your IDP.
SSO_SAML_SIGNED_ASSERTIONS=y

# 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>"

Per installare il modulo Edge SSO:

  1. Accedere al nodo del server di gestione. Quel nodo dovrebbe già avere apigee-service installato come descritto in Installare l'utilità Edge apigee-setup.

    Tieni presente che puoi installare il servizio SSO Edge su un nodo diverso. Tuttavia, il nodo deve essere in grado di accedere al server di gestione sulla porta 8080.

  2. Installa e configura apigee-sso:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f configFile

    Dove configFile è il file di configurazione mostrato sopra.

  3. Installa l'utilità apigee-ssoadminapi.sh utilizzata per gestire gli utenti amministratori e macchine per il modulo apigee-sso:
    /opt/apigee/apigee-service/bin/apigee-service apigee-ssoadminapi install
  4. Esci dalla shell, quindi accedi di nuovo per aggiungere l'utilità apigee-ssoadminapi.sh al percorso.

Specifica un file di metadati invece di un URL

Se il tuo IdP non supporta un URL di metadati HTTP/HTTPS, puoi utilizzare un file XML di metadati per configurare Edge SSO:

  1. Copia i contenuti del file XML dei metadati dal tuo IdP in un file sul nodo Edge SSO. Ad esempio, copia il file XML in:
    /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  2. Cambia la proprietà del file in apigee:apigee:
    chown apigee:apigee /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  3. Imposta il valore di SSO_SAML_IDP_METADATA_URL sul percorso file assoluto:
    SSO_SAML_IDP_METADATA_URL=file:///opt/apigee/customer/application/apigee-sso/saml/metadata.xml

    Devi far precedere il percorso del file da "file://", seguito dal percorso assoluto della directory principale (/).