Partager via


Configuration des groupes, des membres et des autorisations initiaux

Grâce au fichier de plug-in des groupes et autorisations, vous pouvez configurer les paramètres de sécurité initiaux d'un projet d'équipe. Pour ce faire, vous définissez des tâches qui créent des groupes de sécurité, imbriquent ces groupes, 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 de niveau de collection, de niveau de projet, de classification de projet et d'abonnement aux événements.

Les modèles de processus de Microsoft Solutions Framework (MSF) assignent plusieurs autorisations aux groupes par défaut. Vous pouvez modifier ces assignations en personnalisant le fichier de plug-in des groupes et autorisations. Pour plus d'informations sur ce plug-in, consultez Plug-in de groupes et d'autorisations.

Dans cette rubrique

  • Définition et assignation d'autorisations aux groupes à l'aide des éléments de groupe, membre et autorisation de groupe

  • Macros de groupe et groupes par défaut définis dans Team Foundation Server

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

  • Assignation d'autorisations au niveau des collections

  • Assignation d'autorisations au niveau des projets

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

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

  • Assignation d'autorisations pour gérer les abonnements aux événements

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, contrôle de version Team Foundation et Visual Studio Lab Management, consultez Contrôle de 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 Gestion de l'autorisation pour créer ou modifier des éléments de travail.

Pour plus d'informations sur l'administration des utilisateurs et groupes et sur le contrôle d'accès à Visual Studio Application Lifecycle Management (ALM), consultez Configuration d'utilisateurs, de groupes et d'autorisations.

Définition et sécurisation de groupes à l'aide des éléments de groupe, membre et autorisation de groupe

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.

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, [$$NOMPROJET$$]\Contributors)

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

    • DOMAINE\NOM D'UTILISATEUR

    • DOMAINE\NOM DE GROUPE

Pour plus d'informations sur le format à utiliser pour spécifier des groupes par défaut, consultez 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 des collections

  • Assignation d'autorisations au niveau des projets

  • Assignation d'autorisations pour contrôler les niveaux de zone et 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 des collections.

  • PROJECT : spécifie des autorisations au niveau des projets.

  • 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.

  • EVENT_SUBSCRIPTION : spécifie des autorisations pour l'affichage et la modification des paramètres d'alerte pour un projet d'équipe, ainsi que l'abonnement et le désabonnement à ces paramètres.

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 lorsque class a la valeur CSS_NODE ou ITERATION_NODE.

Macros de groupe et groupes par défaut définis dans Team Foundation Server

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 des groupes et autorisations. Vous ne pouvez pas spécifier ces macros lorsque vous assignez des autorisations à l'aide des plug-in de build, contrôle de version ou Lab Management.

Groupes par défaut

Macro

Project Collection Administrators

[SERVEUR]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVEUR]\$$TEAMFOUNDATIONADMINGROUP$$

Project Collection Service Accounts

[SERVEUR]\$$PROJECTCOLLECTIONSERVICESGROUP$$

Project Collection Build Service Accounts

[SERVEUR]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

Project Collection Build Administrators

[SERVEUR]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

Project Administrators

$$PROJECTADMINGROUP$$

[$$NOMPROJET$$]\$$PROJECTADMINGROUP$$

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>

Assignation d'autorisations au niveau des collections

Vous pouvez assigner des autorisations au niveau des collections à 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 pouvez définir des autorisations au niveau des collections uniquement 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 connaître le format à utiliser lorsque vous spécifiez des groupes, consultez Groupes par défaut définis dans Team Foundation Server 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 de Team Foundation, ou en utilisant les outils en ligne de commande TFSSecurity et tf. Pour plus d'informations, consultez Groupes au niveau de la collection, Modification de groupes et d'autorisations avec TFSSecurity et Permission, commande.

L'exemple suivant indique comment accorder des autorisations au niveau des collections 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 des collections que vous pouvez assigner.

Notes

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

Autorisation

Description

DIAGNOSTIC_TRACE

Modifier les paramètres de la trace : permet de modifier les paramètres de trace pour rassembler plus d'informations de diagnostic détaillées sur les services Web de Team Foundation Server.

CREATE_PROJECTS

Créer de nouveaux projets : permet de 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 des collections 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 des collections à partir de la collection dans Team Foundation Server.

    RemarqueRemarque
    Vous ne pouvez pas supprimer les groupes au niveaux des collections par défaut, tels que Project Collection Administrators.
  • 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 des collections 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'enregistrer et d'annuler l'enregistrement des contrôleurs de test pour la collection de projets d'équipe.

MANAGE_LINK_TYPES

Gérer les types de liaison 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 de visualiser l'appartenance de groupes au niveau des collections et les autorisations de ces utilisateurs.

Assignation d'autorisations au niveau des projets

Vous pouvez assigner des autorisations au niveau des projets 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 connaître le format à utiliser lorsque vous spécifiez des groupes, consultez Groupes par défaut définis dans Team Foundation Server plus haut dans cette rubrique.

Notes

Une fois le projet d'équipe créé, vous pouvez définir ces autorisations dans Team Explorer en cliquant avec le bouton droit sur le projet, puis en cliquant sur Paramètres du projet d'équipe et Sécurité. Vous pouvez également définir ces autorisations à l'aide de l'outil en ligne de commande TFSSecurity. Pour plus d'informations, consultez Gestion des autorisations.

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 des projets que vous pouvez assigner, et indique les assignations par défaut effectuées dans les modèles de processus MSF.

Autorisation

Description

Lecteurs

Contributors

Builders

GENERIC_READ

Afficher les informations au niveau du projet : permet de visualiser l'appartenance de groupes au niveau des projets et les autorisations de ces membres.

coche coche coche

VIEW_TEST_RESULTS

Afficher les 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 les séries de tests : permet de supprimer un test planifié pour le projet d'équipe.

coche coche

DELETE

Supprimer le 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 des autorisations au niveau des projets pour les utilisateurs et 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 Groupes par défaut définis dans Team Foundation Server plus haut dans cette rubrique.

Notes

Une fois le projet d'équipe créé, vous pouvez définir ces autorisations dans Team Explorer en cliquant avec le bouton droit sur le projet, puis en cliquant sur Zones et itérations, sur l'onglet Zone, puis sur Sécurité. Vous pouvez assigner des autorisations aux nœuds des différents niveaux de la hiérarchie. Vous pouvez également définir ces autorisations à l'aide de l'outil en ligne de commande TFSSecurity. Pour plus d'informations, consultez Gestion des autorisations.

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

Lecteurs

Contributors

Builders

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 : permet de créer des nœuds de zone. Les utilisateurs qui ont cette autorisation et l'autorisation GENERIC_WRITE peuvent déplacer ou réorganiser des nœuds de zone enfants.

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 Groupes par défaut définis dans Team Foundation Server plus haut dans cette rubrique.

Notes

Une fois le projet d'équipe créé, vous pouvez définir ces autorisations dans Team Explorer en cliquant avec le bouton droit sur le projet, puis en cliquant sur Zones et itérations, Itération et Sécurité. Vous pouvez assigner des autorisations aux nœuds des différents niveaux de la hiérarchie. Vous pouvez également définir ces autorisations à l'aide de l'outil en ligne de commande TFSSecurity. Pour plus d'informations, consultez Gestion des autorisations.

L'exemple suivant indique 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" />
</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. Étant donné que 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 : permet de créer des nœuds d'itération. Les utilisateurs qui ont cette autorisation et l'autorisation GENERIC_WRITE peuvent déplacer ou réorganiser les nœuds 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.

Assignation d'autorisations pour gérer les abonnements aux événements

Vous pouvez assigner des autorisations qui contrôlent l'accès aux alertes de projet à l'aide de l'élément permission de groupe et de la classe EVENT_SUBSCRIPTION. Ces autorisations contrôlent l'accès au service d'événements d'un projet d'équipe 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 Groupes par défaut définis dans Team Foundation Server 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="EVENT_SUBSCRIPTION" allow="true" />
        <permission name="GENERIC_WRITE" class=" EVENT_SUBSCRIPTION" allow="true" />
        <permission name="UNSUBSCRIBE" class=" EVENT_SUBSCRIPTION" allow="true" />
   </permissions>
</group>

Le tableau suivant décrit les autorisations que vous pouvez assigner pour contrôler l'accès aux abonnements aux événements.

Notes

Par défaut, aucune autorisation d'abonnement aux événements n'est assignée dans les modèles de processus MSF. Tous les membres de l'équipe peuvent afficher les alertes de projet, ainsi que s'y abonner ou annuler leur abonnement.

Autorisation

Description

GENERIC_READ

Permet d'afficher les alertes.

GENERIC_WRITE

Permet de modifier les paramètres d'alerte.

UNSUBSCRIBE

Permet d'annuler un abonnement aux alertes.

Voir aussi

Concepts

Plug-in de groupes et d'autorisations

Configuration d'utilisateurs, de groupes et d'autorisations

Personnalisation de domaines fonctionnels au sein d'un modèle de processus

Autres ressources

Contrôle de l'accès aux domaines fonctionnels

Gestion de l'autorisation pour créer ou modifier des éléments de travail