Présentation de la passerelle d'application

La passerelle d'application est une appliance logicielle qui permet d'intégrer aux fins d'authentification des applications hébergées sur une instance de calcul, dans une infrastructure cloud ou sur un serveur on-premise à IAM.

La passerelle d'application agit comme un proxy inverse protégeant les applications Web en limitant l'accès réseau non autorisé à ces dernières. La passerelle d'application intercepte toute demande HTTP adressée à ces applications et s'assure que les utilisateurs sont authentifiés avec IAM avant de transmettre la demande à ces applications. La passerelle d'application propage l'identité de l'utilisateur authentifié aux applications.

Si l'utilisateur n'est pas authentifié avec IAM, la passerelle d'application réachemine l'utilisateur vers la page de connexion pour validation des informations d'identification.

Remarque

Si vous utilisez Cloud Gate, il est important que le nom d'un utilisateur ne contienne que les caractères affichés dans Création d'un utilisateur car le nom d'affichage est envoyé en tant qu'en-tête HTTP. Si des caractères ASCII non imprimables sont utilisés, Cloud Gate considère la demande comme non valide et renvoie une erreur 400.

Utilisations de la passerelle d'application

Utilisez la passerelle d'application aux fins suivantes :

  • Intégrez des applications d'entreprise hébergées sur site ou dans une infrastructure cloud à IAM à des fins d'authentification.

    Par exemple, si une application Web est hébergée sur site ou dans une infrastructure cloud, vous pouvez l'intégrer à toutes les autres applications cloud pour l'accès avec connexion unique. Utilisez la passerelle d'application pour intégrer une application Web à IAM, puis assurez-vous que les autres applications cloud utilisent IAM comme mécanisme d'authentification. Toutes ces applications font appel à l'accès avec connexion unique fourni par IAM.

  • Exposez les applications Web intranet à l'accès Internet.

    Si l'application Web est hébergée et accessible sur un intranet, et que vous voulez exposer l'accès à cette application sur Internet, utilisez la passerelle d'application afin de faire Office de proxy pour toute demande Internet et de demander aux utilisateurs de s'authentifier auprès d'IAM avant d'accéder l'application Web intranet. Dans ce cas, vous déployez la passerelle d'application dans la zone démilitarisée réseau tandis que l'application reste dans la zone intranet.

  • Effectuez une intégration aux applications ne disposant pas de mécanisme d'authentification natif et ne prenant pas en charge les méthodes d'intégration par fédération SAML, OAuth et OpenID Connect.

    Si l'application n'accepte pas les normes d'authentification prises en charge par IAM (SAML, OAuth et OpenID Connect) et que vous n'êtes pas autorisé à utiliser les SDK IAM dans l'application, vous pouvez utiliser la passerelle d'application pour intégrer l'application Web à IAM.

  • Effectuez une intégration aux applications prenant en charge l'authentification basée sur l'en-tête HTTP.

    Pour les applications Web qui prennent en charge l'authentification basée sur l'en-tête HTTP, la méthode d'intégration via la passerelle d'application ne nécessite aucune modification du code source de l'application Web. Vous devez configurer les stratégies d'authentification de l'application dans IAM pour ajouter les variables d'en-tête dans la demande avant que celle-ci ne soit transférée à l'application par la passerelle. L'application peut ainsi identifier l'utilisateur authentifié auprès d'IAM.

Fonctionnement de la passerelle d'application

La passerelle d'application est déployée au sein de l'infrastructure d'un client, que l'infrastructure soit dans le cloud, sur site ou hybride. Il fonctionne comme un proxy inverse, interceptant toutes les demandes du client vers l'application. La passerelle d'application vérifie ensuite si un utilisateur est déjà connecté à IAM. Si l'utilisateur s'est connecté, la passerelle d'application ajoute des variables d'en-tête à la demande afin que l'application protégée puisse accéder à la variable d'en-tête. L'application fait confiance à la passerelle d'application pour identifier l'utilisateur connecté dans les valeurs de domaine d'identité et créer la session utilisateur.

Assurez-vous que la communication entre la passerelle d'application et l'application est sécurisée afin d'éviter toute modification des valeurs de variable d'en-tête avant l'envoi de la demande à l'application.

montre comment l'application, la passerelle d'application, le domaine d'identité et le navigateur de l'utilisateur interagissent lorsqu'un utilisateur tente d'accéder à n'importe quelle ressource d'application mais qu'il n'est pas connectés à un domaines d'identité

Les étapes suivantes expliquent le flux d'authentification par formulaire entre le navigateur Web, la passerelle d'application et une application d'entreprise :

Etape Description
Légende 1 Dans un navigateur Web, un utilisateur demande l'accès à une application via une URL exposée par la passerelle d'application.
Légende 2

La passerelle d'application intercepte la demande, vérifie que l'utilisateur n'a pas de session dans IAM, puis réachemine le navigateur de l'utilisateur vers la page de connexion.

A l'étape 2, si l'utilisateur a une session avec IAM, cela signifie que ce dernier s'est déjà connecté. Si tel est le cas, un jeton d'accès est envoyé à la passerelle d'application, puis les étapes restantes sont ignorées.

Légende 3 IAM présente la page de connexion ou le mécanisme de connexion configuré pour le domaine.
Légende 4 L'utilisateur se connecte à IAM.
Légende 5 Une fois l'authentification effectuée, IAM crée une session pour l'utilisateur et émet un jeton d'accès pour la passerelle d'application.
Légende 6 La passerelle d'application utilise le jeton pour identifier l'utilisateur. Il ajoute ensuite les variables d'en-tête à la demande et la transmet à l'application.
Légende 7 L'application reçoit les informations d'en-tête, valide l'identité de l'utilisateur et démarre la session utilisateur.

La passerelle d'application intercepte toutes les demandes ultérieures vers les ressources protégées de l'application. La passerelle d'application identifie l'utilisateur, ajoute les variables d'en-tête à la demande et transmet la demande à l'application.

Pour se déconnecter, l'utilisateur appelle l'URL de déconnexion d'une application. La passerelle d'application identifie l'URL de déconnexion et réachemine l'utilisateur vers l'adresse de déconnexion OAuth du domaine d'identité (/oauth2/v1/userlogout). Une fois que IAM a déconnecté l'utilisateur, IAM peut réacheminer le navigateur de l'utilisateur vers une URL de l'application qui peut ensuite enlever la session utilisateur de l'application.

Fonctionnement de la déconnexion de la passerelle d'application

Les utilisateurs peuvent se déconnecter des applications protégées par la passerelle d'application à l'aide de deux mécanismes différents : l'URL de déconnexion de la passerelle d'application ou l'appel d'une ressource protégée par une méthode d'authentification de déconnexion.

Utilisation de l'URL de déconnexion de la passerelle d'application

La passerelle d'application fournit une URL de déconnexion centrale qui peut être utilisée pour déconnecter l'utilisateur de l'accès avec connexion unique assuré par IAM. Tout appel vers cette adresse déclenche le processus de déconnexion. Une fois que l'utilisateur est déconnecté, tout accès ultérieur à une ressource d'application protégée oblige l'utilisateur à se connecter à nouveau à IAM.

Cette adresse prend en charge deux paramètres ajoutés à la fin de l'URL :
  • postlogouturl : URL d'une page de renvoi post-déconnexion. Cette valeur doit être encodée au format URL. Si le paramètre n'est pas spécifié, la passerelle d'application réachemine le navigateur de l'utilisateur vers la URL d'ouverture de session indiquée dans les paramètres de session de la console.
  • state : paramètre facultatif que l'application d'entreprise doit utiliser une fois le processus de déconnexion terminé.

Syntaxe

http(s)://<appgateway_host>:<appgateway_port>/cloudgate/logout.html?postlogouturl=<url_encoded>&state=<state_value>

Adresse de déconnexion avec paramètres

Si l'URL de base de la passerelle d'application est https://myappgateway.example.com:4443, utilisez l'URL suivante pour déconnecter l'utilisateur de l'accès avec connexion unique : https://myappgateway.example.com:4443/cloudgate/logout.html?postlogouturl=http%3A%2F%2Fwww.oracle.com&state=123

Utilisation de la méthode d'authentification de protection des ressources par déconnexion

Vous pouvez créer une ressource dans votre application d'entreprise et configurer une stratégie d'authentification pour cette ressource à l'aide de l'authentification Forms+Logout. Lorsque l'utilisateur accède à cette ressource, la passerelle d'application appelle le processus de déconnexions et déconnecte l'utilisateur de l'accès avec connexion unique fourni par IAM.

Syntaxe

http(s)://<appgateway_host>:<appgateway_port>/<logout_resource>

Méthode d'authentification de protection des ressources par déconnexion

Si vous venez de créer une ressource /myapp/logout dans votre application d'entreprise et avez défini Forms+Logout en tant que méthode d'authentification pour cette ressource dans l'stratégie d'authentification, lorsque des utilisateurs accèdent à l'URL https://myappgateway.example.com:4443/myapp/logout, ils sont déconnectés de l'accès avec connexion unique fourni par IAM.