Méthodes d'authentification unique prises en charge

L'authentification unique (SSO) exige que la solution de gestion des identités Web transfère le nom de connexion des utilisateurs authentifiés aux produits Oracle Enterprise Performance Management System. Vous pouvez utiliser les méthodes standard EPM System suivantes pour intégrer EPM System à des solutions SSO sur le Web commerciales et personnalisées.

Prudence :

Par mesure de sécurité, Oracle recommande d'implémenter l'authentification des certificats client (SSL bidirectionnel) entre le serveur Web et le serveur d'applications si votre organisation utilise des méthodes dans lesquelles l'identité de l'utilisateur est véhiculée dans l'en-tête pour la propagation d'identité.

En-tête HTTP

Si Oracle Single Sign-on (OSSO), SiteMinder ou Oracle Access Manager est votre solution de gestion des identités Web, la sécurité d'EPM System sélectionne automatiquement un en-tête HTTP personnalisé afin de transmettre le nom de connexion des utilisateurs authentifiés aux composants EPM System.

Le nom de connexion de l'utilisateur d'un produit EPM System est déterminé par la valeur Attribut de connexion spécifiée au moment de la configuration des annuaires des utilisateurs dans Oracle Hyperion Shared Services. Reportez-vous à la section "Configuration d'OID, d'Active Directory et d'autres annuaires des utilisateurs LDAP" du Guide d'administration de la sécurité utilisateur d'Oracle Enterprise Performance Management System pour obtenir une brève description de la valeur Attribut de connexion.

L'en-tête HTTP doit contenir la valeur de l'attribut défini dans Attribut de connexion. Par exemple, si la valeur Attribut de connexion est uid, l'en-tête HTTP doit comporter la valeur de l'attribut uid.

Pour plus d'informations sur la définition et l'affectation d'en-têtes HTTP personnalisés, reportez-vous à la documentation relative à votre solution de gestion des identités Web.

La sécurité d'EPM System analyse l'en-tête HTTP et valide le nom de connexion qu'il contient par rapport aux annuaires des utilisateurs configurés dans Shared Services.

Classe de connexion personnalisée

Lorsqu'un utilisateur se connecte, la solution de gestion des identités Web l'authentifie à l'aide du serveur d'annuaires et encapsule les informations d'identification de l'utilisateur authentifié dans un mécanisme SSO afin d'activer l'authentification unique avec des systèmes en aval. Si la solution de gestion des identités Web utilise un mécanisme non pris en charge par les produits EPM System ou si la valeur Attribut de connexion n'est pas disponible dans le mécanisme SSO, utilisez une classe de connexion personnalisée pour dériver la valeur Attribut de connexion et la transmettre aux produits EPM System.

Une classe de connexion personnalisée permet l'intégration d'EPM System aux agents de sécurité qui utilisent l'authentification basée sur le certificat X509. L'utilisation de ce mécanisme d'authentification requiert l'implémentation d'API Shared Services standard pour définir l'interface SSO entre les composants EPM System et la solution de gestion des identités Web. La classe de connexion personnalisée doit transmettre la valeur Attribut de connexion aux produits EPM System. Reportez-vous à la section "Configuration d'OID, d'Active Directory et d'autres annuaires des utilisateurs LDAP" du Guide d'administration de la sécurité utilisateur d'Oracle Enterprise Performance Management System pour obtenir une brève description de la valeur Attribut de connexion. Pour obtenir un exemple de code et consulter les étapes d'implémentation, reportez-vous à la section Implémentation d'une classe de connexion personnalisée.

Pour utiliser une classe de connexion personnalisée (dont le nom par défaut est com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl), une implémentation de l'interface com.hyperion.css.CSSSecurityAgentIF doit être disponible dans le classpath. CSSSecurityAgentIF définit la méthode d'extraction du nom et du mot de passe de l'utilisateur (facultatif). Si l'interface renvoie un mot de passe NULL, l'authentification de sécurité traite le fournisseur comme étant sécurisé et vérifie l'existence de l'utilisateur dans les fournisseurs configurés. Si elle renvoie une valeur non NULL pour le mot de passe, EPM System tente d'authentifier la demande à l'aide du nom et du mot de passe de l'utilisateur renvoyés par cette implémentation.

CSSSecurityAgentIF comprend deux méthodes : getUserName et getPassword.

Méthode getUserName

Cette méthode renvoie le nom de l'utilisateur pour l'authentification.

java.lang.String getUserName(
                    javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res)
                    throws java.lang.Exception

Le paramètre req identifie la requête HTTP qui contient les informations utilisées pour déterminer le nom de l'utilisateur. Le paramètre res n'est pas utilisé (prédéfini pour la compatibilité ascendante).

Méthode getPassword

Cette méthode renvoie un mot de passe en texte clair pour l'authentification. L'extraction du mot de passe est facultative.

java.lang.String getPassword(
                    javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res)
                    throws java.lang.Exception

Le paramètre req identifie la requête HTTP qui contient les informations utilisées pour déterminer le mot de passe. Le paramètre res n'est pas utilisé (prédéfini pour la compatibilité ascendante).

En-tête d'autorisation HTTP

La sécurité d'EPM System prend en charge l'utilisation d'un en-tête d'autorisation HTTP pour transmettre la valeur Attribut de connexion aux produits EPM System à partir de solutions de gestion des identités Web. Les produits EPM System analysent l'en-tête d'autorisation pour extraire le nom de connexion de l'utilisateur.

Obtenir les utilisateurs à distance à partir d'une requête HTTP

La sécurité d'EPM System prend en charge l'utilisation d'une demande HTTP pour transmettre la valeur Attribut de connexion aux produits EPM System à partir de solutions de gestion des identités Web. Utilisez cette méthode SSO si la solution de gestion des identités Web transmet une demande HTTP contenant la valeur Attribut de connexion, qui est définie à l'aide de la fonction setRemoteUser.

Authentification basée sur un en-tête avec des produits de gestion des identités

EPM System prend en charge tous les produits de gestion des identités, comme Oracle Identity Cloud Service, Microsoft Azure AD et Okta, qui prennent en charge l'authentification basée sur un en-tête. Le workflow conceptuel est le suivant :

  • Une application de passerelle faisant office de proxy inverse protège les composants EPM System en limitant l'accès au réseau non authentifié.
  • L'application de passerelle intercepte les demandes HTTP(S) aux composants EPM System et vérifie que le produit de gestion des identités authentifie les utilisateurs avant de transmettre les demandes aux composants EPM System.
  • Lors du transfert des demandes aux composants EPM System, l'application de passerelle propage l'identité de l'utilisateur authentifié au composant EPM System via des demandes d'en-tête HTTP.

Pour prendre en charge ce scénario d'authentification, EPM System doit être configuré pour fonctionner avec l'identité de l'utilisateur authentifié propagée via les demandes d'en-tête HTTP(S).