Share via


Configurar grupos iniciales, miembros y permisos

Mediante el archivo de complemento para grupos y permisos, se puede definir la configuración de seguridad inicial para un proyecto de equipo. Para ello, se deben definir tareas a fin de crear grupos de seguridad, anidar grupos, asignar miembros a los grupos y permitir o denegar permisos concretos a cada grupo. Además de realizar estas tareas, se puede especificar la configuración de seguridad inicial para las áreas de nivel de colección, nivel de proyecto, clasificación de proyectos y suscripción de eventos.

Las plantillas de proceso de Microsoft Solutions Framework (MSF) asignan varios permisos a los grupos predeterminados. Para modificar estas asignaciones, se puede personalizar el archivo de complemento para grupos y permisos. Para obtener más información sobre este complemento, vea Complemento de grupos y permisos.

En este tema

  • Definir y asignar permisos a los grupos mediante los elementos Grupo, Miembro y Permiso de grupo

  • Macros de grupo y grupos predeterminados definidos en Team Foundation Server

  • Ejemplo de cómo anidar grupos y asignar miembros a los grupos

  • Asignar permisos de nivel de colección

  • Asignar permisos de nivel de proyecto

  • Asignar permisos para controlar las rutas de acceso a las áreas

  • Asignar permisos para controlar las rutas de acceso a las iteraciones

  • Asignar permisos para administrar las suscripciones de eventos

Para obtener información sobre cómo definir la configuración de seguridad inicial 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 información sobre cómo personalizar los tipos de elementos de trabajo para permitir o denegar el acceso a grupos o usuarios, vea Administrar permisos para crear o modificar elementos de trabajo.

Para obtener más información sobre cómo administrar los usuarios y grupos y controlar el acceso a Visual Studio Application Lifecycle Management (ALM), vea Configurar usuarios, grupos y permisos.

Definir y proteger los grupos mediante los elementos Grupo, Miembro y Permiso de grupo

Puede utilizar los elementos member y group para especificar un nuevo grupo de seguridad en Team Foundation Server y agregar miembros a ese grupo. Puede utilizar el elemento permission de grupo para asignar permisos a un grupo y a los miembros de ese grupo. Debe encapsular cada uno de estos elementos en sus correspondientes elementos contenedores: groups, members y permissions. Se usa la siguiente estructura sintáctica 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. Estos elementos se utilizan únicamente en el archivo de complemento de grupos y permisos.

Elemento

Atributo

Descripción

group

name

Especifica el nombre del grupo que se está creando.

description

Describe el propósito del grupo para otros usuarios.

member

name

Especifica el nombre del grupo que se agrega 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 anteriormente en el archivo groupsandpermissions.xml (por ejemplo, [$$PROJECTNAME$$]\Contributors)

  • Grupos y usuarios definidos en Active Directory, los cuales se especifican con el siguiente formato:

    • DOMINIO\NOMBRE_DE_USUARIO

    • DOMINIO\NOMBRE_DE_GRUPO

Para obtener información sobre el formato que se debe utilizar al especificar grupos predeterminados, vea la sección Grupos predeterminados definidos en Team Foundation Server que figura más adelante en este tema.

permission

name

Identifica el permiso que se está aplicando. Para obtener una lista de los permisos compatibles, vea las siguientes secciones que figuran más adelante en este tema:

  • Asignar permisos de nivel de colección

  • Asignar permisos de nivel de proyecto

  • Asignar permisos de nivel de área de control y nivel de iteración

class

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

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

  • PROJECT: especifica permisos en el nivel de proyecto.

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

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

  • EVENT_SUBSCRIPTION: especifica permisos para ver, suscribir y anular la suscripción de un proyecto de equipo, y para cambiar la configuración de alertas del mismo.

allow

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

path

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

Macros de grupo y grupos predeterminados definidos en Team Foundation Server

En la siguiente tabla se muestran las macros que se pueden utilizar para especificar un grupo predeterminado definido en Team Foundation Server.

Nota

Las macros de la siguiente tabla se pueden especificar únicamente en el complemento para grupos y permisos. No se pueden especificar cuando se asignan permisos utilizando los complementos para la compilación, el control de versiones o Lab Management.

Grupos predeterminados

Macro

Project Collection Administrators

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

Project Collection Service Accounts

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

Project Collection Build Service Accounts

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

Project Collection Build Administrators

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

Project Administrators

$$PROJECTADMINGROUP$$

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

Ejemplo de cómo anidar grupos y asignar miembros a los grupos

En el siguiente ejemplo, se muestra cómo configurar los grupos TestGroup1, TestGroup2 y TestGroup3. En este ejemplo, se agrega TestGroup1 como miembro de TestGroup2. Para que este código sea válido, es preciso 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>

Asignar permisos de nivel de colección

Para asignar permisos de nivel de colección, se utilizan el elemento permission de grupo y la clase NAMESPACE. Estos permisos controlan el acceso a los recursos que están disponibles en los proyectos de equipo. Los permisos de nivel de colección se pueden establecer únicamente para las siguientes categorías de usuarios:

  • Usuarios y grupos en el nivel de colección, como Project Collection Administrators

  • 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 obtener información sobre el formato que se debe usar al especificar grupos, vea la sección Grupos predeterminados definidos en Team Foundation Server que figura más adelante en este tema.

Nota

Para establecer estos permisos, haga clic con el botón secundario en el servidor en Team Explorer y, a continuación, haga clic en Seguridad, o abra y utilice la consola de administración de Team Foundation, o utilice las herramientas de la línea de comandos de 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).

En el siguiente ejemplo, se 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 siguiente tabla, se describen los permisos de nivel de colección que se pueden asignar.

Nota

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

Permiso

Descripción

DIAGNOSTIC_TRACE

Modificar configuración de seguimiento. Permite 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. Permite crear proyectos en la colección de proyectos de equipo.

GENERIC_WRITE

Editar información en el nivel de colección. Permite modificar los permisos de nivel de colección de los usuarios y grupos en la colección de proyectos de equipo. Los usuarios con este permiso pueden realizar las siguientes tareas:

  • Agregar, quitar o cambiar el nombre de un grupo de aplicaciones de una colección de Team Foundation Server.

    NotaNota
    No se pueden quitar los grupos de nivel de colección predeterminados, como Project Collection Administrators.
  • Agregar o quitar un usuario o grupo de Windows u otro grupo de aplicaciones de Team Foundation Server (en el nivel de servidor).

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

Además, los usuarios que tienen 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 denieguen explícitamente su acceso.

MANAGE_TEMPLATE

Administrar plantilla de procesos. Permite descargar, crear, editar y cargar plantillas de proceso en la colección de proyectos de equipo.

MANAGE_TEST_CONTROLLERS

Administrar controladores de pruebas. Permite 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. Permite agregar, quitar y cambiar los tipos de vínculo de los elementos de trabajo.

GENERIC_READ

Ver información de nivel de colección. Permite ver la pertenencia a los grupos en el 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. Para asignar estos permisos, se utilizan 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 usuarios y grupos de Windows, grupos de Team Foundation y grupos anteriormente definidos en el archivo de complemento de grupos y permisos. Para obtener información sobre el formato que se debe usar al especificar grupos, vea la sección Grupos predeterminados definidos en Team Foundation Server que figura más adelante en este tema.

Nota

Una vez creado el proyecto de equipo, puede establecer estos permisos en Team Explorer; para ello, haga clic con el botón secundario del mouse en el proyecto, haga clic en Configuración del proyecto de equipo y, a continuación, haga clic en Seguridad. También puede establecer estos permisos mediante la herramienta de línea de comandos TFSSecurity. Para obtener más información, vea Administrar permisos.

En el siguiente ejemplo, se muestra cómo conceder varios permisos al grupo Contributors 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 siguiente tabla, se describen los permisos de nivel de proyecto que se pueden asignar y se indican las asignaciones predeterminadas que se realizan en las plantillas de proceso de MSF.

Permiso

Descripción

Readers

Contributors

Builders

GENERIC_READ

Ver información de nivel de proyecto. Permite ver la pertenencia a los grupos en el 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. Permite 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. Permite crear y eliminar configuraciones de prueba del proyecto de equipo.

marca de verificación marca de verificación

MANAGE_TEST_ENVIRONMENTS

Administrar entornos de prueba. Permite crear y eliminar entornos de prueba del proyecto de equipo.

marca de verificación marca de verificación

PUBLISH_TEST_RESULTS

Crear ejecuciones de pruebas. Permite agregar y quitar resultados de pruebas, así como 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. Permite eliminar una prueba programada del proyecto de equipo.

marca de verificación marca de verificación

DELETE

Eliminar proyecto de equipo. Permite eliminar de Team Foundation Server el proyecto para el cual el usuario tiene este permiso.

GENERIC_WRITE

Editar información de nivel de proyecto. Permite modificar los permisos de nivel de proyecto de los usuarios y grupos de Team Foundation Server.

Asignar permisos para controlar las rutas de acceso a las áreas

Puede asignar permisos para controlar el acceso a las 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 usuarios y grupos de Windows, grupos de Team Foundation y grupos anteriormente definidos en el archivo de complemento de grupos y permisos. Para obtener información sobre el formato que se debe utilizar al especificar grupos, vea la sección Grupos predeterminados definidos en Team Foundation Server que figura anteriormente en este tema.

Nota

Una vez creado el proyecto de equipo, puede establecer estos permisos en Team Explorer; para ello, haga clic con el botón secundario en el proyecto, haga clic en Áreas e iteraciones, haga clic en la pestaña Área y, a continuación, haga clic en Seguridad. Puede asignar permisos en nodos de diferentes niveles de la jerarquía. También puede establecer estos permisos mediante la herramienta de línea de comandos TFSSecurity. Para obtener más información, vea Administrar permisos.

En el siguiente ejemplo, se muestra cómo conceder varios permisos al grupo Contributors 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 siguiente tabla, se describen los permisos que se pueden 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 de seguimiento de elementos de trabajo requieren varios permisos. Por ejemplo, necesitará varios permisos para eliminar un nodo.

Permiso

Descripción

Readers

Contributors

Builders

GENERIC_READ

Ver este nodo. Permite 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. Permite 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 en este nodo. Permite modificar 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. Permite crear y modificar 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 nodos secundarios. Permite crear nodos de área. 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. Permite 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. Permite establecer permisos y cambiar el nombre de los nodos de área.

Asignar permisos para controlar las rutas de acceso a las iteraciones

Para asignar permisos que controlan el acceso a las rutas de acceso de las iteraciones, se utilizan el elemento permission de grupo y la clase ITERATION_NODE. Estos permisos controlan el acceso a las versiones de hito o las iteraciones de un solo proyecto. Puede conceder acceso a usuarios y grupos de Windows, grupos de Team Foundation y grupos anteriormente definidos en el archivo de complemento de grupos y permisos. Para obtener información sobre el formato que se debe utilizar al especificar grupos, vea la sección Grupos predeterminados definidos en Team Foundation Server que figura anteriormente en este tema.

Nota

Una vez creado el proyecto de equipo, puede establecer estos permisos en Team Explorer; para ello, haga clic con el botón secundario del mouse en el proyecto, haga clic en Áreas e iteraciones, haga clic en la pestaña Iteración y, a continuación, haga clic en Seguridad. Puede asignar permisos a nodos en diferentes niveles de la jerarquía. También puede establecer estos permisos mediante la herramienta de línea de comandos TFSSecurity. Para obtener más información, vea Administrar permisos.

En el siguiente ejemplo, se muestra cómo conceder varios permisos al grupo Contributors 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" />
</group>

En la siguiente tabla, se describen los permisos que se pueden 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 ITERATION_NODE, todos los miembros del equipo pueden crear, ver y eliminar los nodos de iteración.

Nota

Algunas operaciones de 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. Permite ver la configuración de seguridad de un nodo.

CREATE_CHILDREN

Crear y ordenar nodos secundarios. Permite 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 secundario.

DELETE

Eliminar este nodo. Permite 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. Permite establecer permisos y cambiar el nombre de los nodos de iteración.

Asignar permisos para administrar las suscripciones de eventos

Para asignar permisos que controlan el acceso a las alertas de proyecto, se utilizan el elemento permission de grupo y la clase EVENT_SUBSCRIPTION. Estos permisos controlan el acceso al servicio de eventos de un solo proyecto de equipo. Puede conceder acceso a usuarios y grupos de Windows, grupos de Team Foundation y grupos anteriormente definidos en el archivo de complemento de grupos y permisos. Para obtener información sobre el formato que se debe utilizar al especificar grupos, vea la sección Grupos predeterminados definidos en Team Foundation Server que figura anteriormente en este tema.

En el siguiente ejemplo, se muestra cómo conceder varios permisos al grupo Contributors 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="EVENT_SUBSCRIPTION" allow="true" />
        <permission name="GENERIC_WRITE" class=" EVENT_SUBSCRIPTION" allow="true" />
        <permission name="UNSUBSCRIBE" class=" EVENT_SUBSCRIPTION" allow="true" />
   </permissions>
</group>

En la siguiente tabla, se describen los permisos que se pueden asignar para controlar el acceso a las suscripciones de eventos.

Nota

De forma predeterminada, no se asignan permisos de suscripción de eventos en las plantillas de proceso de MSF. Todos los miembros del equipo pueden ver, suscribir y cancelar la suscripción a las alertas de proyecto.

Permiso

Descripción

GENERIC_READ

Puede ver las alertas.

GENERIC_WRITE

Permite cambiar la configuración de las alerta.

UNSUBSCRIBE

Permite cancelar la suscripción a las alertas.

Vea también

Conceptos

Complemento de grupos y permisos

Configurar usuarios, grupos y permisos

Personalizar las áreas funcionales en una plantilla de proceso

Otros recursos

Controlar el acceso a las áreas funcionales

Administrar permisos para crear o modificar elementos de trabajo