Настройка начальных групп, команд, членов и разрешений
При использовании файла подключаемого модуля для групп и разрешений можно настроить первоначальные параметры безопасности для командного проекта. Это можно сделать, определив задачи, которые создают группы безопасности, выполняют вложение групп, определяют группы как команды, настраивают первоначальные параметры команды, назначают элементы группы и разрешают или отклоняют специальные разрешения для каждой группы. Кроме выполнения этих задач, можно указать первоначальные параметры безопасности для областей уровня коллекции, уровня проекта и классификации проектов.
Шаблоны процессов Майкрософт назначают несколько разрешений для групп по умолчанию. Эти назначения можно изменить, настроив файл подключаемого модуля для групп и разрешений. Дополнительные сведения об этом подключаемом модуле см. в разделе Определение групп, команд и разрешений с использованием подключаемого модуля групп и разрешений.
Содержание раздела
Определение и назначение разрешений для групп
Макросы групп и группы по умолчанию
Вложенные группы и назначение членов групп
Определение команды
Назначение разрешений уровня коллекции
Назначение разрешений уровня проекта
Назначение разрешений для управления путями к областям
Назначение разрешений для управления путями итерации
Сведения о настройке первоначальных параметров безопасности для функциональных областей командного проекта, таких как 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 |
Указывает имя группы, добавляемой в качестве члена другой группы. Вы можете создавать группы и заполнять их с помощью любых следующих типов членов.
Сведения о формате, который должен использоваться при указании групп по умолчанию, см. в разделе Макросы групп и группы по умолчанию далее в этой статье. |
permission |
name |
Указывает применяемое разрешение. Список поддерживаемых разрешений см. в следующих подразделах далее в этом разделе.
|
class |
Определяет класс или область, для которой предоставляется разрешение группы. Допустимы следующие значения.
|
|
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 |
Изменить сведения на уровне коллекции. Может изменять разрешения уровня коллекции для пользователей и групп в коллекции командных проектов. Пользователи с этим разрешением могут выполнять следующие задачи.
Кроме того, пользователи, обладающие этим разрешением, могут изменять разрешения для управления версиями, а также имеют доступ на запись ко всем файлам в подсистеме управления версиями, если только их доступ явно не запрещен другими разрешениями. |
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 |
Изменить этот узел. Можно задавать разрешения для узлов итераций и переименовывать их. |
См. также
Основные понятия
Определение групп, команд и разрешений с использованием подключаемого модуля групп и разрешений
Управление доступом к функциональным областям