Présentation de la passerelle d'application

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

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 à ces applications et s'assure que les utilisateurs sont authentifiés auprès d'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é auprès d'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 contienne uniquement 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 utilisent l'authentification unique fournie 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 pour mandater n'importe quelle demande Internet et exiger des utilisateurs qu'ils s'authentifient avec IAM avant d'accéder à l'application Web intranet. Dans ce cas, vous déployez App Gateway dans la zone DMZ 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 ne prend pas en charge les normes d'authentification prises en charge par IAM (SAML, OAuth et OpenID Connect) et que vous ne pouvez pas utiliser les SDK d'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 des variables d'en-tête dans la demande avant que la passerelle d'application transmette la demande à l'application. L'application peut ainsi identifier l'utilisateur authentifié auprès d'IAM.

Comment fonctionne App Gateway

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 à cette dernière. 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 à une ressource d'application mais que l'utilisateur n'est pas connecté à un domaine 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 en cours auprès d'IAM, puis réachemine le navigateur de l'utilisateur vers la page de connexion.

A l'étape 2, si une session est en cours auprès d'IAM pour l'utilisateur, 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 qu'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 reconnecter à 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 ce paramètre n'est pas spécifié, la passerelle d'application réachemine le navigateur de l'utilisateur vers l'URL de déconnexion 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 la méthode d'authentification Formulaire + Déconnexion. Lorsque l'utilisateur accède à cette ressource, la passerelle d'application appelle le processus de connexion 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 avez créé une ressource /myapp/logout dans votre application d'entreprise et affecté Forms+Logout en tant que méthode d'authentification pour cette ressource dans la section Stratégie d'authentification, lorsque les utilisateurs accèdent à l'URL https://myappgateway.example.com:4443/myapp/logout sont déconnectés de l'accès avec connexion unique fourni par IAM.