Compartilhar via


Definir grupos, equipes e permissões usando o plug-in Grupos e Permissões

Você pode definir grupos de segurança para controlar o acesso a áreas funcionais em um projeto de equipe. Além dos grupos de segurança padrão em Visual Studio Team Foundation Server, você pode configurar grupos iniciais, membros do grupo e permissões de segurança de um projeto de equipe, personalizando os grupos e permissões plug-in. Com esse plug-in, você pode definir grupos, equipes, adicionar usuários e grupos como membros de grupos e conceder permissões aos grupos.

Este tópico descreve a estrutura de sintaxe do groups, iterationPath, members, permissions, e teamsettings elementos que são usados no arquivo para os grupos e permissões de plug-in. Para obter mais informações sobre como usar esses elementos, consulte Configurar grupos iniciais, equipes, membros e permissões.

Nome e local do plug-in de grupos

Os grupos e permissões plug-in é definido no arquivo de plug-in GroupsandPermissions, que está de acordo com a definição de esquema é definida no arquivo Gss.xsd. Você pode baixar os arquivos de esquema para modelos de processos nesta página do site da Microsoft: Modelo de processos e esquemas de itens de trabalho para Visual Studio Team Foundation.

A tabela a seguir resume os nomes do arquivo, a pasta e o plug-in dos modelos de processo do Microsoft Solutions Framework (MSF).

Nome do arquivo:

GroupsandPermissions.xml

Nome da pasta:

Grupos e Permissões

Nome do plug-in:

Microsoft.ProjectCreationWizard.Groups

Dica

Você pode alterar os nomes do arquivo XML e da pasta, mas não do plug-in.O Visual Studio Team Foundation Server não inclui um mecanismo para a implantação de plug-ins do lado do cliente, políticas ou outras modificações.Para implantar esse tipo de funcionalidade você tem que usar seu próprio programa de instalação e distribuição.

Os grupos e permissões de plug-in, você especifica uma ou mais tarefas e suas dependências dentro do taskXml elemento. Em geral, você pode especificar uma tarefa por grupo de segurança para criar o processo. Para obter mais informações sobre como especificar as tarefas, consulte Definir as tarefas para processar um plug-in.

Definir grupos

Você usa o group elemento para especificar um novo grupo de segurança em Team Foundation Server.

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

O exemplo a seguir mostra como criar um grupo denominado leitor:

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

Definir membros

Você usa o member elemento para atribuir um grupo como um membro de um grupo de segurança em Team Foundation Server.

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

Dica

Um grupo é uma equipe (isTeam="true") não pode ser um membro de um grupo.

O exemplo a seguir mostra como adicionar TestGroup1 como membro do 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>

Definir configurações de equipe e equipes

Dentro de grupos e permissões de plug-in arquivo padrão, o @defaultTeam macro cria a equipe padrão no caminho de área da raiz. Você pode alterar essa estrutura, incluindo caminhos de área adicionais dentro do arquivo de plug-in de classificação. Usando o teamsettings elemento, você pode pré-configurar as iterações atribuídas a uma equipe. O plug-in usa o seguinte trecho de código. Neste exemplo, três iterações são definidas para a equipe padrão.

Importante

Você deve atribuir os caminhos de iteração que correspondem aos caminhos definidos no arquivo de plug-in de classificação.Consulte Definir o plug-in de classificação.

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

Você também pode definir equipes adicionais dentro de um projeto de equipe. Você pode fazer isso definindo um grupo e atribuindo o isTeam atributo true. O exemplo a seguir mostra como definir uma equipe e suas permissões, membros e atribuições de sprint inicial. Especifique as configurações de equipe padrão para um projeto de equipe.

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

Definir permissões

Você deve especificar permissões para cada grupo que você criar. Você usa o permission elemento para essa finalidade.

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

O exemplo a seguir mostra como conceder permissões ao grupo de segurança do leitor para que os membros podem exibir informações sobre um projeto de equipe, mas não podem modificar essas informações.

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

Referência de elemento de grupos

A tabela a seguir descreve os elementos que você usa para definir os grupos iniciais e permissões para um projeto de equipe. Você especifica esses elementos dentro de uma taskXml elemento contêiner no arquivo de plug-in grupos e permissões. Para obter informações sobre esse elemento, consulte Definir as tarefas para processar um plug-in.

Aviso

O arquivo de esquema Gss.xsd não define o property ou properties elementos.Quando você envia o modelo de processo, o Gerenciador de Modelos de Processo valida esses elementos antes de armazená-los em Team Foundation Server.

O groups e group (grupos e permissões) elementos são distintos de groups e group elementos (modelo de processo).Para obter informações sobre o segundo par de elementos, consulte Referência a elementos XML do modelo de processo.

group

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

As seguintes definições se aplicam a cada atributo:

  • name: Obrigatório. Especifica o nome do grupo. O nome do grupo deve ser de 1 a 255 caracteres.

  • isTeam: Opcional. Identifica o grupo como equipe, que oferece suporte a pequenos grupos para organizar seu trabalho em um projeto de equipe.

  • description: Necessária quando o grupo não é uma equipe. Especifica uma descrição do grupo. A descrição é exibida nas páginas de segurança Acesso Web da Equipe.

O group é um elemento filho opcional de groups e de Children.

Define um grupo ou uma equipe e seus membros e permissões.

groups

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

groups é um elemento filho obrigatório do taskXml para os grupos e permissões de plug-in.

Contém as definições de grupo e a permissão.

iterationPath

<iterationPath path="IterationName" />

O iterationPath é um elemento filho obrigatório de iterationPaths.

Especifica uma etapa de equipe.

iterationPaths

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

O iterationPaths é um elemento filho opcional de teamsettings.

Especifica as etapas de projeto de equipe.

member

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

Para obter informações sobre como especificar grupos padrão, consulte Macros de grupo e padrão grupos definidos no Team Foundation Server.

O member é um elemento filho obrigatório de members.

Especifica o nome de um grupo que você está adicionando como um membro de outro grupo. Você pode criar grupos e preenchê-los automaticamente com grupos padrão no Team Foundation Server, definido anteriormente projeto grupos e grupos e usuários no Active Directory.

members

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

O members é um elemento filho opcional de group.

Especifica a coleção de membros a serem adicionados ao grupo.

permission

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

Onde as seguintes definições se aplicam a cada atributo:

  • name: Obrigatório. Especifica o nome da permissão. Para obter mais informações, consulte a tabela Configurar grupos iniciais, equipes, membros e permissões que descreve cada combinação de classe e o nome que você pode especificar como uma permissão.

  • class: Obrigatório. Identifica a classe ou área, onde é concedida a permissão de grupo. Os seguintes valores são válidos: NAMESPACE (nível de coleção), PROJECT (nível de projeto), CSS_NODE (nó de área) e ITERATION_NODE (nó de iteração).

  • allow: Opcional. Especifica um valor verdadeiro ou falso que indica se você está permitindo que a permissão.

O permission é um elemento filho obrigatório de permissions.

Especifica a permissão para aplicar ao grupo.

permissions

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

O permissions é um elemento filho obrigatório de group.

Especifica o conjunto de permissões para aplicar ao grupo.

teamsettings

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

O teamsettings é um elemento filho opcional de group.

Configura o projeto de equipe como a equipe padrão e, opcionalmente, especifica metas da equipe com o iterationPath elemento.

Consulte também

Conceitos

Configurar grupos iniciais, equipes, membros e permissões

Controlar o acesso às áreas funcionais

Gerenciar usuários ou grupos no TFS

Personalizar um processo

Outros recursos

Aplicar uma regra a um campo do item de trabalho