Partager via


Définir les groupes, les équipes et les autorisations à l'aide du plug-in Groupes et autorisations

Vous pouvez définir des groupes de sécurité pour contrôler l'accès à des domaines fonctionnels dans un projet d'équipe. En plus des groupes de sécurité par défaut dans Visual Studio Team Foundation Server, vous pouvez configurer les groupes, membres de groupe et autorisations de sécurité initiaux d'un projet d'équipe en personnalisant le plug-in Groupes et autorisations. Ce plug-in vous permet de définir des groupes et des équipes, d'ajouter des groupes et des utilisateurs en tant que membres de groupes, et d'accorder des autorisations aux groupes.

Cette rubrique décrit la structure de syntaxe des éléments groups, iterationPath, members, permissions et teamsettings qui sont utilisés dans le fichier du plug-in Groupes et autorisations. Pour plus d'informations sur l'utilisation de ces éléments, consultez Configurer des groupes, des équipes, des membres et des autorisations initiaux.

Nom et emplacement du plug-in Groupes

Le plug-in Groupes et autorisations est défini par le fichier de plug-in GroupsandPermissions.xml, qui doit être conforme à la définition de schéma spécifiée dans le fichier Gss.xsd. Vous pouvez télécharger les fichiers de schéma pour les modèles de processus à partir de la page suivante du site web de Microsoft : Schémas de modèles de processus et d'éléments de travail pour Visual Studio Team Foundation.

Le tableau suivant récapitule les noms du fichier, le dossier et le plug-in pour les modèles de processus MSF (Microsoft Solutions Framework).

Nom du fichier :

GroupsandPermissions.xml

Nom du dossier :

Groupes et autorisations

Nom du plug-in :

Microsoft.ProjectCreationWizard.Groups

Notes

Vous pouvez modifier les noms du fichier XML et du dossier, mais pas du plug-in.Visual Studio Team Foundation Server n'inclut aucun mécanisme de déploiement de plug-ins côté client, de stratégies ou d'autres modifications.Si vous ne voulez pas déployer ce genre de fonctionnalités, vous devez utiliser votre propre programme de distribution et d'installation.

Dans le plug-in Groupes et autorisations, vous indiquez une ou plusieurs tâches, ainsi que leurs dépendances, dans l'élément taskXml. En général, vous spécifiez une tâche par groupe de sécurité à créer pour votre processus. Pour plus d'informations sur la spécification des tâches, consultez Définir les tâches pour traiter un plug-in.

Définition des groupes

L'élément group permet de spécifier un nouveau groupe de sécurité dans Team Foundation Server.

<group name="GroupName" description="GroupDescription"></group>

L'exemple suivant indique comment créer un groupe nommé Reader :

<task id="GroupCreation1" 
      name="Create Groups and Permissions" 
      plugin="Microsoft.ProjectCreationWizard.Groups" 
      completionMessage="Groups and Permissions created.">
   <taskXml>
      <groups>
         <group name="Readers"
                description="A group for users who have read access across the project">
            <permissions>
               <!-- permissions -->
            </permissions>
         </group>
      </groups>
   </taskXml>
</task>

Définition des membres

L'élément member permet d'assigner un groupe en tant que membre d'un groupe de sécurité dans Team Foundation Server.

<member name="MemberName" ></member>

Notes

Un groupe qui constitue à une équipe (isTeam="true") ne peut pas être membre d'un autre groupe.

L'exemple suivant montre comment ajouter TestGroup1 en tant que membre de TestGroup2.

<task id="GroupCreation1" 
    <taskXml>
      <groups>
        <group name="TestGroup1" description="Test group 1.  Contains no members out of the box.">
          <permissions>
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />
          </permissions>
        </group>
        <group name="TestGroup2" description="Test group 2.  Contains TestGroup1 and Project Administrators.">
          <permissions>
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />
          </permissions>
          <members>
            <member name="TestGroup1" />
            <member name="$$PROJECTADMINGROUP$$" />
          </members>
        </group>
      </groups>
    </taskXml>
</task>

Définition des équipes et des paramètres d'équipe

Dans le fichier de plug-in Groupes et autorisations par défaut, la macro @defaultTeam crée l'équipe par défaut dans le chemin de zone racine. Vous pouvez modifier cette structure en incluant des chemins de zone supplémentaires dans le fichier de plug-in Classification. L'élément teamsettings permet de préconfigurer les itérations assignées à une équipe. Le plug-in utilise l'extrait de code suivant. Dans cet exemple, trois itérations sont définies pour l'équipe par défaut.

Important

Vous devez assigner des chemins d'itération qui correspondent aux chemins d'accès définis dans le fichier de plug-in Classification.Consultez Définir les zones et les itérations initiales dans le plug-in Classification.

<group name="@defaultTeam">
   <permissions>
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />
   </permissions>
   <members>
      <member name="@creator"/>
   </members>
   <teamSettings areaPath="Area">
      <iterationPaths backlogPath="Iteration">
         <iterationPath path="Iteration 1" />
         <iterationPath path="Iteration 2" />
         <iterationPath path="Iteration 3" />
      </iterationPaths>
   </teamSettings>
</group>

Vous pouvez également définir des équipes supplémentaires dans un projet d'équipe. À cette fin, vous définissez un groupe et assignez la valeur true à l'attribut isTeam. L'exemple suivant montre comment définir une équipe et ses autorisations, ses membres et ses assignations sprint initiales. Spécifiez les paramètres d'équipe par défaut pour un projet d'équipe.

<group name="Dream Team" isTeam="true" description="Next generation work">
   <permissions>
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />
   </permissions>
   <members>
      <member name="@creator"/>
   </members>
   <teamSettings areaPath="Area">
      <iterationPaths backlogPath="Iteration">
         <iterationPath path="Iteration 1" />
         <iterationPath path="Iteration 2" />
         <iterationPath path="Iteration 3" />
      </iterationPaths>
   </teamSettings>
</group>

Définition des autorisations

Vous devez spécifier des autorisations pour chaque groupe que vous créez. À cette fin, vous utilisez l'élément permission.

<permission name="PermissionName" class="ClassName" allow="true | false"/>

L'exemple suivant montre comment accorder des autorisations au groupe de sécurité Reader afin que ses membres puissent afficher les informations relatives à un projet d'équipe, sans pouvoir les modifier.

<group name="Readers" description="A group for users who have read access across the project">
   <permissions>
     <permission name="GENERIC_READ" class="PROJECT" allow="true" />
     <permission name="GENERIC_READ" class="CSS_NODE" allow="true" />
     <permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />
   </permissions>
</group>

Référence des éléments de groupes

Le tableau suivant décrit les éléments que vous utilisez pour définir les groupes et autorisations initiaux d'un projet d'équipe. Vous spécifiez ces éléments dans un élément conteneur taskXml dans le fichier de plug-in Groupes et autorisations. Pour plus d'informations sur cet élément, voir Définir les tâches pour traiter un plug-in.

Avertissement

Le fichier de schéma Gss.xsd ne définit pas les éléments property ou properties.Lorsque vous téléchargez le modèle de processus, le Gestionnaire de modèles de processus valide ces éléments avant de les stocker dans Team Foundation Server.

Les éléments groups et group (Groupes et autorisations) sont distincts des éléments groups et group (Modèle de processus).Pour plus d'informations sur cette dernière paire d'éléments, consultez Référence des éléments XML du modèle de processus.

group

<group name="GroupName" isTeam="true | false" description="GroupDescription">
   <permissions> . . . </permissions>
   <members> . . . </members>
</group>

Les définitions suivantes s'appliquent à chaque attribut :

  • name : requis. Spécifie le nom du groupe. Le nom du groupe doit comprendre entre 1 et 255 caractères.

  • isTeam : facultatif. Identifie le groupe en tant qu'équipe qui prend en charge de petits groupes pour organiser leur travail dans un projet d'équipe.

  • description : obligatoire si le groupe n'est pas une équipe. Spécifie une description du groupe. La description est affichée dans les pages de sécurité de Team Web Access.

group est un élément enfant facultatif de groups et Children.

Définit un groupe ou une équipe, ainsi que ses autorisations et ses membres.

groups

<groups>
   <group> . . . </group>
</groups>

groups est un élément enfant obligatoire de taskXml pour le plug-in Groupes et autorisations.

Contient les définitions de groupe et d'autorisation.

iterationPath

<iterationPath path="IterationName" />

iterationPath est un élément enfant obligatoire de iterationPaths.

Spécifie un jalon d'équipe.

iterationPaths

<iterationPaths backlogPath="BacklogPathName">
. . .      </iterationPaths>

iterationPaths est un élément enfant facultatif de teamsettings.

Spécifie des jalons d'équipe.

member

<member name="MemberName" ></member>

Pour plus d'informations sur la spécification des groupes par défaut, consultez Macros de groupe et groupes par défaut définis dans Team Foundation Server.

member est un élément enfant obligatoire de members.

Spécifie le nom d'un groupe que vous ajoutez en tant que membre d'un autre groupe. Vous pouvez créer des groupes et les remplir automatiquement avec des groupes par défaut de Team Foundation Server, des groupes de projets précédemment définis, et des groupes et utilisateurs d'Active Directory.

members

<members>
   <member> . . . </member>
</members>

members est un élément enfant facultatif de group.

Spécifie la collection de membres à ajouter au groupe.

permission

<permission name="PermissionName" class="ClassName" allow="true | false" />

Les définitions suivantes s'appliquent pour chaque attribut :

  • name : requis. Spécifie le nom de l'autorisation. Pour plus d'informations, consultez le tableau dans la rubrique Configurer des groupes, des équipes, des membres et des autorisations initiaux qui décrit chaque classe et combinaison de noms que vous pouvez spécifier comme autorisation.

  • class : requis. Identifie la classe, ou zone, à laquelle l'autorisation de groupe est accordée. Les valeurs valides sont les suivantes : NAMESPACE (au niveau de la collection), PROJECT (au niveau du projet), CSS_NODE (nœud de zone) et ITERATION_NODE (nœud d'itération).

  • allow : facultatif. Spécifie une valeur True ou False qui indique si vous accordez ou non l'autorisation.

permission est un élément enfant obligatoire de permissions.

Spécifie l'autorisation à appliquer au groupe.

permissions

<permissions >
   <permission> . . . </permissions>
</permissions >

permissions est un élément enfant obligatoire de group.

Spécifie la collection d'autorisations à appliquer au groupe.

teamsettings

<teamSettings areaPath="Area">
. . .
</teamSettings>

teamsettings est un élément enfant facultatif de group.

Configure le projet d'équipe comme l'équipe par défaut, et spécifie éventuellement des jalons d'équipe avec l'élément iterationPath.

Voir aussi

Concepts

Configurer des groupes, des équipes, des membres et des autorisations initiaux

Contrôler l'accès aux domaines fonctionnels

Gérer des utilisateurs ou des groupes dans TFS

Personnaliser un modèle de processus

Autres ressources

Appliquer une règle à un champ d'élément de travail