Exemple : Examen d'une stratégie de contrôle d'accès

Dans cette section, nous observerons en détails l'une des stratégies par défaut, à l'aide d'une série d'exemples. La stratégie étudiée est la suivante :

AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource

Remarque : Cette stratégie est une stratégie au niveau de la ressource. Elle est de type modèle groupable.

Le premier exemple montre comment lire la stratégie à l'aide de la console d'administration de l'organisation, identifier ses composants et permet de comprendre le concept de stratégie. Le deuxième exemple examine la stratégie sous XML, pour vous aider à comprendre la façon dont les informations sont traduites dans le code.

Le troisième exemple va plus loin dans la compréhension des relations entre les stratégies. Il est très important de comprendre les interdépendances entre les stratégies pour apporter ensuite des modifications aux stratégies de contrôle d'accès ou en créer de nouvelles.

Exemple 1 : Lecture d'une stratégie

Dans cet exemple, vous utiliserez la console d'administration de l'organisation pour rechercher une stratégie et identifier ses composants. Vous vous servirez également de ces éléments pour établir une description générale de la stratégie.

Recherche de la stratégie dans la console d'administration de l'organisation

  1. Connectez-vous à la console d'administration de l'organisation. Dans le menu Gestion des accès, sélectionnez Stratégies.
  2. Dans la boîte à liste, sélectionnez l'organisation racine, car elle est propriétaire de la plupart des stratégies de contrôle d'accès par défaut.
  3. Sur la page Stratégies, faites défiler la liste des stratégies et localisez la stratégie suivante : AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource

    Notez que vous pouvez faire défiler la liste des stratégies à l'aide de la barre de défilement ou des liens Première, Précédente, Suivante et Dernière.

Affichage des composants de la stratégie

  1. Sélectionnez la stratégie en cliquant sur la boîte située en regard de cette dernière, puis cliquez sur Afficher les groupes d'actions.
  2. La page Groupe d'actions affiche le groupe d'actions, AuctionManage. Il s'agit du groupe d'actions associé à la stratégie. Sélectionnez AuctionManage et cliquez sur Afficher les actions.
  3. La page suivante contient la liste suivante des actions, ou instructions, incluses dans le groupe d'actions AuctionManage :
    • com.ibm.commerce.negotiation.commands.CloseBiddingCmd
    • com.ibm.commerce.negotiation.commands.DeleteAuctionCmd
    • com.ibm.commerce.negotiation.commands.ModifyAuctionCmd

    Ici, AuctionManage inclut la fermeture d'une vente aux enchères (CloseBiddingCmd), la suppression d'une vente aux enchères (DeleteAuctionCmd) et la modification d'une vente aux enchères (ModifyAuctionCmd).

    Notez que vous pouvez également accéder à la même liste d'actions à partir de la page Stratégies, en cliquant sur Afficher les actions.

  4. Pour revenir à la page Stratégies, sélectionnez une action, puis cliquez sur Afficher les stratégies.
  5. Sélectionnez à nouveau la stratégie, mais cliquez maintenant sur Afficher les groupes de membres pour afficher le groupe (d'accès) de membres utilisé dans cette stratégie.
  6. Notez le nom du groupe (d'accès) de membres. Ici, le groupe (d'accès) de membres est AuctionAdministratorsForOrg.
  7. Dans le menu Gestion des accès, sélectionnez Groupes d'accès.
  8. Recherchez AuctionAdministratorsForOrg. Sélectionnez-le, puis cliquez sur Modifier.
  9. Cliquez sur Critères. Sur la page Critères, regardez sous Rôles et organisations sélectionnés. Les rôles suivants doivent apparaître :
    • Seller-For organization
    • Product Manager-For organization
    • Buyer (sell-side)-For organization
    • Category Manager-For organization

    Tout utilisateur auquel l'un de ces rôles est affecté pour l'organisation propriétaire de la ressource vente aux enchères, fait partie du groupe d'accès AuctionAdministratorsForOrg.

  10. Laissez la page Critères telle quelle. Dans le menu Gestion des accès, sélectionnez à nouveau Stratégies. Localisez la stratégie suivante :
    
    AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource
    
  11. Sélectionnez la stratégie et cliquez sur Afficher les ressources. Dans la page Ressources, vous verrez la ressource com.ibm.commerce.negotiation.objects.Auction. Il s'agit de la ressource sur laquelle agissent les actions répertoriées dans le groupe d'actions. Ici, la ressource est une vente aux enchères. Notez que vous pouvez également accéder à cette liste à partir de la page Stratégies, en cliquant sur Afficher les groupes de ressources et en descendant jusqu'aux ressources individuelles.
  12. Sélectionnez maintenant Stratégies dans le menu Gestion des accès et localisez la stratégie suivante :
    
    AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource
    
  13. Sélectionnez la stratégie et cliquez sur Modifier. Sur la page Modification de la stratégie, regardez le menu situé sous Relation. Notez qu'aucune relation n'est définie. Cela signifie que la stratégie ne comporte pas de relation.
  14. Cliquez sur Annuler et OK pour fermer la boîte de dialogue.

Compréhension de la stratégie

Maintenant que vous avez identifié les composants de cette stratégie, vous pouvez commencer à les rassembler pour comprendre la finalité de la stratégie. Tout d'abord, vous savez que la stratégie s'applique à tous les utilisateurs appartenant au groupe AuctionAdministratorsForOrg. Vous avez découvert cela en cliquant sur Afficher les groupes de membres. A partir de là, vous avez utilisé le menu Gestion des accès pour accéder à la page Groupes d'accès et avez constaté que le groupe d'accès incluait les rôles suivants : seller, product manager, buyer (for the sell-side) et category manager. Collectivement, les utilisateurs jouant l'un de ces quatre rôles peuvent être appelés Administrateur de ventes aux enchères.

Vous savez également que le groupe d'actions contient les instructions permettant de modifier, rétracter et fermer une vente aux enchères et que le groupe de ressources inclut uniquement la ressource vente aux enchères en cours de gestion. Là encore, vous avez cliqué sur Afficher les actions et Afficher les ressources à partir de la page Stratégies et vous êtes descendu au niveau du détail. Enfin, vous pouvez dire que la stratégie ne comporte pas de relation entre le groupe d'accès et les ressources.

En rassemblant tous ces éléments, vous pouvez conclure que cette stratégie permet aux administrateurs de ventes aux enchères d'exécuter toutes les activités associées à la gestion des ventes aux enchères sur une ressource vente aux enchères, telles que la modification, le retrait et la fermeture d'une vente aux enchères, tant que l'administrateur joue le rôle pour l'organisation propriétaire de la vente aux enchères.

Vous pouvez vous faire une idée de la signification d'une stratégie en examinant son nom. Dans cet exemple, la stratégie commence par le nom du groupe d'utilisateurs désigné, AuctionAdministratorForOrg. La notation, ForOrg, indique qu'il s'agit d'une stratégie de modèle groupable. AuctionManageCommands décrit le groupe d'actions et AuctionResource, le groupe de ressources.

Exemple 2 : Lecture d'une stratégie sous XML

Les stratégies de contrôle d'accès par défaut sont stockées dans un fichier XML qui est chargé dans votre base de données lors de la création de l'instance. Lorsque vous examinez une stratégie dans la console d'administration de l'organisation, vous utilisez l'interface pour afficher et modifier les informations stockées dans la base de données. Les informations de la base de données sont utilisées par le gestionnaire des stratégies pour évaluer le contrôle d'accès. Si les informations de la base de données sont plus récentes que le fichier XML, vous pouvez utiliser l'outil d'extraction pour extraire les informations de stratégie de contrôle d'accès de la base de données et les insérer dans un fichier XML.

Voici à quoi ressemble une stratégie dans le fichier XML :

<!-- AuctionAdministrators manage Auctions (Retract/delete auction, Modify auction, Close Auction)-->
<Policy Name="AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource"
        OwnerID="RootOrganization"
        UserGroup="AuctionAdministratorsForOrg"
        ActionGroupName="AuctionManage"
        ResourceGroupName="AuctionDataResourceGroup"
        PolicyType="groupableTemplate">
</Policy>
Ici, la stratégie est définie par les éléments suivants :
Nom
Nom de la stratégie.
OwnerID
Organisation à laquelle s'applique la stratégie.
UserGroup
Groupe d'accès.
ActionGroupName
Groupe d'actions.
ResourceGroupName
Groupe de ressources.
PolicyType
Type de stratégie, comme standard groupable ou de modèle groupable.

Le fichier contenant toutes les stratégies de contrôle d'accès par défaut s'appelle defaultAccessControlPolicies.xml et se trouve dans le répertoire suivant :

utilities_root\xml\policies\xml.
Remarque : Les descriptions pour chaque fichier de contrôle d'accès par défaut se trouvent dans le fichier defaultAccessControlPolicies_locale.xml, qui est situé dans le même répertoire. Lorsqu'une modification est apportée à une stratégie de contrôle d'accès par défaut dans le fichier de contrôle d'accès par défaut, la description correspondante doit être mise à jour dans le fichier defaultAccessControlPolicies_en_US.xml. Il est vivement recommandé que les modifications apportées aux fichiers XML soient réservées aux utilisateurs avancés.

Exemple 3 : Identification d'autres stratégies associées à votre stratégie

Dans ce dernier exemple, vous observerez les interdépendances d'une stratégie de contrôle d'accès sur d'autres stratégies.

Les stratégies qui définissent les instructions (actions) qu'un groupe d'utilisateurs (groupe d'accès) peut exécuter sur une ressource sont appelées stratégies au niveau de la ressource. Par exemple, la stratégie que vous avez étudiée en détail :

AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource est un exemple de stratégie de niveau de ressource.

Toutefois, les actions autorisées par une stratégie au niveau de la ressource dépendent également des actions autorisées pour chaque rôle appartenant au groupe d'accès de la stratégie. Les stratégies qui décrivent les actions autorisées pour un rôle particulier sont appelées stratégies basées sur des rôles.

Pour identifier les stratégies basées sur des rôles qui sont associées à une stratégie au niveau de la ressource, procédez comme suit :

Recherche des rôles associés à la stratégie

  1. Ouvrez la console d'administration de l'organisation et localisez la stratégie au niveau de la ressource sur la page Stratégies. En utilisant le même exemple, vous verrez que la stratégie que vous voulez est la suivante :
    
    AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource
    
  2. Identifiez le groupe d'accès associé à la stratégie. Ici, vous savez déjà que le groupe d'accès est AuctionAdministratorsForOrg.
  3. Recherchez les rôles associés au groupe d'accès. Pour AuctionAdministratorsForOrg, vous savez d'après les exemples précédents que les rôles sont les suivants : Buyers (sell-side), Category Managers, Product Manager et Sellers.

Recherche des stratégies basés sur des rôles pour chaque rôle

  1. Localisez chaque stratégie basée sur des rôles associée à un rôle.
  2. Recherchez la stratégie Buyers(sell-side)ExecuteBuyers(sell-side)CommandsResourceGroup. Cette stratégie est associée au rôle Buyers (sell-side). Le préfixe Buyers(sell-side) de la stratégie vous l'indique.
  3. Recherchez les autres stratégies basées sur des rôles associées aux rôles Buyers (sell-side), Category Manager, Product Manager, et Sellers, en utilisant leurs préfixes pour identifier les stratégies correctes. Vous devez aboutir à la liste suivante :
    • Buyers(sell-side)ExecuteBuyers(sell-side)CommandsResourceGroup
    • Buyers(sell-side)ExecuteBuyers(sell-side)Views
    • CategoryManagersExecuteCategoryManagersCmdResourceGroup
    • CategoryManagersExecuteCategoryManagersViews
    • ProductManagersExecuteProductManagersCmdResourceGroup
    • ProductManagersExecuteProductManagersViews
    • SellersExecuteSellersCmdResourceGroup
    • SellersExecuteSellersViews
  4. Chaque stratégie basée sur des rôles permet aux utilisateurs disposant de ce rôle d'exécuter des vues ou des instructions du contrôleur particulières. Pour voir quelles actions et ressources sont associées à une stratégie basée sur des rôles, recherchez la stratégie sur la page Stratégies à partir de la console d'administration de l'organisation, en utilisant la même procédure qu'à l'exemple 1.

Importance de l'identification des interdépendances entre les stratégies

Il est souvent indispensable de comprendre quelles stratégies basées sur des rôles sont associées à une stratégie au niveau de la ressource pour personnaliser vos stratégies et en créer de nouvelles.