Настройка начальных групп, команд, членов и разрешений

При использовании файла подключаемого модуля для групп и разрешений можно настроить первоначальные параметры безопасности для командного проекта. Это можно сделать, определив задачи, которые создают группы безопасности, выполняют вложение групп, определяют группы как команды, настраивают первоначальные параметры команды, назначают элементы группы и разрешают или отклоняют специальные разрешения для каждой группы. Кроме выполнения этих задач, можно указать первоначальные параметры безопасности для областей уровня коллекции, уровня проекта и классификации проектов.

Шаблоны процессов Майкрософт назначают несколько разрешений для групп по умолчанию. Эти назначения можно изменить, настроив файл подключаемого модуля для групп и разрешений. Дополнительные сведения об этом подключаемом модуле см. в разделе Определение групп, команд и разрешений с использованием подключаемого модуля групп и разрешений.

Содержание раздела

  • Определение и назначение разрешений для групп

  • Макросы групп и группы по умолчанию

  • Вложенные группы и назначение членов групп

  • Определение команды

  • Назначение разрешений уровня коллекции

  • Назначение разрешений уровня проекта

  • Назначение разрешений для управления путями к областям

  • Назначение разрешений для управления путями итерации

Сведения о настройке первоначальных параметров безопасности для функциональных областей командного проекта, таких как Team Foundation Build, Team Foundation (подсистема контроля версий) и Visual Studio Lab Management, см. в разделе Управление доступом к функциональным областям.

Сведения о настройке разрешения или отклонения доступа к группам или пользователям в типах рабочих элементов см. в разделе Применение правила к полю рабочего элемента.

Дополнительные сведения об администрировании пользователей и групп, а также контроле доступа для Visual Studio Application Lifecycle Management (ALM) см. в разделе Управление пользователями или группами в TFS.

Определение и назначение разрешений для групп

Можно использовать элементы group и member, чтобы указать новую группу безопасности в Team Foundation Server и добавить членов в эту группу. Элемент группы permission можно использовать для назначения разрешений группе и членам этой группы. Необходимо инкапсулировать каждый из этих элементов в соответствующих элементах контейнера: groups, members и permissions. Для каждого из приведенных ниже элементов используется следующая структура синтаксиса.

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

В следующей таблице описаны атрибуты для group, member и элементов permission группы. Эти элементы используются только в файле подключаемого модуля групп и разрешений.

Элемент

Атрибут

Описание

group

name

Указывает имя создаваемой группы.

isTeam

Указывает, является ли группа командой (true) или нет (false).

description

Описывает цель группы для других пользователей.

member

name

Указывает имя группы, добавляемой в качестве члена другой группы. Вы можете создавать группы и заполнять их с помощью любых следующих типов членов.

  • Группы по умолчанию, которые определены в Team Foundation Server

  • Группы проектов, созданные ранее в файле groupsandpermissions.xml (например, [$$PROJECTNAME$$]\Contributors)

  • Группы и пользователи, определенные в Active Directory, которые указываются в следующем формате:

    • DOMAIN\USERNAME

    • DOMAIN\GROUPNAME

Сведения о формате, который должен использоваться при указании групп по умолчанию, см. в разделе Макросы групп и группы по умолчанию далее в этой статье.

permission

name

Указывает применяемое разрешение. Список поддерживаемых разрешений см. в следующих подразделах далее в этом разделе.

  • Назначение разрешений уровня коллекции

  • Назначение разрешений уровня проекта

  • Назначение разрешений для управления путями к областям

  • Назначение разрешений для управления путями итерации

class

Определяет класс или область, для которой предоставляется разрешение группы. Допустимы следующие значения.

  • NAMESPACE. Указывает разрешения уровня коллекции.

  • PROJECT. Указывает разрешения уровня проекта.

  • CSS_NODE. Указывает разрешения для просмотра и управления путями области для командного проекта.

  • ITERATION_NODE. Указывает разрешения для просмотра и управления путями итераций для командного проекта.

allow

Использует значение true или false, чтобы указать, является ли разрешение разрешенным или запрещенным.

path

Определяет узел пути областей или пути итераций, к которому применяется разрешение. Этот атрибут допустим, только если для class задано значение CSS_NODE или ITERATION_NODE.

Макросы групп и группы по умолчанию

В следующей таблице указаны макросы, которые можно использовать для указания группы по умолчанию, определенной в Team Foundation Server.

Примечание

Макросы в следующей таблице можно указать только в подключаемом модуле для групп и разрешений.Эти макросы невозможно указать при назначении разрешений с помощью подключаемых модулей для сборки, подсистемы управления версиями или Lab Management.

Группы по умолчанию

Макрос

Администраторы коллекций проектов

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

$$COLLECTIONADMINGROUP$$

Учетные записи служб коллекций проектов

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

Учетные записи службы сборки коллекции проектов

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

$$COLLECTIONBUILDSERVICESGROUP$$

Администраторы построения коллекций проектов

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

$$COLLECTIONBUILDADMINISTRATORSGROUP$$

Администраторы проектов

$$PROJECTADMINGROUP$$

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

[$$PROJECTNAME$$]\Builders

Создатель проекта

$$CREATOR_OWNER$$

@creator

Команда по умолчанию

@defaultTeam

Пример. Вложенные группы и назначение членов групп

В следующем примере показано, как настроить группы с именами TestGroup1, TestGroup2 и TestGroup3. В этом примере TestGroup1 добавляется как член TestGroup2. Чтобы код был допустимым, необходимо определить TestGroup1 до определения 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>

Определение команды

Кроме создания групп можно назначить группу как команду. При создании командного проекта также создается команда по умолчанию. Если у вас есть несколько команд, работа которых должна быть организована отдельно от других команд, можно определить эти команды в файле подключаемого модуля групп и разрешений или настроить их после создания командного проекта. См. раздел Добавление команды или иерархии команд.

В следующем примере показан способ настройки группы как команды. В этом примере группа Dream Team указывается как команда, а создатель командного проекта — как член команды. Независимо от указанных путей итераций для команды они должны быть определены в файле подключаемого модуля "Классификации". См. раздел Определение начальных областей и итераций в подключаемом модуле классификации.

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

Назначение разрешений уровня коллекции

Разрешения уровня коллекции можно назначить с помощью элемента permission группы и класса NAMESPACE. Эти разрешения контролируют доступ к ресурсам, доступным в командных проектах. Разрешения уровня коллекции можно задать только для следующих категорий пользователей:

  • пользователи и группы уровня коллекции, например «Администраторы коллекции проектов»;

  • группы уровня проекта, добавленные на уровне коллекции на сервере, где выполняется Team Foundation;

  • настраиваемые группы, созданные и добавленные на уровне коллекции.

Сведения о формате, используемом для определения групп, см. в разделе Макросы групп и группы по умолчанию ранее в этой статье.

Примечание

Чтобы задать эти разрешения, щелкните правой кнопкой мыши сервер в Team Explorer, а затем нажмите кнопку Безопасность, откройте и используйте консоль администрирования для Team Foundation или воспользуйтесь средствами командной строки TFSSecurity и tf.Дополнительные сведения см. в разделах Collection-Level Groups, Изменение групп и разрешений с помощью TFSSecurity и Permission Command.

В следующем примере показано, как предоставить разрешения уровня коллекции администраторам проекта для командного проекта.

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

В следующей таблице описываются разрешения уровня коллекции, которые можно назначить.

Примечание

По умолчанию уровни коллекции не назначаются в шаблонах процессов MSF.

Разрешение

Описание

DIAGNOSTIC_TRACE

Изменить параметры трассировки. Может изменять параметры трассировки для сбора более подробных данных диагностики о веб-службах для Team Foundation Server.

CREATE_PROJECTS

Создать новые проекты. Могут создавать проекты в коллекции командных проектов.

GENERIC_WRITE

Изменить сведения на уровне коллекции. Может изменять разрешения уровня коллекции для пользователей и групп в коллекции командных проектов. Пользователи с этим разрешением могут выполнять следующие задачи.

  • Добавление, удаление или переименование группы приложений уровня коллекции из коллекции в Team Foundation Server.

    Примечание

    Невозможно удалить группы уровня коллекции по умолчанию, такие как "Администраторы коллекции проектов".

  • Добавление или удаление пользователя или группы в группе пользователей Windows или в другой группе приложений в Team Foundation Server (на уровне сервера).

  • Изменение разрешений уровня коллекции для пользователей и групп.

Кроме того, пользователи, обладающие этим разрешением, могут изменять разрешения для управления версиями, а также имеют доступ на запись ко всем файлам в подсистеме управления версиями, если только их доступ явно не запрещен другими разрешениями.

MANAGE_TEMPLATE

Управление шаблонами процессов. Можно скачивать, создавать, изменять и отправлять шаблоны процессов в коллекцию командных проектов.

MANAGE_TEST_CONTROLLERS

Управление контроллерами тестов. Можно регистрировать и отменять регистрацию контроллеров тестов для коллекции командных проектов.

MANAGE_LINK_TYPES

Управление типами ссылок рабочих элементов. Можно добавлять, удалять и изменять типы ссылок для рабочих элементов.

GENERIC_READ

Просмотр информации на уровне коллекции. Можно просматривать участников групп на уровне сервера, а также их разрешения.

Назначение разрешений уровня проекта

Можно назначить разрешения уровня проекта в файле подключаемого модуля "Группы и разрешения". Эти разрешения назначаются с помощью элемента permission группы и класса PROJECT. Эти разрешения контролируют доступ к ресурсам одного проекта. Доступ назначается пользователям и группам Windows, группам в Team Foundation и группам, определенным ранее в файле подключаемого модуля "Группы и разрешения". Сведения о формате, используемом для определения групп, см. в разделе Макросы групп и группы по умолчанию ранее в этой статье.

В следующем примере показано, как предоставить несколько разрешений группе "Авторы" для командного проекта.

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

В следующей таблице описаны разрешения уровня проекта, которые можно назначить, и указаны назначения по умолчанию в шаблонах процессов MSF.

Разрешение

Описание

Читатели

Участники

Администраторы сборки

GENERIC_READ

Просматривать информацию уровня проекта. Можно просматривать участников групп на уровне проекта, а также их разрешения.

флажок флажок флажок

VIEW_TEST_RESULTS

Просматривать тестовые запуски. Можно просматривать планы тестирования в этом узле.

флажок флажок флажок

MANAGE_TEST_CONFIGURATIONS

Управление тестовыми конфигурациями. Можно создавать и удалять конфигурации теста для командного проекта.

флажок флажок

MANAGE_TEST_ENVIRONMENTS

Управление тестовыми средами. Можно создавать и удалять тестовые среды для командного проекта.

флажок флажок

PUBLISH_TEST_RESULTS

Создать тестовые запуски. Можно добавлять и удалять результаты тестов, а также добавлять и изменять тестовые запуски для командного проекта.

флажок флажок

DELETE_TEST_RESULTS

Удалить тестовые запуски. Можно удалить запланированный тест для командного проекта.

флажок флажок

DELETE

Удалить командный проект. Можно удалить из Team Foundation Server проект, для которого пользователь имеет данное разрешение.

GENERIC_WRITE

Редактировать информацию уровня проекта. Можно изменять разрешения уровня проекта для пользователей и групп в Team Foundation Server.

Назначение разрешений для управления путями к областям

Разрешения, контролирующие доступ к определениям областей, можно назначить с помощью элемента permission группы и класса CSS_NODE. Эти разрешения контролируют доступ к структуре классификации одного проекта. Доступ назначается пользователям и группам Windows, группам в Team Foundation и группам, определенным ранее в файле подключаемого модуля "Группы и разрешения". Сведения о формате, используемом для определения групп, см. в разделе Макросы групп и группы по умолчанию ранее в этой статье.

В следующем примере показано, как предоставить несколько разрешений группе "Авторы" для командного проекта.

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

В следующей таблице описаны разрешения, которые можно назначить для контроля доступа к иерархической структуре для области и узлов итераций проекта. В таблице также указанные назначения по умолчанию для шаблонов процессов MSF.

Примечание

Для некоторых операций отслеживания рабочих элементов требуется несколько разрешений.Например, для удаления узла требуется несколько разрешений.

Разрешение

Описание

Читатели

Участники

Администраторы сборки

GENERIC_READ

Просмотреть этот узел. Можно просматривать параметры безопасности этого узла областей.

флажок флажок флажок

WORK_ITEM_READ

Просматривать рабочие элементы этого узла. Можно просматривать (но не изменять) рабочие элементы, назначенные этому узлу областей.

флажок флажок флажок

WORK_ITEM_WRITE

Изменить рабочие элементы этого узла. Можно изменить рабочие элементы, назначенные узлу областей.

флажок флажок

MANAGE_TEST_PLANS

Управление планами тестирования. Можно создать и изменить планы тестирования, назначенные узлу областей. Если планы тестирования не выполняются, их также можно удалить.

флажок флажок

CREATE_CHILDREN

Создать и упорядочить дочерние узлы. Могут создавать узлы областей. Пользователи, у которых есть данное разрешение и разрешение GENERIC_WRITE, могут перемещать и изменять порядок любых дочерних узлов областей.

DELETE

Удалить этот узел. Можно удалять узлы областей.

Пользователи, у которых есть данное разрешение и разрешение GENERIC_WRITE для другого узла, могут удалять узлы областей и изменять классификацию существующих рабочих элементов из удаленного узла. Если удаляемый узел имеет дочерние узлы, они также удаляются.

GENERIC_WRITE

Изменить этот узел. Можно задавать разрешения для узлов областей и переименовывать их.

Назначение разрешений для управления путями итерации

Разрешения, контролирующие доступ к путям итераций, можно назначить с помощью элемента permission группы и класса ITERATION_NODE. Эти разрешения контролируют доступ к контрольным выпускам или итерациям для одного проекта. Доступ назначается пользователям и группам Windows, группам в Team Foundation и группам, определенным ранее в файле подключаемого модуля "Группы и разрешения". Сведения о формате, используемом для определения групп, см. в разделе Макросы групп и группы по умолчанию ранее в этой статье.

В следующем примере показано, как предоставить несколько разрешений группе "Авторы" для командного проекта.

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

В следующей таблице описаны разрешения, которые можно назначить для контроля доступа к иерархической структуре для узлов итераций проекта. Поскольку шаблоны процессов MSF не указывают никаких разрешений ITERATION_NODE, все члены команды могут создавать, просматривать и удалять узлы итераций.

Примечание

Для некоторых операций отслеживания рабочих элементов требуется несколько разрешений.Например, для удаления узла требуется несколько разрешений.

Разрешение

Описание

GENERIC_READ

Просмотреть этот узел. Можно просматривать параметры безопасности узла.

CREATE_CHILDREN

Создать и упорядочить дочерние узлы. Могут создавать узлы итераций. Пользователи, у которых есть данное разрешение и разрешение GENERIC_WRITE, могут перемещать и изменять порядок любых узлов итераций.

DELETE

Удалить этот узел. Можно удалять узлы итераций.

Пользователи, у которых есть данное разрешение и разрешение GENERIC_WRITE для другого узла, могут удалять узлы итераций и изменять классификацию существующих рабочих элементов из удаленного узла. Если удаляемый узел имеет дочерние узлы, они также удаляются.

GENERIC_WRITE

Изменить этот узел. Можно задавать разрешения для узлов итераций и переименовывать их.

См. также

Основные понятия

Определение групп, команд и разрешений с использованием подключаемого модуля групп и разрешений

Управление доступом к функциональным областям

Управление пользователями или группами в TFS

Справочник по разрешениям Team Foundation Server