Configurar grupos equipos, miembros y permisos iniciales

Con el archivo de complemento para Grupos y Permisos, puede configurar los valores de seguridad iniciales de un proyecto de equipo. Para ello, debe definir las tareas que crean los grupos de seguridad, anidan grupos, definen grupos como equipos, configuran los valores de equipo iniciales, asignan miembros a grupos, y permiten o deniegan permisos específicos para cada grupo. Además de realizar estas tareas, puede especificar los valores de seguridad iniciales para las áreas de nivel de colección, nivel de proyecto y clasificación de proyecto.

Las plantillas de proceso de Microsoft asignan varios permisos a los grupos predeterminados. Puede modificar dichas asignaciones si personaliza el archivo de complemento para Grupos y Permisos. Para obtener más información sobre este complemento, vea Definir grupos, equipos y permisos mediante el complemento Grupos y permisos.

En este tema

  • Definir y asignar permisos a grupos

  • Macros de grupo y grupos predeterminados

  • Anidar grupos y asignar miembros a grupos

  • Definir un equipo

  • Asignar permisos de nivel de colección

  • Asignar permisos de nivel de proyecto

  • Asignar permisos para controlar las rutas de acceso de área

  • Asignar permisos para controlar las rutas de acceso de iteración

Para obtener más información sobre cómo configurar los valores de seguridad iniciales para las áreas funcionales de un proyecto de equipo, como Team Foundation Build, control de versiones de Team Foundation y Visual Studio Lab Management, vea Controlar el acceso a las áreas funcionales.

Para obtener más información sobre cómo personalizar los tipos de elementos de trabajo para permitir o denegar el acceso a grupos o usuarios, vea Aplicar una regla a un campo de elemento de trabajo.

Para obtener más información sobre cómo administrar usuarios y grupos, y cómo controlar el acceso de Visual Studio Application Lifecycle Management (ALM), vea Administrar usuarios o grupos en TFS.

Definir y asignar permisos a grupos

Puede usar los elementos group y member para especificar un nuevo grupo de seguridad en Team Foundation Server y agregar miembros a dicho grupo. Puede usar el elemento permission de grupo para asignar permisos a un grupo y a los miembros de dicho grupo. Debe encapsular cada uno de estos elementos en sus elementos contenedores correspondientes: groups, members y permissions. Use la estructura de sintaxis siguiente para cada uno de estos elementos:

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

En la tabla siguiente se describen los atributos de los elementos group, member y permission de grupo. Use estos elementos solamente en el archivo de complemento de Grupos y Permisos.

Elemento

Atributo

Descripción

group

name

Especifica el nombre del grupo que está creando.

isTeam

Indica si el grupo es un equipo (verdadero) o no (false).

description

Describe a otros usuarios la finalidad del grupo.

member

name

Especifica el nombre de un grupo que está agregando como miembro de otro grupo. Puede crear grupos y rellenarlos previamente con cualquiera de los siguientes tipos de miembros:

  • Grupos predeterminados definidos en Team Foundation Server

  • Grupos de proyectos creados previamente en el archivo groupsandpermissions.xml (por ejemplo, [$$PROJECTNAME$$]\Contributors)

  • Grupos y usuarios definidos en Active Directory, que debe especificar con el formato siguiente:

    • DOMINIO\NOMBREDEUSUARIO

    • DOMINIO\NOMBREDEGRUPO

Para obtener información sobre el formato que debe usar al especificar los grupos predeterminados, consulte la sección Macros de grupos y grupos predeterminados más adelante en este tema.

permission

name

Identifica qué permiso se aplica. Para ver una lista de los permisos admitidos, consulte las siguientes secciones más adelante en este tema:

  • Asignar permisos de nivel de colección

  • Asignar permisos de nivel de proyecto

  • Asignar permisos para controlar las rutas de acceso de área

  • Asignar permisos para controlar las rutas de acceso de iteración

class

Identifica la clase, o el área, donde se concede el permiso de grupo. Valores válidos son:

  • NAMESPACE: especifica permisos de nivel de colección.

  • PROJECT: especifica permisos de nivel de proyecto.

  • CSS_NODE: especifica permisos para ver y administrar rutas de acceso del área para un proyecto de equipo.

  • ITERATION_NODE: especifica permisos para ver y administrar rutas de acceso de la iteración para un proyecto de equipo.

allow

Usa un valor true o false para indicar si se concede o se deniega el permiso.

path

Identifica el nodo de la ruta de acceso del área o de la iteración donde se aplica el permiso. Este atributo solo es válido cuando la class se establece en CSS_NODE o ITERATION_NODE.

Macros de grupo y grupos predeterminados

En la tabla siguiente se enumeran las macros que puede usar para especificar un grupo predeterminado definido en Team Foundation Server.

Nota

Puede especificar las macros de la tabla siguiente solo en el complemento de Grupos y Permisos.No puede especificar estas macros si asigna permisos mediante los complementos para compilación, control de versiones y administración del laboratorio.

Grupos predeterminados

Macro

Project Collection Administrators

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

$$COLLECTIONADMINGROUP$$

Cuentas de servicio de la colección de proyectos

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

Cuentas de servicio de compilación de la colección de proyectos

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

$$COLLECTIONBUILDSERVICESGROUP$$

Administradores de compilación de la colección de proyectos

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

$$COLLECTIONBUILDADMINISTRATORSGROUP$$

Project Administrators

$$PROJECTADMINGROUP$$

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

[$$PROJECTNAME$$]\Builders

Creador del proyecto

$$CREATOR_OWNER$$

@creator

Equipo predeterminado

@defaultTeam

Ejemplo: anidar grupos y asignar miembros a grupos

El ejemplo siguiente muestra cómo configurar los grupos que se llamarán TestGroup1, TestGroup2 y TestGroup3. En este ejemplo, agregará el TestGroup1 como miembro del TestGroup2. Para que el código sea válido, debe definir el TestGroup1 antes de definir el 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 un equipo

Además de crear grupos, puede asignar un grupo como equipo. Cuando se crea un proyecto de equipo, también se crea un equipo predeterminado. Si cuenta con varios equipos que desean organizar su trabajo de manera independiente de los demás equipos, puede definir dichos equipos en el archivo de complemento de Grupos y Permisos, o puede configurarlos después de crear el proyecto de equipo. Vea Agregar otro equipo o una jerarquía de equipos.

En el ejemplo siguiente se muestra cómo configurar un grupo como equipo. En este ejemplo, especifica como equipo el grupo llamado Dream Team y agrega al creador del proyecto de equipo como miembro del equipo. Independientemente de qué rutas de iteración especifique para el equipo, deben estar definidas en el archivo de complemento Clasificaciones. Vea Definir el complemento de clasificación.

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

Asignar permisos de nivel de colección

Puede asignar permisos de nivel de colección mediante el elemento permission de grupo y la clase NAMESPACE. Estos permisos controlan el acceso a los recursos disponibles en los proyectos de equipo. Solo puede establecer permisos de nivel de colección para las siguientes categorías de usuarios:

  • Usuarios y grupos en el nivel de colección, como Administradores de la colección de proyectos

  • Grupos de nivel de proyecto que se han agregado al nivel de colección en un servidor que ejecuta Team Foundation

  • Grupos personalizados que se crean y agregan al nivel de colección

Para ver qué formato se debe usar al especificar grupos, consulte la sección Macros de grupo y grupos predeterminados anteriormente en este tema.

Nota

Puede establecer estos permisos haciendo clic con el botón secundario en el servidor en el Team Explorer y después haciendo clic en Seguridad, abriendo y usando la consola de administración de Team Foundation o usando las herramientas de línea de comandos TFSSecurity y tf.Para obtener más información, vea Grupos de nivel de colección, Cambiar grupos y permisos con TFSSecurity y Permission (Comando).

El ejemplo siguiente muestra cómo conceder permisos de nivel de colección a los administradores de un proyecto de equipo.

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

En la tabla siguiente se describen los permisos de nivel de colección que puede asignar.

Nota

De manera predeterminada, no se asignan permisos de nivel de colección en las plantillas de proceso de MSF.

Permiso

Descripción

DIAGNOSTIC_TRACE

Modificar la configuración de seguimiento. Se puede cambiar la configuración de seguimiento para recopilar información de diagnóstico más detallada sobre los servicios web de Team Foundation Server.

CREATE_PROJECTS

Crear nuevos proyectos. Pueden crear proyectos en la colección de proyectos de equipo.

GENERIC_WRITE

Editar información de nivel de colección. Se pueden editar los permisos de nivel de colección para los usuarios y los grupos de la colección de proyectos de equipo. Los usuarios con este permiso pueden realizar las tareas siguientes:

  • Agregar, quitar o cambiar el nombre de un grupo de aplicación de nivel de colección de la colección de Team Foundation Server.

    Nota

    No puede quitar grupos de nivel de colección predeterminados, como Administradores de la colección de proyectos.

  • Agregar o quitar un usuario o un grupo de un usuario de Windows u otro grupo de aplicaciones en Team Foundation Server (en el nivel de servidor).

  • Cambiar los permisos de nivel de colección para usuarios y grupos.

Además, los usuarios que disponen de este permiso pueden modificar los permisos para el control de versiones, y tienen acceso de escritura a todos los archivos del control de versiones, a menos que otros permisos les denieguen explícitamente el acceso.

MANAGE_TEMPLATE

Administrar plantillas de proceso. Se pueden descargar, crear, editar y cargar plantillas de proceso en la colección de proyectos de equipo.

MANAGE_TEST_CONTROLLERS

Administrar controladores de pruebas. Se pueden registrar y eliminar del registro controladores de pruebas para la colección de proyectos de equipo.

MANAGE_LINK_TYPES

Administrar tipos de vínculo de los elementos de trabajo. Se pueden agregar, quitar y cambiar los tipos de vínculos para los elementos de trabajo.

GENERIC_READ

Ver información de nivel de colección. Se puede ver la pertenencia a grupos de nivel de colección y los permisos de esos usuarios.

Asignar permisos de nivel de proyecto

Puede asignar permisos de nivel de proyecto en el archivo de complemento de Grupos y Permisos. Asigne estos permisos mediante el elemento permission de grupo y la clase PROJECT. Estos permisos controlan el acceso a los recursos de un solo proyecto. Puede conceder acceso a los usuarios y grupos de Windows, a grupos de Team Foundation y a los grupos que haya definido previamente en el archivo de complemento de Grupos y Permisos. Para ver qué formato se debe usar al especificar grupos, consulte la sección Macros de grupo y grupos predeterminados anteriormente en este tema.

El ejemplo siguiente muestra cómo conceder varios permisos al grupo Colaboradores de un proyecto de equipo.

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

En la tabla siguiente se describen los permisos de nivel de proyecto que puede asignar y se indican las asignaciones predeterminadas que se realizan en las plantillas de proceso de MSF.

Permiso

Descripción

Lectores

Contributors

Administradores de compilación

GENERIC_READ

Ver información de nivel de proyecto. Se puede ver la pertenencia a grupos de nivel de proyecto y los permisos de esos miembros.

marca de verificación marca de verificación marca de verificación

VIEW_TEST_RESULTS

Ver ejecuciones de pruebas. Se pueden ver los planes de pruebas en este nodo.

marca de verificación marca de verificación marca de verificación

MANAGE_TEST_CONFIGURATIONS

Administrar configuraciones de prueba. Se pueden crear y eliminar las configuraciones de prueba del proyecto de equipo.

marca de verificación marca de verificación

MANAGE_TEST_ENVIRONMENTS

Administrar entornos de prueba. Se pueden crear y eliminar los entornos de prueba del proyecto de equipo.

marca de verificación marca de verificación

PUBLISH_TEST_RESULTS

Crear ejecuciones de pruebas. Se pueden agregar y quitar resultados de pruebas y agregar o modificar ejecuciones de pruebas del proyecto de equipo.

marca de verificación marca de verificación

DELETE_TEST_RESULTS

Eliminar ejecuciones de pruebas. Se puede eliminar una prueba programada para el proyecto de equipo.

marca de verificación marca de verificación

DELETE

Eliminar proyecto de equipo. Se puede eliminar de Team Foundation Server el proyecto para el que se ha concedido el permiso al usuario.

GENERIC_WRITE

Editar información de nivel de proyecto. Se pueden editar permisos de nivel de proyecto para usuarios y grupos de Team Foundation Server.

Asignar permisos para controlar las rutas de acceso de área

Puede asignar permisos que controlan el acceso a definiciones de área mediante el elemento permission de grupo y la clase CSS_NODE. Estos permisos controlan el acceso a la estructura de clasificación de un solo proyecto. Puede conceder acceso a los usuarios y grupos de Windows, a grupos de Team Foundation y a los grupos que haya definido previamente en el archivo de complemento de Grupos y Permisos. Para obtener información sobre qué formato usar al especificar grupos, consulte la sección Macros de grupo y grupos predeterminados anteriormente en este tema.

El ejemplo siguiente muestra cómo conceder varios permisos al grupo Colaboradores de un proyecto de equipo.

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

En la tabla siguiente se describen los permisos que puede asignar para controlar el acceso a la estructura jerárquica de los nodos de área e iteración del proyecto. En la tabla también se indican las asignaciones predeterminadas que se realizan en las plantillas de proceso de MSF.

Nota

Algunas operaciones para realizar un seguimiento de elementos de trabajo requieren varios permisos.Por ejemplo, necesitará varios permisos para eliminar un nodo.

Permiso

Descripción

Lectores

Contributors

Administradores de compilación

GENERIC_READ

Ver este nodo. Se puede ver la configuración de seguridad de un nodo de área.

marca de verificación marca de verificación marca de verificación

WORK_ITEM_READ

Ver los elementos de trabajo en este nodo. Se pueden ver, pero no cambiar, los elementos de trabajo asignados a un nodo de área.

marca de verificación marca de verificación marca de verificación

WORK_ITEM_WRITE

Editar elementos de trabajo de este nodo. Se pueden editar los elementos de trabajo asignados a un nodo de área.

marca de verificación marca de verificación

MANAGE_TEST_PLANS

Administrar planes de pruebas. Se pueden crear y editar los planes de pruebas asignados a un nodo de área. Si no se han ejecutado planes de pruebas, también se pueden eliminar.

marca de verificación marca de verificación

CREATE_CHILDREN

Crear y ordenar los nodos secundarios. Pueden crear nodos de áreas. Los usuarios que tienen este permiso y el permiso GENERIC_WRITE pueden mover o cambiar el orden de cualquier nodo de área secundario.

DELETE

Eliminar este nodo. Se pueden eliminar nodos de área.

Los usuarios que tienen este permiso y el permiso GENERIC_WRITE para otro nodo pueden eliminar nodos de área y volver a clasificar los elementos de trabajo existentes del nodo eliminado. Si el nodo eliminado tiene nodos secundarios, también se eliminarán.

GENERIC_WRITE

Editar este nodo. Se pueden establecer permisos para los nodos de área y cambiar el nombre de los nodos.

Asignar permisos para controlar las rutas de acceso de iteración

Puede asignar permisos que controlan el acceso a rutas de acceso de iteración mediante el elemento permission de grupo y la clase ITERATION_NODE. Estos permisos controlan el acceso a iteraciones o versiones hito de un solo proyecto. Puede conceder acceso a los usuarios y grupos de Windows, a grupos de Team Foundation y a los grupos que haya definido previamente en el archivo de complemento de Grupos y Permisos. Para obtener información sobre qué formato usar al especificar grupos, consulte la sección Macros de grupo y grupos predeterminados anteriormente en este tema.

El ejemplo siguiente muestra cómo conceder varios permisos al grupo Colaboradores de un proyecto de equipo:

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

En la tabla siguiente se describen los permisos que puede asignar para controlar el acceso a la estructura jerárquica de los nodos de iteración del proyecto. Dado que las plantillas de proceso de MSF no especifican ningún permiso de ITERATION_NODE, todos los miembros del equipo pueden crear, ver y eliminar nodos de iteración.

Nota

Algunas operaciones para realizar un seguimiento de elementos de trabajo requieren varios permisos.Por ejemplo, necesitará varios permisos para eliminar un nodo.

Permiso

Descripción

GENERIC_READ

Ver este nodo. Se puede ver la configuración de seguridad de un nodo.

CREATE_CHILDREN

Crear y ordenar los nodos secundarios. Pueden crear nodos de iteración. Los usuarios que tienen este permiso y el permiso GENERIC_WRITE pueden mover o cambiar el orden de cualquier nodo de iteración.

DELETE

Eliminar este nodo. Se pueden eliminar nodos de iteración.

Los usuarios que tienen este permiso y el permiso GENERIC_WRITE para otro nodo pueden eliminar nodos de iteración y volver a clasificar los elementos de trabajo existentes del nodo eliminado. Si el nodo eliminado tiene nodos secundarios, también se eliminarán.

GENERIC_WRITE

Editar este nodo. Se pueden establecer permisos para nodos de iteración y cambiar el nombre de los nodos.

Vea también

Conceptos

Definir grupos, equipos y permisos mediante el complemento Grupos y permisos

Controlar el acceso a las áreas funcionales

Administrar usuarios o grupos en TFS

Referencia de permisos para Team Foundation Server