Configuration de Security Access Manager pour l'autorisation

Vous pouvez configurer IBM® Security Access Manager à la fois pour l'authentification et l'autorisation pour HCL Digital Experience. Si vous configurez ces fonctions à des moments différents en tant que tâches indépendantes, configurez d'abord Security Access Manager pour l'authentification. Using Security Access Manager only for authorization is not supported.

Avant de commencer

Suivez la procédure de Configuration de Security Access Manager pour l'authentification uniquement avant de configurer Security Access Manager pour l'autorisation.

Pourquoi et quand exécuter cette tâche

Vous pouvez configurer HCL Portal pour déléguer à IBM® Security Access Manager les décisions concernant les utilisateurs ou les groupes auxquels accorder des droits d'accès aux ressources de portail. Cette action est également appelée externalisation du contrôle d'accès pour les ressources de portail. En général, ces décisions sont prises en consultant les mappages de principal à rôle qui sont stockés dans la base de données de portail. La tâche ci-après configure le code de portail utilisé pour obtenir des décisions de contrôle d'accès pour les ressources de portail à partir de Security Access Manager et non à partir du portail de base de données. Elle inclut la configuration des propriétés déterminant le mode de représentation des ressources de portail dans l'espace de nom d'objet protégé Security Access Manager. Elle configure également le mode de représentation des droits dans les listes de contrôle d'accès de Security Access Manager. Une fois cette tâche exécutée, vous pouvez utiliser le portlet Droits d'accès aux ressources ou XMLAccess pour placer des ressources de portail, telles que des pages et des portlets, sous le contrôle de Security Access Manager.

Important : D'autres éléments doivent être pris en compte lors de la configuration de la sécurité pour utiliser un gestionnaire de sécurité externe dans un environnement de cluster et sur plusieurs noeuds mixtes. Par exemple, effectuez les opérations de configuration pour un gestionnaire de sécurité externe après avoir effectué toutes les autres tâches de configuration permettant notamment de vous assurer du bon fonctionnement du cluster.
Implementation details of externalized access control :

Lorsque des ressources de portail sont déplacées vers le contrôle d'accès de Security Access Manager, HCL Portal crée des entrées correspondant à des rôles individuels sur les ressources externalisées dans l'espace d'objet protégé Security Access Manager. Dans ce cas, les rôles sont les rôles de portail sur les ressources de portail ; par exemple, dans le formulaire simplifié, sur la page User@Welcome ou le portlet Administrator@Some.

Des listes de contrôle d'accès sont associées à ces objets Security Access Manager. Elles utilisent les valeurs de propriété PDAction et PDActionGroup pour déterminer les utilisateurs auxquels sont accordés les différents rôles. Le code de sécurité d'HCL Portal lance une requête sur Security Access Manager afin de déterminer les utilisateurs disposant des droits <PDAction> et <PDActionGroup> sur les entrées de l'espace d'objet Security Access Manager, et il interprète ces informations en octroyant à l'utilisateur le rôle de portail correspondant sur la ressource.

Tout sous-ensemble de ressources de portail peut être placé sous un contrôle d'accès externe. HCL Portal peut conserver le contrôle interne d'autres ressources.

Il existe plusieurs entrées dans l'espace d'objet Security Access Manager pour chaque ressource externalisée, une entrée par rôle de portail existant sur cette ressource. N'oubliez pas qu'il existe différents types de rôle dans HCL Portal, par exemple, Utilisateur, Utilisateur privilégié, Editeur, Gestionnaire, Administrateur. Les rôles de portail ne peuvent pas tous être instanciés pour chaque instance de ressource, et les entrées dans Security Access Manager existent uniquement si le rôle réel correspondant sur cette ressource de portail existe.

Format d'entrées dans Security Access Manager

Par défaut, les entrées dans l'espace d'objet Security Access Manager sont au format suivant :
<PDRoot_Value>/<Portal Rolename-on-resource>[/<EACappname_value>/<EACserverName_value>/<EACcellName_value>]
Par défaut, l'entrée Portal Rolename-on-resource se présente comme suit : <Portal_RoleType>@<Portal_Resource_Identifier>. Par exemple: Administrator@VIRTUAL_EXTERNAL_ACCESS_CONTROL.
Les entrées de l'espace d'objet Security Access Manager peuvent être différentes des valeurs par défaut en fonction des propriétés suivantes :
  • Si la propriété reorderRoles a pour valeur true, Portal Rolename-on-resource s'affiche comme suit : Portal_Resource_Identifier@Portal_Roletype. Par exemple, VIRTUAL_EXTERNAL_ACCESS_CONTROL@Administrator.
  • Définissez les trois propriétés EACserverName, EACcellName et EACappname, sinon, elles n'apparaissent pas dans les entrées d'espace d'objet.

Procédure

  1. Clustered environments : Effectuez cette étape sur tous les noeuds.
    Exécutez la tâche suivante à partir du répertoire wp_profile_root/ConfigEngine pour valider que le fichier PdPerm.properties est correct et que la communication entre HCL et le serveur Security Access Manager fonctionne :
    Conseil : Exécutez la tâche validate-pdadmin-connection sur le nœud HCL ou sur chacun des nœuds d'un environnement de cluster. Dans un environnement de cluster, WasPassword est le mot de passe d'administrateur du gestionnaire de déploiement. wp.ac.impl.PDAdminPwd correspond au mot de passe utilisateur d'administration de Security Access Manager.
    Tableau 1. Tâche de validation par le système d'exploitation de l'existence du fichier PdPerm.properties
    Système d'exploitation Tâche
    AIX®
    ./ConfigEngine.sh validate-pdadmin-connection -DWasPassword=password 
                                                  -Dwp.ac.impl.PDAdminPwd=password
    HP-UX
    ./ConfigEngine.sh validate-pdadmin-connection -DWasPassword=password 
                                                  -Dwp.ac.impl.PDAdminPwd=password
    IBM®i
    ConfigEngine.sh validate-pdadmin-connection -DWasPassword=password 
                                                -Dwp.ac.impl.PDdAdminPwd=password
    Linux
    ./ConfigEngine.sh validate-pdadmin-connection -DWasPassword=password 
                                                  -Dwp.ac.impl.PDAdminPwd=password
    Solaris
    ./ConfigEngine.sh validate-pdadmin-connection -DWasPassword=password 
                                                  -Dwp.ac.impl.PDAdminPwd=password
    Windows
    ConfigEngine.bat validate-pdadmin-connection -DWasPassword=password 
                                                 -Dwp.ac.impl.PDAdminPwd=password
    z/OS®
    ./ConfigEngine.sh validate-pdadmin-connection -DWasPassword=password 
                                                  -Dwp.ac.impl.PDAdminPwd=password
    If the task does not run successfully : Exécutez la tâche run-svrssl-config pour créer le fichier de propriétés. Pour plus d'informations, voir Création du fichier PdPerm.properties. Exécutez ensuite la tâche validate-pdadmin-connection à nouveau. Si la tâche ne réussit pas après une seconde tentative, ne passez pas à une étape ultérieure. Le fait que la tâche n'est pas exécutée avec succès indique que votre portail ne peut pas se connecter au serveur Security Access Manager. Corrigez le problème de connectivité entre votre instance de portail et le serveur Security Access Manager.
  2. Mettez à jour les paramètres de gestion de l'espace de nom dans le fichier wkplc_comp.properties.
    1. Pour wp.ac.impl.EACserverName, entrez les informations de contexte de l'espace de nom afin de faire la distinction entre les noms de rôles de portail externalisés et les autres noms de rôles dans l'espace de nom.
      Remarque : Si cette option est définie, wp.ac.impl.EACcellName et wp.ac.impl.EACappname doivent l'être aussi. Les trois paramètres doivent être définis ou aucun.
    2. Pour wp.ac.impl.EACcellName, entrez les informations de contexte de l'espace de nom pour faire la distinction entre les noms de rôles de portail externalisés et les autres noms de rôles dans l'espace de nom.
      Remarque : Si cette option est définie, wp.ac.impl.EACserverName et wp.ac.impl.EACappname doivent l'être aussi.
    3. Pour wp.ac.impl.EACappname, entrez les informations de contexte de l'espace de nom pour faire la distinction entre les noms de rôles de portail externalisés et les autres noms de rôles dans l'espace de nom.
      Remarque : Si ce paramètre est défini, wp.ac.impl.EACcellName et wp.ac.impl.EACserverName doivent l'être aussi.
    4. Pour wp.ac.impl.reorderRoles, entrez false afin de conserver l'ordre des rôles, ou true pour réorganiser les rôles par type de ressource.
  3. Mettez à jour les paramètres suivants dans le fichier wkplc_comp.properties ; accédez à l'en-tête des paramètres d'autorisation de portail :
    1. Pour wp.ac.impl.PDRoot, entrez le nom de l'espace d'objet racine dans l'espace de nom Security Access Manager pour les entrées de ressource concernant ce portail. Tous les rôles de portail sont installés avec cette entrée. Dans le cas de plusieurs profils et instances de portail partageant une instance Security Access Manager commune, choisissez un nom unique pour chaque entrée d'espace d'objet racine. Ce nom unique vous permet de distinguer facilement les ressources des différentes instances. Ou bien, utilisez une valeur PDRoot commune pour toutes les instances de portail de sorte que tous les rôles de portail d'une instance aient un parent commun. Vous pouvez ensuite utiliser le paramètre EACappname pour distinguer les instances les unes des autres. Si cela convient mieux à vos modèles d'administration, vous pouvez également combiner ces deux approches en utilisant une valeur PDRoot commune pour certaines instances et des valeurs PDRoot uniques pour d'autres instances.
    2. Pour wp.ac.impl.PDAction, entrez l'action personnalisée créée par le plug-in d'autorisation externe Security Access Manager. La combinaison du groupe d'actions et de l'action détermine la chaîne des droits d'accès Security Access Manager. La chaîne de droits d'accès est utilisée pour affecter une appartenance à des rôles de portail externalisés. Vous souhaiterez peut-être demander à l'administrateur de Security Access Manager de préciser ce qu'il convient de faire pour les valeurs PDActionGroup et PDAction.
      Remarque : Une fois que vous avez créé des listes de contrôle d'accès dans Security Access Manager à l'aide de valeurs PDAction et PDActionRoot, ces valeurs doivent rester constantes. Si vous changez ces valeurs après avoir créé des listes de contrôle d'accès qui utilisent les paramètres d'origine, les droits d'accès seront perdus.
    3. Pour wp.ac.impl.PDActionGroup, entrez le groupe d'actions personnalisées créé par le plug-in d'autorisation externe Security Access Manager. La combinaison du groupe d'actions et de l'action détermine la chaîne des droits d'accès Security Access Manager. La chaîne des droits d'accès est utilisée pour attribuer l'appartenance à des rôles de Portal externalisés.
      Remarque : Une fois que vous avez créé des listes de contrôle d'accès dans Security Access Manager à l'aide de valeurs PDAction et PDActionRoot, ces valeurs doivent rester constantes. Si vous changez ces valeurs après avoir créé des listes de contrôle d'accès qui utilisent les paramètres d'origine, les droits d'accès seront perdus.
    4. Pour wp.ac.impl.PDCreateAcl, définissez la valeur sur true afin de créer et d'associer automatiquement une liste de contrôle d'accès Security Access Manager lorsque HCL externalise les rôles pour une ressource. Définissez la valeur sur false pour créer et associer une liste de contrôle d'accès Security Access Manager lorsque HCL externalise les rôles pour une ressource. Dans ce cas, l'administrateur Security Access Manager doit créer et associer manuellement des listes de contrôle d'accès aux entrées d'espace d'objet pour les ressources et les rôles de portail externalisés. Toute liste de contrôle d'accès créée manuellement de cette façon doit utiliser les valeurs PDAction et PDActionGroup pour que les droits soient détectés.
  4. Enregistrez vos modifications dans le fichier de propriétés.
  5. Exécutez la tâche suivante pour activer l'autorisation Security Access Manager :
    Tableau 2. Activer les tâches d'autorisation Security Access Manager par système d'exploitation
    Système d'exploitation Tâche
    AIX® ./ConfigEngine.sh enable-tam-authorization -DWasPassword=password
    HP-UX ./ConfigEngine.sh enable-tam-authorization -DWasPassword=password
    IBM®i ConfigEngine.sh enable-tam-authorization -DWasPassword=password
    Linux ./ConfigEngine.sh enable-tam-authorization -DWasPassword=password
    Solaris ./ConfigEngine.sh enable-tam-authorization -DWasPassword=password
    Windows ConfigEngine.bat enable-tam-authorization -DWasPassword=password
    z/OS® ./ConfigEngine.sh enable-tam-authorization -DWasPassword=password
    Clustered note : Dans un environnement en cluster, exécutez cette étape sur tous les noeuds. La valeur WasPassword est le mot de passe administratif du gestionnaire de déploiement.
    If the task does not run successfully : Vérifiez que les valeurs du fichier wkplc_comp.properties sont valides.
  6. Arrêtez et redémarrez les serveurs appropriés afin d'appliquer les modifications. Pour obtenir des instructions spécifiques, accédez à Démarrage et arrêt des serveurs, des gestionnaires de déploiement et des agents de nœud.

Résultats

Une fois la procédure d'autorisation terminée, vous pouvez utiliser les outils d'administration d'HCL Portal (portlet Droits d'accès aux ressources ou scriptage XMLAccess) afin d'externaliser les décisions de contrôle d'accès pour les ressources de portail. Pour les ressources placées sous le contrôle d'accès IBM® Security Manager, l'espace d'objet protégé Security Access Manager contient des entrées de rôle au format suivant :

PortalServer_root/role_name/application_name/server_name/cell_name

Par exemple: Si la valeur wp.ac.impl.PDRoot était Portal_Instance_1 et wp.ac.impl.EACcellName était Cell_A, Wp.ac.impl.EACserverName était Server_B et wp.ac.impl.EACappName était Application_C, l'entrée d'espace d'objet correspondant à un nom de rôle de portail se présenterait à peu près comme suit :

Portal_Instance_1/Administrator@VIRTUAL_EXTERNAL_ACCESS_CONTROL/Application_C/Server_B/Cell_A.

Où le nom de rôle de portail Administrator@VIRTUAL_EXTERNAL_ACCESS_CONTROL est simplifié par rapport à son apparence réelle qui pourrait inclure une valeur d'identificateur unique universel générée ou un nom unique personnalisé.
Remarque : Les propriétés EACappname, EACserverName et EACcellName doivent toutes être spécifiées, faute de quoi, aucune d'elles n'apparaît dans les entrées d'espace d'objet Security Access Manager.