Поделиться через


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

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

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

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

  • Описание и предоставление разрешений группам с использованием элементов "группа", "участник" и "разрешения группы"

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

  • Члены группы вложения и присвоить группы

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

  • Предоставление разрешений уровня коллекции

  • Предоставление разрешений уровня проекта

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

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

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

Дополнительные сведения об изменении типов рабочих элементов с целью разрешить или запретить доступ к группам и пользователям см. в разделе Управление разрешением на создание или изменение рабочих элементов.

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

Описание и предоставление разрешений группам с использованием элементов "Группа", "Участник" и "Разрешения группы"

Элементы 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, которые следует указывать в следующем формате:

    • домен\имя пользователя;

    • домен\имя группы.

Дополнительные сведения о формате, используемом для определения групп по умолчанию, см. ниже в подразделе Группы, определенные по умолчанию в Team Foundation Server.

permission

name

Определяет, какое разрешение применяется.Перечень допустимых разрешений см. в следующих подразделах далее в этом разделе:

  • Предоставление разрешений уровня коллекции

  • Предоставление разрешений уровня проекта

  • Предоставление разрешений для управления уровня области и итерации

class

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

  • NAMESPACE. Определяет разрешения уровня коллекции.

  • PROJECT. Определяет разрешения уровня проекта.

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

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

allow

Значения true и false определяют, имеется или отсутствует такое разрешение.

path

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

Макросы групп и группы, определенные по умолчанию в Team Foundation Server

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

ПримечаниеПримечание

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

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

Макрос

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

[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$

[SERVER]\$$TEAMFOUNDATIONADMINGROUP$$

$$COLLECTIONADMINGROUP$$

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

[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$

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

[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$

$$COLLECTIONBUILDSERVICESGROUP$$

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

[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$

$$COLLECTIONBUILDADMINISTRATORSGROUP$$

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

$$PROJECTADMINGROUP$$

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

[$$PROJECTNAME$$]\Builders

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

$$COLLECTIONBUILDADMINISTRATORSGROUP$$

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

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

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

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

<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 Foundation Server.

ПримечаниеПримечание

Предоставить эти разрешения можно несколькими способами: щелкнуть правой кнопкой мыши сервер в 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 и группам, которые ранее были определены в файле подключаемого модуля групп и разрешений.Дополнительные сведения о формате, используемом при определении групп, см. выше в подразделе Группы, определенные по умолчанию в Team Foundation Server.

ПримечаниеПримечание

Чтобы после создания командного проекта задать эти разрешения в Team Explorer, щелкните правой кнопкой мыши проект, затем выберите пункт Параметры командного проекта и щелкните Безопасность.Данные разрешения также можно настроить с помощью служебной программы командной строки TFSSecurity.Дополнительные сведения см. в разделе Управление разрешениями;

Следующий пример демонстрирует предоставление в командном проекте нескольких разрешений группе "Участники".

<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 и группам, которые ранее были определены в файле подключаемого модуля групп и разрешений.Дополнительные сведения о формате, используемом при определении групп, см. выше в подразделе Группы, определенные по умолчанию в Team Foundation Server.

ПримечаниеПримечание

Чтобы после создания командного проекта задать эти разрешения в Team Explorer, щелкните правой кнопкой мыши проект, выберите пункт Области и итерации, затем на вкладке Область щелкните пункт Безопасность. Разрешения можно предоставлять узлам на различных уровнях иерархии.Данные разрешения также можно настроить с помощью служебной программы командной строки TFSSecurity.Дополнительные сведения см. в разделе Управление разрешениями;

Следующий пример демонстрирует предоставление в командном проекте нескольких разрешений группе "Участники".

<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 и группам, которые ранее были определены в файле подключаемого модуля групп и разрешений.Дополнительные сведения о формате, используемом при определении групп, см. выше в подразделе Группы, определенные по умолчанию в Team Foundation Server.

ПримечаниеПримечание

Чтобы после создания командного проекта задать эти разрешения в Team Explorer, щелкните правой кнопкой мыши проект, выберите пункт Области и итерации, затем на вкладке Итерация щелкните пункт Безопасность.Разрешения можно предоставлять узлам на различных уровнях иерархии.Данные разрешения также можно настроить с помощью служебной программы командной строки TFSSecurity.Дополнительные сведения см. в разделе Управление разрешениями;

Следующий пример демонстрирует предоставление в командном проекте нескольких разрешений группе "Участники":

<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

Изменить узел.Позволяет устанавливать разрешения для узлов итерации и переименовывать узлы.

См. также

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

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

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

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

Настройка функциональных областей внутри шаблона процесса

Другие ресурсы

Управление разрешением на создание или изменение рабочих элементов

Журнал изменений

Дата

Журнал

Причина

Август 2012 г.

Добавлены сведения об определении группы.

Улучшение информации.