Partager via


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

À l'aide du fichier de plug-in Groupes et autorisations, vous pouvez configurer les paramètres de sécurité initiaux d'un projet d'équipe. Pour cela, vous définissez des tâches qui créent des groupes de sécurité, imbriquent des groupes, définissent des groupes comme équipes, configurent les paramètres d'équipe initiaux, assignent des membres aux groupes, et accordent ou refusent des autorisations spécifiques à chaque groupe. En plus d'effectuer ces tâches, vous pouvez spécifier les paramètres de sécurité initiaux des zones au niveau de la collection, au niveau du projet et de classification de projet.

Les modèles de processus Microsoft assignent plusieurs autorisations aux groupes par défaut. Vous pouvez modifier ces assignations en personnalisant le fichier de plug-in Groupes et autorisations. Pour plus d'informations sur ce plug-in, consultez Définir les groupes, les équipes et les autorisations à l'aide du plug-in Groupes et autorisations.

Dans cette rubrique

  • Définition et assignation d'autorisations aux groupes

  • Macros de groupe et groupes par défaut

  • Imbrication de groupes et assignation de membres aux groupes

  • Définition d'une équipe

  • Assignation d'autorisations au niveau de la collection

  • Assignation d'autorisations au niveau du projet

  • Assignation d'autorisations pour contrôler les chemins de zone

  • Assignation d'autorisations pour contrôler les chemins d'itération

Pour plus d'informations sur la configuration des paramètres de sécurité initiaux pour les domaines fonctionnels d'un projet d'équipe, tels que Team Foundation Build, le contrôle de version Team Foundation et Visual Studio Lab Management, consultez Contrôler l'accès aux domaines fonctionnels.

Pour plus d'informations sur la personnalisation des types d'éléments de travail pour autoriser ou refuser l'accès aux groupes ou utilisateurs, consultez Appliquer une règle à un champ d'élément de travail.

Pour plus d'informations sur l'administration des utilisateurs et groupes, et sur le contrôle d'accès pour Visual Studio Application Lifecycle Management (ALM), consultez Gérer des utilisateurs ou des groupes dans TFS.

Définition et assignation d'autorisations aux groupes

Vous pouvez utiliser les éléments group et member pour spécifier un nouveau groupe de sécurité dans Team Foundation Server et ajouter des membres à ce groupe. Vous pouvez utiliser l'élément permission de groupe pour assigner des autorisations à un groupe et aux membres de ce groupe. Vous devez encapsuler chacun de ces éléments dans les éléments de conteneur correspondants : groups, members et permissions. Vous utilisez la structure de syntaxe suivante pour chacun de ces éléments :

<group name="Group Name" description="Description of Group"></group>
<member name="MemberName"></member>
<permission name="PermissionName" class="ClassName" allow="True | False"/>

Le tableau suivant décrit les attributs des éléments group, member et permission de groupe. Vous utilisez ces éléments uniquement dans le fichier de plug-in Groupes et autorisations.

Élément

Attribut

Description

group

name

Spécifie le nom du groupe que vous créez.

isTeam

Indique si le groupe est une équipe (true) ou non (false).

description

Décrit l'objectif du groupe aux autres utilisateurs.

member

name

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 préremplir avec chacun des types suivants de membres :

  • Groupes par défaut définis dans Team Foundation Server

  • Groupes de projets créés précédemment dans le fichier groupsandpermissions.xml (par exemple, [$$PROJECTNAME$$]\Contributors)

  • Groupes et utilisateurs définis dans Active Directory, que vous spécifiez au format suivant :

    • DOMAINE\NOM_UTILISATEUR

    • DOMAINE\NOM_GROUPE

Pour plus d'informations sur le format à utiliser pour spécifier des groupes par défaut, consultez Macros de groupe et groupes par défaut définis dans Team Foundation Server, plus loin dans cette rubrique.

permission

name

Identifie l'autorisation appliquée. Pour obtenir la liste des autorisations prises en charge, consultez les sections suivantes de cette rubrique :

  • Assignation d'autorisations au niveau de la collection

  • Assignation d'autorisations au niveau du projet

  • Assignation d'autorisations pour contrôler les chemins de zone

  • Assignation d'autorisations pour contrôler les chemins d'itération

class

Identifie la classe, ou zone, à laquelle l'autorisation de groupe est accordée. Les valeurs suivantes sont valides :

  • NAMESPACE : spécifie des autorisations au niveau de la collection.

  • PROJECT : spécifie des autorisations au niveau du projet.

  • CSS_NODE : spécifie des autorisations pour l'affichage et la gestion des chemins de zone d'un projet d'équipe.

  • ITERATION_NODE : spécifie des autorisations pour l'affichage et la gestion des chemins d'itération d'un projet d'équipe.

allow

Utilise une valeur true ou false pour indiquer si l'autorisation est accordée ou refusée.

path

Identifie le nœud du chemin de zone ou d'itération où l'autorisation est appliquée. Cet attribut est valide uniquement quand class a la valeur CSS_NODE ou ITERATION_NODE.

Macros de groupe et groupes par défaut

Le tableau suivant répertorie les macros que vous pouvez utiliser pour spécifier un groupe par défaut défini dans Team Foundation Server.

Notes

Vous pouvez spécifier les macros du tableau suivant uniquement dans le plug-in Groupes et autorisations.Vous ne pouvez pas spécifier ces macros quand vous assignez des autorisations à l'aide des plug-ins pour la génération, le contrôle de version ou Lab Management.

Groupes par défaut

Macro

Project Collection Administrators

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

$$COLLECTIONADMINGROUP$$

Project Collection Service Accounts

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

Project Collection Build Service Accounts

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

$$COLLECTIONBUILDSERVICESGROUP$$

Project Collection Build Administrators

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

$$COLLECTIONBUILDADMINISTRATORSGROUP$$

Project Administrators

$$PROJECTADMINGROUP$$

[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$

[$$PROJECTNAME$$]\Builders

Créateur du projet

$$CREATOR_OWNER$$

@creator

Équipe par défaut

@defaultTeam

Exemple d'imbrication de groupes et d'assignation de membres aux groupes

L'exemple suivant indique comment configurer des groupes intitulés TestGroup1, TestGroup2 et TestGroup3. Dans cet exemple, vous ajoutez TestGroup1 en tant que membre de TestGroup2. Pour que ce code soit valide, vous devez définir TestGroup1 avant de définir 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>
        <group name="TestGroup3" description="Test group 3. Contains DOMAIN\USER, DOMAIN\GROUP, Project Administrators, and Project Collection Build Service Accounts.">
          <permissions>
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />
          </permissions>
          <members>
            <member name="DOMAIN\USER" />
            <member name="DOMAIN\GROUP" />
            <member name="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" />
            <member name="[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$" />
          </members>
        </group>
      </groups>
    </taskXml>
</task>

Définition d'une équipe

En plus de créer des groupes, vous pouvez assigner un groupe comme une équipe. La création d'un projet d'équipe crée également une équipe par défaut. Si vous avez plusieurs équipes qui souhaitent planifier leur travail indépendamment des autres équipes, vous pouvez définir ces équipes dans le fichier de plug-in Groupes et autorisations, ou vous pouvez les configurer après avoir créé le projet d'équipe. Consultez Ajouter une autre équipe ou une hiérarchie d'équipe.

L'exemple suivant montre comment configurer un groupe comme une équipe. Dans cet exemple, vous spécifiez le groupe Dream Team comme une équipe et ajoutez le créateur de projet d'équipe comme membre de l'équipe. Quels que soient les chemins d'itération spécifiés pour l'équipe, ils doivent être définis dans le fichier de plug-in Classifications. Consultez Définir les zones et les itérations initiales dans le plug-in Classification.

<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="Release 1\Sprint 1" />
         <iterationPath path="Release 1\Sprint 2" />
         <iterationPath path="Release 1\Sprint 3" />
         <iterationPath path="Release 1\Sprint 4" />
         <iterationPath path="Release 1\Sprint 5" />
         <iterationPath path="Release 1\Sprint 6" />
      </iterationPaths>
   </teamSettings>
</group>

Assignation d'autorisations au niveau de la collection

Vous pouvez assigner des autorisations au niveau de la collection à l'aide de l'élément permission de groupe et de la classe NAMESPACE. Ces autorisations contrôlent l'accès aux ressources disponibles pour plusieurs projets d'équipe. Vous ne pouvez définir des autorisations au niveau de la collection que pour les catégories suivantes d'utilisateurs :

  • Les utilisateurs et les groupes au niveau de la collection tels que le groupe Project Collection Administrators

  • Les groupes au niveau du projet ayant été ajoutés au niveau de la collection sur votre serveur qui exécute Team Foundation

  • Les groupes personnalisés que vous créez et ajoutez au niveau de la collection

Pour déterminer le format à utiliser pour spécifier des groupes, consultez Macros de groupe et groupes par défaut, plus haut dans cette rubrique.

Notes

Vous pouvez définir ces autorisations en cliquant avec le bouton droit sur le serveur dans Team Explorer, puis en cliquant sur Sécurité, en ouvrant et utilisant la console d'administration pour Team Foundation, ou en utilisant les outils en ligne de commande TFSSecurity et tf.Pour plus d'informations, consultez Collection-Level Groups, Modification de groupes et d'autorisations avec TFSSecurity et Permission Command.

L'exemple suivant indique comment accorder des autorisations au niveau de la collection aux administrateurs d'un projet d'équipe.

<group name="PROJECTADMINGROUP" description="Members of this group can add, modify, and delete items within the team project.">
   <permissions>
       <permission name="GENERIC_READ" class="NAMESPACE" allow="true" />
       <permission name="WORK_ITEM_WRITE" class="NAMESPACE" allow="true" />
       <permission name="MANAGE_LINK_TYPES" class="NAMESPACE" allow="true" />
       <permission name="MANAGE_TEMPLATE" class="NAMESPACE" allow="true" />
       <permission name="MANAGE_TEST_CONTROLLERS" class="NAMESPACE" allow="true" />
    </permissions>
</group>

Le tableau suivant décrit les autorisations au niveau de la collection que vous pouvez assigner.

Notes

Par défaut, aucune autorisation au niveau de la collection n'est assignée dans les modèles de processus MSF.

Autorisation

Description

DIAGNOSTIC_TRACE

Modifier les paramètres de suivi. Permet de modifier les paramètres de suivi pour collecter des informations de diagnostic plus détaillées sur les services web pour Team Foundation Server.

CREATE_PROJECTS

Créer des projets. Peut créer des projets dans la collection de projets d'équipe.

GENERIC_WRITE

Modifier les informations au niveau de la collection. Permet de modifier des autorisations au niveau de la collection pour les utilisateurs et groupes de la collection de projets d'équipe. Les utilisateurs qui disposent de cette autorisation peuvent effectuer les tâches suivantes :

  • Ajouter, supprimer ou renommer un groupe d'applications au niveau de la collection à partir de la collection dans Team Foundation Server.

    Notes

    Vous ne pouvez pas supprimer les groupes au niveau de la collection par défaut, par exemple Administrateurs de la collection de projets.

  • Ajouter ou supprimer un utilisateur ou groupe dans Utilisateur Windows ou un autre groupe d'applications de Team Foundation Server (au niveau du serveur).

  • Changer les autorisations au niveau de la collection pour les utilisateurs et groupes.

En outre, les utilisateurs disposant de cette autorisation peuvent modifier les autorisations pour le contrôle de version et ils ont accès en écriture à tous les fichiers du contrôle de version à moins que cet accès ne soit refusé explicitement par d'autres autorisations.

MANAGE_TEMPLATE

Gérer le modèle de processus. Permet de télécharger, créer, modifier et charger des modèles de processus vers la collection de projets d'équipe.

MANAGE_TEST_CONTROLLERS

Gérer les contrôleurs de test. Permet d'inscrire et d'annuler l'inscription des contrôleurs de test pour la collection de projets d'équipe.

MANAGE_LINK_TYPES

Gérer les types de lien d'élément de travail. Permet d'ajouter, de supprimer et de modifier les types de liens des éléments de travail.

GENERIC_READ

Afficher les informations au niveau de la collection. Permet d'afficher l'appartenance de groupes au niveau de la collection et les autorisations de ces utilisateurs.

Assignation d'autorisations au niveau du projet

Vous pouvez assigner des autorisations au niveau du projet dans le fichier de plug-in Groupes et autorisations. Vous assignez ces autorisations à l'aide de l'élément permission de groupe et la classe PROJECT. Ces autorisations contrôlent l'accès aux ressources d'un projet unique. Vous pouvez accorder l'accès à des utilisateurs et des groupes dans Windows, à des groupes dans Team Foundation et à des groupes que vous avez préalablement définis dans le fichier de plug-in Groupes et autorisations. Pour déterminer le format à utiliser pour spécifier des groupes, consultez Macros de groupe et groupes par défaut, plus haut dans cette rubrique.

L'exemple suivant montre comment accorder plusieurs autorisations au groupe Contributors pour un projet d'équipe.

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
   <permissions>
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />
      <permission name="DELETE_TEST_RESULTS" class="PROJECT" allow="true" />
       <permission name="PUBLISH_TEST_RESULTS" class="PROJECT" allow="true" />
       <permission name="VIEW_TEST_RESULTS" class="PROJECT" allow="true" />
       <permission name="MANAGE_TEST_ENVIRONMENTS" class="PROJECT" allow="true" />
      <permission name="MANAGE_TEST_CONFIGURATIONS" class="PROJECT" allow="true" />
   </permissions>
</group>

Le tableau suivant décrit les autorisations au niveau du projet que vous pouvez assigner et indique les assignations par défaut effectuées dans les modèles de processus MSF.

Autorisation

Description

Readers

Contributors

Administrateurs de build

GENERIC_READ

Afficher les informations au niveau du projet. Permet d'afficher l'appartenance de groupes au niveau du projet et les autorisations de ces membres.

coche coche coche

VIEW_TEST_RESULTS

Afficher des séries de tests. Permet d'afficher les plans de test de ce nœud.

coche coche coche

MANAGE_TEST_CONFIGURATIONS

Gérer les configurations de test. Permet de créer et supprimer des configurations de test pour le projet d'équipe.

coche coche

MANAGE_TEST_ENVIRONMENTS

Gérer les environnements de test. Permet de créer et supprimer des environnements de test pour le projet d'équipe.

coche coche

PUBLISH_TEST_RESULTS

Créer des séries de tests. Permet d'ajouter et de supprimer des résultats de tests et d'ajouter ou de modifier des séries de tests pour le projet d'équipe.

coche coche

DELETE_TEST_RESULTS

Supprimer des séries de tests. Permet de supprimer un test planifié pour le projet d'équipe.

coche coche

DELETE

Supprimer un projet d'équipe. Permet de supprimer de Team Foundation Server le projet pour lequel l'utilisateur possède cette autorisation.

GENERIC_WRITE

Modifier les informations au niveau du projet. Permet de modifier les autorisations au niveau du projet pour les utilisateurs et les groupes dans Team Foundation Server.

Assignation d'autorisations pour contrôler les chemins de zone

Vous pouvez assigner des autorisations qui contrôlent l'accès aux définitions de zone à l'aide de l'élément permission de groupe et de la classe CSS_NODE. Ces autorisations contrôlent l'accès à la structure de classification d'un projet unique. Vous pouvez accorder l'accès à des utilisateurs et des groupes dans Windows, à des groupes dans Team Foundation et à des groupes que vous avez préalablement définis dans le fichier de plug-in Groupes et autorisations. Pour plus d'informations sur le format à utiliser pour spécifier des groupes, consultez Macros de groupe et groupes par défaut, plus haut dans cette rubrique.

L'exemple suivant montre comment accorder plusieurs autorisations au groupe Contributors pour un projet d'équipe.

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
   <permissions>
      <permission name="GENERIC_READ" class="CSS_NODE" allow="true" />
      <permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />
      <permission name="WORK_ITEM_WRITE" class="CSS_NODE" allow="true" />
      <permission name="MANAGE_TEST_PLANS" class="CSS_NODE" allow="true" />
   </permissions>
</group>

Le tableau suivant décrit les autorisations que vous pouvez assigner pour contrôler l'accès à la structure hiérarchique des nœuds d'itération et de zone du projet. Il indique également les assignations par défaut effectuées dans les modèles de processus MSF.

Notes

Certaines opérations de suivi des éléments de travail requièrent plusieurs autorisations.Par exemple, vous avez besoin de plusieurs autorisations pour supprimer un nœud.

Autorisation

Description

Readers

Contributors

Administrateurs de build

GENERIC_READ

Afficher ce nœud. Permet d'afficher les paramètres de sécurité d'un nœud de zone.

coche coche coche

WORK_ITEM_READ

Afficher les éléments de travail dans ce nœud. Permet d'afficher, mais pas de modifier, les éléments de travail assignés à un nœud de zone.

coche coche coche

WORK_ITEM_WRITE

Modifier les éléments de travail dans ce nœud. Permet de modifier les éléments de travail assignés à un nœud de zone.

coche coche

MANAGE_TEST_PLANS

Gérer les plans de test. Permet de créer et modifier les plans de test assignés à un nœud de zone. Si les plans de test n'ont pas été exécutés, vous pouvez également les supprimer.

coche coche

CREATE_CHILDREN

Créer et classer les nœuds enfants. Peut créer de nœuds de zone. Les utilisateurs qui ont cette autorisation et l'autorisation GENERIC_WRITE peuvent déplacer ou réorganiser tout nœud de zone enfant.

DELETE

Supprimer ce nœud. Permet de supprimer des nœuds de zone.

Les utilisateurs qui ont cette autorisation et l'autorisation GENERIC_WRITE pour un autre nœud peuvent supprimer des nœuds de zone et reclasser des éléments de travail existants à partir du nœud supprimé. Si le nœud supprimé a des nœuds enfants, ces nœuds sont également supprimés.

GENERIC_WRITE

Modifier ce nœud. Permet de définir des autorisations pour des nœuds de zone et de les renommer.

Assignation d'autorisations pour contrôler les chemins d'itération

Vous assignez des autorisations qui contrôlent l'accès aux chemins d'itération à l'aide de l'élément permission de groupe et de la classe ITERATION_NODE. Ces autorisations contrôlent l'accès aux versions jalons ou itérations d'un projet unique. Vous pouvez accorder l'accès à des utilisateurs et des groupes dans Windows, à des groupes dans Team Foundation et à des groupes que vous avez préalablement définis dans le fichier de plug-in Groupes et autorisations. Pour plus d'informations sur le format à utiliser pour spécifier des groupes, consultez Macros de groupe et groupes par défaut, plus haut dans cette rubrique.

L'exemple suivant montre comment accorder plusieurs autorisations au groupe Contributors pour un projet d'équipe :

<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
   <permissions>
      <permission name="GENERIC_READ" class="ITERATION_NODE" allow="true" />
      <permission name="GENERIC_WRITE" class="ITERATION_NODE" allow="true" />
      <permission name="CREATE_CHILDREN" class="ITERATION_NODE" allow="true" />
   </permissions>
</group>

Le tableau suivant décrit les autorisations que vous pouvez assigner pour contrôler l'accès à la structure hiérarchique des nœuds d'itération du projet. Comme les modèles de processus MSF ne spécifient pas d'autorisations ITERATION_NODE, tous les membres de l'équipe peuvent créer, afficher et supprimer des nœuds d'itération.

Notes

Certaines opérations de suivi des éléments de travail requièrent plusieurs autorisations.Par exemple, vous avez besoin de plusieurs autorisations pour supprimer un nœud.

Autorisation

Description

GENERIC_READ

Afficher ce nœud. Permet d'afficher les paramètres de sécurité d'un nœud.

CREATE_CHILDREN

Créer et classer les nœuds enfants. Peut créer de nœuds d'itération. Les utilisateurs qui ont cette autorisation et l'autorisation GENERIC_WRITE peuvent déplacer ou réorganiser tout nœud d'itération.

DELETE

Supprimer ce nœud. Permet de supprimer des nœuds d'itération.

Les utilisateurs qui ont cette autorisation et l'autorisation GENERIC_WRITE pour un autre nœud peuvent supprimer des nœuds d'itération et reclasser des éléments de travail existants à partir du nœud supprimé. Si le nœud supprimé a des nœuds enfants, ces nœuds sont également supprimés.

GENERIC_WRITE

Modifier ce nœud. Permet de définir des autorisations pour des nœuds d'itération et de les renommer.

Voir aussi

Concepts

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

Contrôler l'accès aux domaines fonctionnels

Gérer des utilisateurs ou des groupes dans TFS

Référence des autorisations pour Team Foundation Server