Installer et configurer l'authentification unique Edge

Edge for Private Cloud v4.18.05

Pour installer et configurer le module SSO Edge, vous devez d'abord générer deux jeux de clés et de certificats TLS. Le module SSO Edge utilise TLS pour sécuriser la transmission d'informations dans le cadre du processus de handshake SAML avec l'IdP SAML.

Créer les clés et les certificats TLS

Les étapes ci-dessous permettent de créer des certificats autosignés qui peuvent convenir à votre environnement de test, mais vous avez généralement besoin de certificats signés par une autorité de certification pour un environnement de production.

Pour créer la clé de validation et de signature et le certificat autosigné:

  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

Pour créer la clé et le certificat autosigné sans phrase secrète, afin de communiquer avec l'IdP SAML:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/saml/
  2. cd /opt/apigee/customer/application/apigee-sso/saml/
  3. Générez votre clé privée avec une phrase secrète :
    sudo openssl genrsa -aes256 -out server.key 1024
  4. Supprimez la phrase secrète de la clé:
    sudo openssl rsa -in server.key -out server.key
  5. Générer une requête de signature de certificat pour l'autorité de certification :
    sudo openssl req -x509 -sha256 -new -key server.key -out server.csr
  6. Générez un certificat autosigné avec un délai d'expiration de 365 jours :
    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

Si vous souhaitez activer TLS sur le module d'authentification unique Edge, en définissant SSO_TOMCAT_PROFILE sur SSL_TERMINATION ou sur SSL_PROXY, vous ne pouvez pas utiliser de certificat autosigné. Vous devez générer un certificat auprès d'une autorité de certification. Pour en savoir plus, consultez la section Configurer apigee-sso pour l'accès HTTPS.

Installer et configurer Edge SSO pour l'accès HTTP

Pour installer le module SSO Edge, apigee-sso, vous devez utiliser le même processus que celui que vous avez utilisé pour installer Edge. Comme apigee-sso est représenté par un fichier RPM, l'utilisateur qui effectue l'installation doit être l'utilisateur racine ou un utilisateur disposant d'un accès sudo complet. Pour en savoir plus, consultez la présentation de l'installation d'Edge.

Transmettez un fichier de configuration au programme d'installation. Le fichier de configuration se présente sous la forme suivante:

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

Pour installer le module d'authentification unique Edge:

  1. Connectez-vous au nœud du serveur de gestion. apigee-service doit déjà être installé sur ce nœud, comme décrit dans la section Installer l'utilitaire de configuration d'Apigee Edge.

    Notez que vous pouvez installer Edge SSO sur un autre nœud. Toutefois, ce nœud doit pouvoir accéder au serveur de gestion via le port 8080.

  2. Installez et configurez apigee-sso :
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f configFile

    configFile est le fichier de configuration présenté ci-dessus.

  3. Installez l'utilitaire apigee-ssoadminapi.sh permettant de gérer les administrateurs et les utilisateurs machine pour le module apigee-sso :
    /opt/apigee/apigee-service/bin/apigee-service apigee-ssoadminapi install
  4. Déconnectez-vous de l'interface système, puis reconnectez-vous pour ajouter l'utilitaire apigee-ssoadminapi.sh à votre chemin d'accès.

Spécifier un fichier de métadonnées au lieu d'une URL

Si votre IdP ne prend pas en charge les URL de métadonnées HTTP/HTTPS, vous pouvez utiliser un fichier XML de métadonnées pour configurer l'authentification unique Edge:

  1. Copiez le contenu du fichier XML de métadonnées de votre fournisseur d'identité vers un fichier sur le nœud SSO Edge. Par exemple, copiez le code XML vers :
    /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  2. Remplacez la propriété du fichier par apigee:apigee :
    chown apigee:apigee /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  3. Définissez la valeur de SSO_SAML_IDP_METADATA_URL sur le chemin d'accès absolu au fichier :
    SSO_SAML_IDP_METADATA_URL=file:///opt/apigee/customer/application/apigee-sso/saml/metadata.xml

    Vous devez ajouter le préfixe "file://" au chemin d'accès au fichier, suivi du chemin absolu depuis la racine (/).