Remarques concernant la conception et le codage

Ordre de recherche

En plus de l'annuaire natif, il est possible de configurer plusieurs annuaires des utilisateurs dans Oracle Hyperion Shared Services. Une position d'ordre de recherche par défaut est attribuée à tous les annuaires des utilisateurs configurés. Vous pouvez modifier l'ordre de recherche dans Oracle Hyperion Shared Services Console. A l'exception de l'annuaire natif, vous pouvez enlever les annuaires des utilisateurs configurés de l'ordre de recherche. Oracle Enterprise Performance Management System ne tient pas compte des annuaires des utilisateurs qui ne sont pas inclus dans l'ordre de recherche. Reportez-vous au Guide d'administration de la sécurité utilisateur d'Oracle Enterprise Performance Management System.

L'ordre de recherche détermine l'ordre dans lequel EPM System parcourt les annuaires des utilisateurs pour authentifier ces derniers. Si l'utilisateur est authentifié dans un annuaire, EPM System cesse la recherche et renvoie cet utilisateur. EPM System refuse l'authentification et renvoie une erreur s'il ne parvient pas à authentifier l'utilisateur à l'aide des annuaires inclus dans l'ordre de recherche.

Impact de l'authentification personnalisée sur l'ordre de recherche

L'authentification personnalisée influe sur la façon dont la sécurité d'EPM System interprète l'ordre de recherche.

Si le module d'authentification personnalisée renvoie un nom d'utilisateur, EPM System localise cet utilisateur uniquement dans un annuaire pour lequel l'authentification personnalisée est activée. A ce stade, EPM System ignore les annuaires des utilisateurs qui ne sont pas configurés pour l'authentification personnalisée.

Fonctionnement du flux d'authentification personnalisée

Les scénarios suivants servent à explorer le flux d'authentification personnalisée :

Scénario 1

Le tableau suivant montre en détail la configuration des annuaires des utilisateurs d'EPM System et l'ordre de recherche utilisés dans ce scénario. On suppose ici que le module d'authentification personnalisée a recours à une infrastructure RSA pour authentifier les utilisateurs.

Tableau 5-1 Configuration du scénario 1

Type et nom des annuaires des utilisateurs Ordre de recherche Authentification personnalisée Exemples de noms d'utilisateur Mot de passeNote de bas de page 1
Annuaire natif 1 Désactivé

test_user_1

test_user_2

test_user_3

password

Activé via LDAP

SunONE_West

2 Désactivé

test_ldap1

test_ldap_2

test_user_3

test_ldap_4

ldappassword

Activé via LDAP

SunONE_East

3 Activé

test_ldap1

test_ldap_2

test_user_3

ldappassword sur SunONE et RSA PIN dans le module personnalisé

Note de bas de page 1 Par souci de simplification, on suppose que le mot de passe des annuaires des utilisateurs est le même pour tous les utilisateurs.

Pour lancer le processus d'authentification, un utilisateur saisit son nom et son mot de passe dans l'écran de connexion d'un produit EPM System. Dans ce scénario, le module d'authentification personnalisée effectue les actions suivantes :

  • Il accepte un nom d'utilisateur et code PIN RSA comme informations d'identification de l'utilisateur.
  • Il renvoie un nom d'utilisateur au format username@providername (par exemple, test_ldap_2@SunONE_East) à la sécurité d'EPM System.

Tableau 5-2 Interaction utilisateur et résultats

Nom d'utilisateur et mot de passe Résultat de l'authentification Annuaire des utilisateurs de connexion
test_user_1/password Succès Annuaire natif
test_user_3/password Succès Annuaire natif
test_user_3/ldappassword Succès SunONE_West (n°2 dans l'ordre de recherche)Note de bas de page 2
test_user_3/RSA PIN Succès SunONE_East (n°3 dans l'ordre de recherche)Note de bas de page 3
test_ldap_2/ldappassword Succès SunONE_West (n°2 dans l'ordre de recherche)
test_ldap_4/RSA PIN Echec

EPM System affiche une erreur d'authentification.Note de bas de page 4

 

Note de bas de page 2

L'authentification personnalisée ne parvient pas à authentifier cet utilisateur, car ce dernier a saisi des informations d'identification EPM System. EPM System peut identifier cet utilisateur uniquement dans un annuaire qui n'est pas activé pour l'authentification personnalisée. L'utilisateur ne figure pas dans l'annuaire natif (n°1 dans l'ordre de recherche), mais dans SunONE West (n°2 dans l'ordre de recherche).

Note de bas de page 3

EPM System ne parvient pas à trouver cet utilisateur dans l'annuaire natif (n°1 dans l'ordre de recherche) ni dans SunONE West (n°2 dans l'ordre de recherche). Le module d'authentification personnalisée valide l'utilisateur via le serveur RSA et renvoie test_user_3@SunONE_EAST à EPM System. EPM System localise l'utilisateur dans SunONE East (n°3 dans l'ordre de recherche), un annuaire des utilisateurs activé pour l'authentification personnalisée.

Note de bas de page 4

Oracle recommande de faire figurer tous les utilisateurs authentifiés par le module personnalisé dans un annuaire activé pour l'authentification personnalisée et inclus dans l'ordre de recherche. La connexion échoue si le nom d'utilisateur renvoyé par le module d'authentification personnalisée ne figure pas dans un annuaire activé pour l'authentification personnalisée et inclus dans l'ordre de recherche.

Scénario 2

Le tableau suivant montre en détail la configuration des annuaires des utilisateurs d'EPM System et l'ordre de recherche utilisés dans ce scénario. On suppose ici que le module d'authentification personnalisée a recours à une infrastructure RSA pour authentifier les utilisateurs.

Dans ce scénario, le module d'authentification personnalisée effectue les actions suivantes :

  • Il accepte un nom d'utilisateur et code PIN RSA comme informations d'identification de l'utilisateur.
  • Il renvoie un nom d'utilisateur (par exemple, test_ldap_2) à la sécurité d'EPM System.

Tableau 5-3 Exemple d'ordre de recherche

Annuaire des utilisateurs Ordre de recherche Authentification personnalisée Exemples de noms d'utilisateur Mot de passeNote de bas de page 5
Annuaire natif 1 Désactivé

test_user_1

test_user_2

test_user_3

password
Activé pour LDAP (par exemple, SunONE) 2 Activé

test_ldap1

test_ldap2

test_user_3

ldappassword sur SunONE et RSA PIN dans le module personnalisé

Note de bas de page 5 Par souci de simplification, on suppose que le mot de passe des annuaires des utilisateurs est le même pour tous les utilisateurs.

Pour lancer le processus d'authentification, un utilisateur saisit son nom et son mot de passe dans l'écran de connexion d'un produit EPM System.

Tableau 5-4 Interaction utilisateur et résultats

Nom d'utilisateur et mot de passe Résultat de la connexion Annuaire des utilisateurs de connexion
test_user_1/password Succès Annuaire natif
test_user_3/password Succès Annuaire natif
test_user_3/ldappassword Echec SunONENote de bas de page 6
test_user_3/RSA PIN Succès SunONENote de bas de page 7

Note de bas de page 6

L'authentification de l'utilisateur avec l'annuaire natif échoue, car le mot de passe ne correspond pas. L'authentification de l'utilisateur à l'aide du module d'authentification personnalisée échoue, car le mot de passe utilisé n'est pas un code PIN RSA valide. EPM System n'essaie pas d'authentifier cet utilisateur dans SunONE (n°2 dans l'ordre de recherche), car les paramètres d'authentification personnalisée prévalent sur l'authentification EPM System dans cet annuaire.

Note de bas de page 7

L'authentification de l'utilisateur avec l'annuaire natif échoue, car le mot de passe ne correspond pas. Le module d'authentification personnalisée authentifie l'utilisateur et renvoie le nom test_user_3 à EPM System.

Scénario 3

Le tableau suivant montre en détail la configuration des annuaires des utilisateurs d'EPM System et l'ordre de recherche utilisés dans ce scénario. On suppose ici que le module d'authentification personnalisée a recours à une infrastructure RSA pour authentifier les utilisateurs.

Afin de clarifier ces scénarios, Oracle recommande de faire en sorte que le module d'authentification personnalisée renvoie le nom d'utilisateur au format username@providername (par exemple, test_ldap_4@SunONE).

Tableau 5-5 Exemple d'ordre de recherche

Annuaire des utilisateurs Ordre de recherche Authentification personnalisée Exemples de noms d'utilisateur Mot de passeNote de bas de page 8
Annuaire natif 1 Activé

test_user_1

test_user_2

test_user_3

RSA_PIN
Activé pour LDAP (par exemple, MSAD) 2 Désactivé

test_ldap1

test_ldap4

test_user_3

ldappassword
Activé pour LDAP (par exemple, SunONE) 3 Activé

test_ldap1

test_ldap4

test_user_3

ldappassword sur SunONE et RSA PIN dans le module personnalisé

Note de bas de page 8 Par souci de simplification, on suppose que le mot de passe des annuaires des utilisateurs est le même pour tous les utilisateurs.

Pour lancer le processus d'authentification, un utilisateur saisit son nom et son mot de passe dans l'écran de connexion d'un produit EPM System.

Tableau 5-6 Interaction utilisateur et résultats

Nom d'utilisateur et mot de passe Résultat de l'authentification Annuaire des utilisateurs de connexion
test_user_1/password Succès Annuaire natif
test_user_3/RSA_PIN Succès Annuaire natif
test_user_3/ldappassword Succès MSAD (n°2 dans l'ordre de recherche)
test_ldap_4/ldappassword Succès MSAD (n°2 dans l'ordre de recherche)
test_ldap_4/RSA PIN Succès SunONE (n°3 dans l'ordre de recherche)

Annuaires des utilisateurs et module d'authentification personnalisée

Pour utiliser le module d'authentification personnalisée, il est possible de configurer individuellement les annuaires des utilisateurs qui contiennent les informations sur les utilisateurs et les groupes EPM System afin de déléguer l'authentification au module personnalisé.

Les utilisateurs EPM System authentifiés à l'aide du module personnalisé doivent figurer dans l'un des annuaires des utilisateurs inclus dans l'ordre de recherche (voir Ordre de recherche). Par ailleurs, l'annuaire des utilisateurs doit être configuré pour déléguer l'authentification au module personnalisé.

L'identité de l'utilisateur dans le fournisseur personnalisé (par exemple, 1357642 dans l'infrastructure SecurID RSA) peut différer du nom d'utilisateur présent dans l'annuaire (par exemple, jDoe dans Oracle Internet Directory) configuré dans Shared Services. Une fois l'utilisateur authentifié, le module d'authentification personnalisé doit renvoyer le nom d'utilisateur jDoe à EPM System.

Remarque :

Comme bonne pratique, Oracle recommande de faire en sorte que le nom d'utilisateur figurant dans les annuaires configurés dans EPM System soit identique à celui disponible dans l'annuaire utilisé par le module d'authentification personnalisée.

Interface Java CSSCustomAuthenticationIF

Le module d'authentification personnalisée doit utiliser l'interface Java CSSCustomAuthenticationIF dans le cadre d'une intégration à la structure de sécurité d'EPM System. Si l'authentification personnalisée aboutit, il doit renvoyer une chaîne de nom d'utilisateur. Dans le cas contraire, il renvoie un message d'erreur. Pour que le processus d'authentification aboutisse, le nom d'utilisateur renvoyé par le module d'authentification personnalisée doit figurer dans l'un des annuaires inclus dans l'ordre de recherche de Shared Services. La structure de sécurité d'EPM System prend en charge le format username@providerName.

Remarque :

Vérifiez que le nom d'utilisateur renvoyé par le module d'authentification personnalisée ne contient pas le symbole * (astérisque), car la structure de sécurité d'EPM System l'interprète comme un caractère générique lors de la recherche d'utilisateurs.

Reportez-vous à la section Exemple de code 1 sur la signature d'interface CSSCustomAuthenticationIF.

Le module d'authentification personnalisée (potentiellement un fichier de classe) doit être inclus dans CustomAuth.jar. La structure du package est sans importance.

Pour plus d'informations sur l'interface CSSCustomAuthenticationIF, reportez-vous à la section Documentation sur l'API de sécurité.

La méthode authenticate de CSSCustomAuthenticationIF prend en charge l'authentification personnalisée. La méthode authenticate accepte les informations d'identification (nom d'utilisateur et mot de passe) saisies par l'utilisateur comme paramètres d'entrée lors de la tentative d'accès à EPM System. Si l'authentification aboutit, cette méthode renvoie une chaîne (nom d'utilisateur). Si l'authentification échoue, elle génère une exception java.lang.Exception. Le nom d'utilisateur renvoyé par la méthode doit identifier de façon unique un utilisateur figurant dans l'un des annuaires inclus dans l'ordre de recherche de Shared Services. La structure de sécurité d'EPM System prend en charge le format username@providerName.

Remarque :

Pour initialiser les ressources (par exemple, un pool de connexions JDBC), utilisez le constructeur de classe. Cela permet d'améliorer les performances, en évitant de charger les ressources pour chaque authentification.