Configurar grupos iniciais, equipes, membros e permissões

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 – TFS 2013

Importante

Este artigo se aplica à personalização de projeto para modelos de processo XML locais. Para uma visão geral dos modelos de processo, consulte Personalizar sua experiência de acompanhamento de trabalho.

Usando o arquivo de plug-in para grupos e permissões, você pode definir as configurações de segurança iniciais para um projeto. Você realiza isso definindo tarefas que criam grupos de segurança, aninham grupos, definem grupos como equipes, definem as configurações iniciais da equipe, atribuem membros a grupos e permitem ou negam permissões específicas para cada grupo. Além de executar essas tarefas, você pode especificar as configurações de segurança iniciais para as áreas de nível de coleção, de projeto e de classificação de projeto.

Os modelos de processo da Microsoft atribuem várias permissões a grupos padrão. Você pode modificar essas atribuições Personalizando o arquivo de plug-in para grupos e permissões. Para obter mais informações sobre esse plug-in, consulte definir grupos, equipes e permissões.

para obter informações sobre como definir as configurações de segurança iniciais para as áreas funcionais de um projeto, como o team foundation Build, o controle de versão do team foundation e o Visual Studio Lab Management, consulte controlar o acesso a áreas funcionais.

Para obter informações sobre como personalizar tipos de itens de trabalho para permitir ou negar acesso a grupos ou usuários, consulte regras e avaliação de regra.

para obter mais informações sobre como administrar usuários e grupos e controlar o acesso para Visual Studio gerenciamento do ciclo de vida do aplicativo (ALM), consulte configurar grupos para uso em implantações do TFS.

Definir e atribuir permissões a grupos

você pode usar os elementos grupo e membro para especificar um novo grupo de segurança no Team Foundation Server e adicionar membros a esse grupo. Você pode usar o elemento de permissão de grupo para atribuir permissões a um grupo e a membros desse grupo. Você deve encapsular cada um desses elementos em seus elementos de contêiner correspondentes: grupos, permissões e Membros. Você usa a seguinte estrutura de sintaxe para cada um desses elementos:

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

A tabela a seguir descreve os atributos para os elementos de permissão Group, Member e Group. Você usa esses elementos somente no arquivo de plug-in grupos e permissões.

Element Atributo Descrição
grupo name Especifica o nome do grupo que você está criando.
isTeam Indica se o grupo é uma equipe (true) ou não ( false ).
descrição Descreve a finalidade do grupo para outros usuários.
associado name Especifica o nome de um grupo que você está adicionando como um membro de outro grupo. Você pode criar grupos e preenchê-los com qualquer um dos seguintes tipos de membros:

  • Grupos padrão definidos no Team Foundation Server
  • Project grupos que foram criados anteriormente no arquivo de GroupsandPermissions.xml (por exemplo, [$ $PROJECTNAME $ $] \Contributors)
  • Grupos e usuários definidos no Active Directory, que você especifica usando o seguinte formato:

    • Domain
    • DOMAIN\GROUPNAME

Para obter informações sobre o formato a ser usado ao especificar grupos padrão, consulte Agrupar macros e grupos padrão mais adiante neste tópico.

O elemento contêiner Permissions deve preceder o elemento container Members .
permission name Identifica qual permissão está sendo aplicada. Para obter uma lista das permissões com suporte, consulte as seções a seguir mais adiante neste tópico:

- Atribuir permissões de nível de coleção
- Atribuir permissões em nível de projeto
- Atribuir permissões a caminhos de área de controle
- Atribuir permissões para controlar caminhos de iteração

O elemento contêiner Permissions deve preceder o elemento container Members .
class Identifica a classe, ou área, onde a permissão de grupo é concedida. Os seguintes valores são válidos:

- Namespace: especifica permissões de nível de coleção.
- Projeto: especifica permissões em nível de projeto.
- CSS_NODE: especifica permissões para exibir e gerenciar caminhos de área para um projeto.
- ITERATION_NODE: especifica permissões para exibir e gerenciar caminhos de iteração para um projeto.
-
permitir Usa um valor verdadeiro ou falso para indicar se a permissão é permitida ou negada.
path Identifica o nó do caminho de área ou caminho de iteração onde a permissão está sendo aplicada. Esse atributo é válido somente quando a classe está definida como CSS_NODE ou ITERATION_NODE.

Agrupar macros e grupos padrão

A tabela a seguir lista as macros que você pode usar para especificar um grupo padrão definido em Team Foundation Server.

Observação

Você pode especificar as macros na tabela a seguir somente no plug-in para grupos e permissões. Você não pode especificar essas macros ao atribuir permissões usando os plug-ins para compilação, controle de versão ou gerenciamento de laboratório.

Grupos padrão Macro
Administradores da Coleção de Projetos [Servidor] \ $ $PROJECTCOLLECTIONADMINGROUP $ $

[Servidor] \ $ $TEAMFOUNDATIONADMINGROUP $ $

$ $COLLECTIONADMINGROUP $ $
Contas de Serviço de Coleção de Projetos [Servidor] \ $ $PROJECTCOLLECTIONSERVICESGROUP $ $
Contas do Build Service da Coleção do Projeto [Servidor] \ $ $PROJECTCOLLECTIONBUILDSERVICESGROUP $ $

$ $COLLECTIONBUILDSERVICESGROUP $ $
Administradores de Compilação da Coleção do Projeto [Servidor] \ $ $PROJECTCOLLECTIONBUILDADMINSGROUP $ $

$ $COLLECTIONBUILDADMINISTRATORSGROUP $ $
Administradores do Projeto $ $PROJECTADMINGROUP $ $

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

[$ $PROJECTNAME $ $] \Builders
criador de Project $ $CREATOR _OWNER $ $

@creator
Equipe padrão @defaultTeam

Exemplo: aninhar grupos e atribuir membros a grupos

O exemplo a seguir mostra como configurar grupos chamados TestGroup1, TestGroup2 e TestGroup3. Neste exemplo, você adiciona TestGroup1 como um membro de TestGroup2. Para que esse código seja válido, você deve definir TestGroup1 antes de definir 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>  

Definir uma equipe

Além de criar grupos, você pode atribuir um grupo como uma equipe. Criar um projeto também cria uma equipe padrão. Se você tiver várias equipes que desejam organizar seu trabalho separadamente de outras equipes, poderá definir essas equipes dentro do arquivo de plug-in de grupos e permissões ou pode configurá-las depois de criar o projeto. Consulte adicionar outra equipe.

O exemplo a seguir mostra como configurar um grupo como uma equipe. Neste exemplo, você especifica o grupo, a equipe de sonho, como uma equipe e adiciona o criador do projeto como um membro da equipe. Quaisquer caminhos de iteração que você especificar para a equipe devem ser definidos no arquivo de plug-in de classificações. consulte definir áreas iniciais, iterações e Project arquivo de mapeamento.

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

Atribuir permissões de nível de coleção

Você pode atribuir permissões de nível de coleção usando o elemento de permissão de grupo e a classe de namespace. Essas permissões controlam o acesso a recursos que estão disponíveis em projetos. Você pode definir permissões de nível de coleção somente para as seguintes categorias de usuários:

  • Usuários e grupos no nível de coleção, como Administradores da Coleção de Projetos
  • grupos de nível Project que foram adicionados ao nível de coleção no servidor que está executando o Team Foundation
  • Grupos personalizados que você cria e adiciona ao nível de coleção

Para o formato a ser usado ao especificar grupos, consulte Agrupar macros e grupos padrão anteriormente neste tópico.

O exemplo a seguir mostra como conceder permissões de nível de coleção para os administradores do projeto para um projeto do.

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

A tabela a seguir descreve as permissões de nível de coleção que você pode atribuir.

Observação

Por padrão, nenhuma permissão de nível de coleção é atribuída nos modelos de processo padrão.

Permissão Descrição
DIAGNOSTIC_TRACE Alterar configurações de rastreamento. Pode alterar as configurações de rastreamento para coletar informações de diagnóstico mais detalhadas sobre os serviços Web para Team Foundation Server.
CREATE_PROJECTS Crie novos projetos. Pode criar projetos na coleção de projetos.
GENERIC_WRITE Edite informações em nível de coleção. Pode editar permissões de nível de coleção para usuários e grupos na coleção de projetos. Os usuários que têm essa permissão podem executar as seguintes tarefas:

-Adicionar, remover ou renomear um grupo de aplicativos de nível de coleção da coleção no Team Foundation Server. Observação: você não pode remover grupos de nível de coleção padrão, como Project administradores de coleção.
-adicionar ou remover um usuário ou grupo em Windows usuário ou outro grupo de aplicativos no Team Foundation Server (no nível do servidor).
-Alterar permissões de nível de coleção para usuários e grupos.

Além disso, os usuários que têm essa permissão podem modificar permissões para controle de versão e têm acesso de gravação a todos os arquivos no controle de versão, a menos que seu acesso seja explicitamente negado por outras permissões.
MANAGE_TEMPLATE Gerenciar modelos de processo. Pode baixar, criar, editar e carregar modelos de processo na coleção de projetos.
MANAGE_TEST_CONTROLLERS Gerenciar controladores de teste. Pode registrar e cancelar o registro de controladores de teste para a coleção de projetos.
GENERIC_READ Exibir informações em nível de coleção. Pode exibir a associação de grupos de nível de coleção e as permissões desses usuários.

Atribuir permissões em nível de projeto

Você pode atribuir permissões em nível de projeto no arquivo de plug-in grupos e permissões. Atribua essas permissões usando o elemento de permissão de grupo e a classe Project. Essas permissões controlam o acesso a recursos de um único projeto. você pode conceder acesso a usuários e grupos em Windows, grupos no Team Foundation e grupos que você definiu anteriormente no arquivo de plug-in grupos e permissões. Para o formato a ser usado ao especificar grupos, consulte Agrupar macros e grupos padrão anteriormente neste tópico.

O exemplo a seguir mostra como conceder várias permissões ao grupo de colaboradores para um projeto.

<group name="Contributors" description="Members of this group can add, modify, and delete items within the 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>  

A tabela a seguir descreve as permissões de nível de projeto que você pode atribuir e indica as atribuições padrão feitas nos modelos de processo padrão.

Permissão Descrição Leitores Colaboradores Administradores de Compilação
GENERIC_READ Exibir informações em nível de projeto. Pode exibir a associação de grupos de nível de projeto e as permissões desses membros. marca de seleção marca de seleção marca de seleção
VIEW_TEST_RESULTS Exibir execuções de teste. Pode exibir os planos de teste neste nó. marca de seleção marca de seleção marca de seleção
MANAGE_TEST_CONFIGURATIONS Gerenciar configurações de teste. Pode criar e excluir configurações de teste para o projeto. marca de seleção marca de seleção
MANAGE_TEST_ENVIRONMENTS Gerenciar ambientes de teste. Pode criar e excluir ambientes de teste para o projeto. marca de seleção marca de seleção
PUBLISH_TEST_RESULTS Criar execuções de teste. Pode adicionar e remover resultados de teste e adicionar ou modificar execuções de teste para o projeto. marca de seleção marca de seleção
DELETE_TEST_RESULTS Excluir execuções de teste. Pode excluir um teste agendado para o projeto. marca de seleção marca de seleção
DELETE Excluir projeto. pode excluir de Team Foundation Server projeto para o qual o usuário tem essa permissão.
GENERIC_WRITE Edite informações em nível de projeto. Pode editar permissões de nível de projeto para usuários e grupos no Team Foundation Server.

Atribuir permissões a caminhos de área de controle

Você pode atribuir permissões que controlam o acesso a definições de área usando o elemento de permissão de grupo e a classe CSS_NODE. Essas permissões controlam o acesso à estrutura de classificação de um único projeto. você pode conceder acesso a usuários e grupos em Windows, grupos no Team Foundation e grupos que você definiu anteriormente no arquivo de plug-in grupos e permissões. Para obter informações sobre o formato a ser usado ao especificar grupos, consulte Agrupar macros e grupos padrão anteriormente neste tópico.

O exemplo a seguir mostra como conceder várias permissões ao grupo de colaboradores para um projeto.

<group name="Contributors" description="Members of this group can add, modify, and delete items within the 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>  

A tabela a seguir descreve as permissões que você pode atribuir para controlar o acesso à estrutura hierárquica para os nós de área e iteração do projeto. A tabela também indica as atribuições padrão feitas nos modelos de processo padrão.

Observação

Algumas operações para acompanhamento de itens de trabalho exigem várias permissões. Por exemplo, você precisa de várias permissões para excluir um nó.

Permissão Descrição Leitores Colaboradores Administradores de Compilação
GENERIC_READ Exibir este nó. Pode exibir as configurações de segurança de um nó de área. marca de seleção marca de seleção marca de seleção
WORK_ITEM_READ Exibir itens de trabalho neste nó. Pode exibir, mas não alterar, itens de trabalho que são atribuídos a um nó de área. marca de seleção marca de seleção marca de seleção
WORK_ITEM_WRITE Editar itens de trabalho neste nó. Pode editar itens de trabalho que são atribuídos a um nó de área. marca de seleção marca de seleção
MANAGE_TEST_PLANS Gerenciar planos de teste. Pode criar e editar planos de teste que são atribuídos a um nó de área. Se os planos de teste não foram executados, você também poderá excluí-los. marca de seleção marca de seleção
CREATE_CHILDREN Criar e ordenar nós filho. Pode criar nós de área. Os usuários que têm essa permissão e a permissão de GENERIC_WRITE podem mover ou reordenar qualquer nó de área filho.
DELETE Exclua este nó. Pode excluir nós de área.

Os usuários que têm essa permissão e a permissão de GENERIC_WRITE para outro nó podem excluir nós de área e reclassificar os itens de trabalho existentes do nó excluído. Se o nó excluído possuir nós filho, esses nós também serão excluídos.
GENERIC_WRITE Edite este nó. Pode definir permissões para e renomear nós da área.

Atribuir permissões para controlar caminhos de iteração

Você atribui permissões que controlam o acesso a caminhos de iteração usando o elemento de permissão de grupo e a classe ITERATION_NODE . Essas permissões controlam o acesso às versões ou iterações de etapas de um único projeto. você pode conceder acesso a usuários e grupos no Windows, grupos padrão do TFS e grupos que você definiu anteriormente no arquivo de plug-in grupos e permissões. Para obter informações sobre o formato a ser usado ao especificar grupos, consulte Agrupar macros e grupos padrão anteriormente neste tópico.

O exemplo a seguir mostra como conceder várias permissões ao grupo de colaboradores para um projeto:

<group name="Contributors" description="Members of this group can add, modify, and delete items within the 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>  

A tabela a seguir descreve as permissões que você pode atribuir para controlar o acesso à estrutura hierárquica dos nós de iteração do projeto. Como os modelos de processo padrão não especificam ITERATION_NODE permissões, todos os membros da equipe podem criar, exibir e excluir nós de iteração.

Observação

Algumas operações para acompanhamento de itens de trabalho exigem várias permissões. Por exemplo, você precisa de várias permissões para excluir um nó.

Permissão Descrição
GENERIC_READ Exibir este nó. Pode exibir as configurações de segurança para um nó.
CREATE_CHILDREN Criar e ordenar nós filho. Pode criar nós de iteração. Os usuários que têm essa permissão e a permissão GENERIC_WRITE podem mover ou reordenar qualquer nó de iteração.
DELETE Exclua este nó. Pode excluir nós de iteração.

Os usuários que têm essa permissão e a permissão de GENERIC_WRITE para outro nó podem excluir nós de iteração e reclassificar os itens de trabalho existentes do nó excluído. Se o nó excluído possuir nós filho, esses nós também serão excluídos.
GENERIC_WRITE Edite este nó. Pode definir permissões para nós de iteração e renomear nós.