Configuration de TLS pour la nouvelle interface utilisateur Edge

Par défaut, vous accédez à la nouvelle interface utilisateur Edge via HTTP en utilisant l'adresse IP ou le nom DNS du nœud de l'interface utilisateur Edge et le port 3001. Exemple :

http://newue_IP:3001

Vous pouvez également configurer l'accès TLS à l'interface utilisateur Edge afin d'y accéder sous la forme suivante :

https://newue_IP:3001

Exigences TLS

L'interface utilisateur Edge n'est compatible qu'avec TLS v1.2. Si vous activez TLS sur l'UI Edge, les utilisateurs doivent se connecter à l'UI Edge à l'aide d'un navigateur compatible avec TLS v1.2.

Propriétés de configuration TLS

Exécutez la commande suivante pour configurer TLS pour l'interface utilisateur Edge :

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

Où configFile est le fichier de configuration que vous avez utilisé pour installer l'interface utilisateur Edge.

Avant d'exécuter cette commande, vous devez modifier le fichier de configuration pour définir les propriétés nécessaires qui contrôlent TLS. Le tableau suivant décrit les propriétés que vous utilisez pour configurer TLS pour l'interface utilisateur Edge :

Propriété Description Obligatoire ?
MANAGEMENT_UI_SCHEME

Définit le protocole, "http" ou "https", utilisé pour accéder à l'interface utilisateur Edge. La valeur par défaut est "http". Définissez-le sur "https" pour activer TLS :

MANAGEMENT_UI_SCHEME=https
Oui
MANAGEMENT_UI_TLS_OFFLOAD

Si la valeur est "n", spécifie que les requêtes TLS adressées à l'UI Edge sont arrêtées au niveau de l'UI Edge. Vous devez définir MANAGEMENT_UI_TLS_KEY_FILE et MANAGEMENT_UI_TLS_CERT_FILE..

Si la valeur est "y", spécifie que les requêtes TLS adressées à l'interface utilisateur Edge sont arrêtées sur un équilibreur de charge, et que l'équilibreur de charge transfère ensuite la requête à l'interface utilisateur Edge à l'aide de HTTP.

Si vous arrêtez TLS sur l'équilibreur de charge, l'UI Edge doit toujours savoir que la requête d'origine est arrivée via TLS. Par exemple, certains cookies ont un indicateur "Secure" défini.

Vous devez définir MANAGEMENT_UI_SCHEME sur "https", sinon MANAGEMENT_UI_TLS_OFFLOAD est ignoré :

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
Oui
MANAGEMENT_UI_TLS_KEY_FILE

MANAGEMENT_UI_TLS_CERT_FILE

Si la valeur est MANAGEMENT_UI_TLS_OFFLOAD=n, spécifie le chemin absolu vers les fichiers de clé et de certificat TLS. Les fichiers doivent être au format PEM sans phrase secrète et doivent appartenir à l'utilisateur "apigee".

L'emplacement recommandé pour ces fichiers est le suivant :

/opt/apigee/customer/application/edge-management-ui

Si ce répertoire n'existe pas, créez-le.

Si MANAGEMENT_UI_TLS_OFFLOAD=y, omettez MANAGEMENT_UI_TLS_KEY_FILE et MANAGEMENT_UI_TLS_CERT_FILE.. Ils sont ignorés, car les requêtes adressées à l'interface utilisateur Edge sont envoyées via HTTP.

Oui, si MANAGEMENT_UI_TLS_OFFLOAD=n
MANAGEMENT_UI_PUBLIC_URIS

Si MANAGEMENT_UI_TLS_OFFLOAD=n, spécifie l'URL de l'UI Edge.

Définissez cette propriété en fonction d'autres propriétés du fichier de configuration. Exemple :

MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT

Où :

  • MANAGEMENT_UI_SCHEME spécifie le protocole, "http" ou "https", comme décrit ci-dessus.
  • MANAGEMENT_UI_IP spécifie l'adresse IP ou le nom DNS de l'interface utilisateur Edge.
  • MANAGEMENT_UI_PORT spécifie le port utilisé par l'interface utilisateur Edge.

Pour en savoir plus sur ces propriétés, consultez Installer la nouvelle interface utilisateur Edge.

Si MANAGEMENT_UI_TLS_OFFLOAD=y :

  • MANAGEMENT_UI_IP spécifie l'adresse IP ou le nom DNS de l'équilibreur de charge, et non de l'UI Edge.
  • L'équilibreur de charge et le nouvel UE doivent utiliser le même numéro de port pour les requêtes, par exemple 3001. Utilisez MANAGEMENT_UI_PORT pour spécifier le numéro de port sur l'équilibreur de charge et sur le nouvel UE.

Oui

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

Définit la liste des algorithmes de chiffrement TLS disponibles sous la forme d'une chaîne séparée par une virgule ou des espaces.

Chaîne séparée par des virgules :

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Chaîne séparée par des espaces et entourée de guillemets doubles :

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
SHOEHORN_SCHEME

Avant d'installer la nouvelle interface utilisateur Edge, vous devez d'abord installer l'interface utilisateur Edge de base, appelée shoehorn. Le fichier de configuration d'installation utilise la propriété suivante pour spécifier le protocole "http" utilisé pour accéder à l'interface utilisateur Edge de base :

SHOEHORN_SCHEME=http

L'UI Edge de base n'est pas compatible avec TLS. Par conséquent, même lorsque vous activez TLS sur l'UI Edge, cette propriété doit toujours être définie sur "http".

Oui, et défini sur "http"

Configurer TLS

Pour configurer l'accès TLS à l'interface utilisateur Edge :

  1. Générez le certificat TLS et la clé sous forme de fichiers PEM sans phrase secrète. Exemple :

    mykey.pem
    mycert.pem

    Il existe de nombreuses façons de générer un certificat et une clé TLS. Par exemple, vous pouvez exécuter la commande suivante pour générer un certificat et une clé non signés :

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. Copiez les fichiers de clé et de certificat dans le répertoire /opt/apigee/customer/application/edge-management-ui. Si ce répertoire n'existe pas, créez-le.
  3. Assurez-vous que le certificat et la clé appartiennent à l'utilisateur "apigee" :

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. Modifiez le fichier de configuration que vous avez utilisé pour installer l'UI Edge afin de définir les propriétés TLS suivantes :

    # Set to https to enable TLS.
    MANAGEMENT_UI_SCHEME=https 
    # Do NOT terminate TLS on a load balancer.
    MANAGEMENT_UI_TLS_OFFLOAD=n
    
    # Specify the key and cert. 
    MANAGEMENT_UI_TLS_KEY_FILE=/opt/apigee/customer/application/edge-management-ui/mykey.pem
    MANAGEMENT_UI_TLS_CERT_FILE=/opt/apigee/customer/application/edge-management-ui/mycert.pem
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
  5. Exécutez la commande suivante pour configurer TLS :

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    Où configFile est le nom du fichier de configuration.

    Le script redémarre l'interface utilisateur Edge.

  6. Exécutez les commandes suivantes pour configurer et redémarrer shoehorn :

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Après le redémarrage, l'UI Edge est accessible via HTTPS. Si vous ne parvenez pas à vous connecter à l'interface utilisateur Edge après avoir activé TLS, videz le cache du navigateur et essayez de vous reconnecter.

Configurer l'UI Edge lorsque la terminaison TLS se produit sur l'équilibreur de charge

Si vous disposez d'un équilibreur de charge qui transfère les requêtes vers l'UI Edge, vous pouvez choisir d'arrêter la connexion TLS sur l'équilibreur de charge, puis de faire en sorte que l'équilibreur de charge transfère les requêtes vers l'UI Edge via HTTP :

Arrêter TLS sur l'équilibreur de charge

Cette configuration est possible, mais vous devez configurer l'équilibreur de charge et l'UI Edge en conséquence.

Pour configurer l'UI Edge lorsque la terminaison TLS se produit sur l'équilibreur de charge, procédez comme suit :

  1. Modifiez le fichier de configuration que vous avez utilisé pour installer l'interface utilisateur Edge afin de définir les propriétés TLS suivantes :

    # Set to https to enable TLS
    MANAGEMENT_UI_SCHEME=https
    # Terminate TLS on a load balancer
    MANAGEMENT_UI_TLS_OFFLOAD=y
    # Set to the IP address or DNS name of the load balancer.
    MANAGEMENT_UI_IP=LB_IP_DNS
    # Set to the port number for the load balancer and Edge UI.
    # The load balancer and the Edge UI must use the same port number.
    MANAGEMENT_UI_IP=3001
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
    

    Si vous définissez MANAGEMENT_UI_TLS_OFFLOAD=y, omettez MANAGEMENT_UI_TLS_KEY_FILE et MANAGEMENT_UI_TLS_CERT_FILE.. Ils sont ignorés, car les requêtes adressées à l'UI Edge sont transmises via HTTP.

  2. Exécutez la commande suivante pour configurer TLS :

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    Où configFile est le nom du fichier de configuration.

    Le script redémarre l'interface utilisateur Edge.

  3. Exécutez les commandes suivantes pour configurer et redémarrer shoehorn :

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Après le redémarrage, l'UI Edge est accessible via HTTPS. Si vous ne parvenez pas à vous connecter à l'interface utilisateur Edge après avoir activé TLS, videz le cache du navigateur et essayez de vous reconnecter.

Désactiver TLS sur l'interface utilisateur Edge

Pour désactiver TLS sur l'interface utilisateur Edge :

  1. Modifiez le fichier de configuration que vous avez utilisé pour installer l'interface utilisateur Edge afin de définir la propriété TLS suivante :

    # Set to http to disable TLS.
    MANAGEMENT_UI_SCHEME=http
    
    # Only if you had terminated TLS on a load balancer,
    # reset to the IP address or DNS name of the Edge UI.
    MANAGEMENT_UI_IP=newue_IP_DNS
    
  2. Exécutez la commande suivante pour désactiver TLS :

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    Où configFile est le nom du fichier de configuration.

    Le script redémarre l'interface utilisateur Edge.

  3. Exécutez les commandes suivantes pour configurer et redémarrer shoehorn :

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Vous pouvez désormais accéder à l'interface utilisateur Edge via HTTP. Si vous ne parvenez pas à vous connecter à l'interface utilisateur Edge après avoir désactivé TLS, videz le cache du navigateur et essayez de vous reconnecter.