Настройка начальных групп, членов и разрешений
Файл подключаемого модуля групп и разрешений позволяет задать начальные параметры безопасности для командного проекта. Для этого нужно определить задачи создания групп безопасности и вложенных групп, включения участников в группы, предоставления каждой группе одних разрешений и отказа в других. Помимо выполнения таких задач, существует возможность задавать начальные параметры безопасности для областей уровня коллекций, проектов, классификации проектов и подписок на события.
Шаблоны процессов Microsoft Solutions Framework (MSF) по умолчанию предоставляют группам некоторые разрешения. Это свойство шаблона можно изменить, изменив файл подключаемого модуля групп и разрешений. Дополнительные сведения об этом подключаемом модуле см. в разделе Подключаемый модуль групп и разрешений.
В этом разделе
Описание и предоставление разрешений группам с использованием элементов "группа", "участник" и "разрешения группы"
Макросы групп и группы, определенные по умолчанию в 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 |
Имя создаваемой группы. |
description |
Описывает цель группы и других пользователей. |
|
member |
name |
Задает имя группы, создаваемой как участник другой группы. Новую группу можно создать с уже включенными в ее состав любыми участниками следующих типов.
Дополнительные сведения о формате, используемом для определения групп по умолчанию, см. ниже в подразделе Группы, определенные по умолчанию в Team Foundation Server. |
permission |
name |
Определяет, какое разрешение применяется. Перечень допустимых разрешений см. в следующих подразделах далее в этом разделе:
|
class |
Определяет класс или область, для которых дается групповое разрешение. Допустимы следующие значения.
|
|
allow |
Значения true и false определяют, имеется или отсутствует такое разрешение. |
|
path |
Определяет узел в пути к области или итерации, где применяется разрешение. Этот атрибут допустим, только если атрибут class имеет значение CSS_NODE или ITERATION_NODE. |
Макросы групп и группы, определенные по умолчанию в Team Foundation Server
В следующей таблице перечислены макросы, которые можно использовать для указания группы по умолчанию в Team Foundation Server.
Примечание
Макросы, приведенные в таблице, могут использоваться только с подключаемым модулем групп и разрешений.Нельзя использовать эти макросы при предоставлении разрешений посредством подключаемых модулей для построения, управления версиями или лабораториями.
Группы по умолчанию |
Макрос |
---|---|
Администраторы коллекций проектов |
[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$ [SERVER]\$$TEAMFOUNDATIONADMINGROUP$$ |
Учетные записи служб коллекций проектов |
[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$ |
Учетные записи служб построения коллекций проектов |
[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$ |
Администраторы построения коллекций проектов |
[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$ |
Администраторы проектов |
$$PROJECTADMINGROUP$$ [$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$ |
Вкладывание групп и включение участников в группы
Следующий пример показывает, как настроить группы 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>
Предоставление разрешений уровня коллекции
Для предоставления разрешений уровня коллекции используется групповой элемент permission и класс NAMESPACE. Эти разрешения определяют права доступа к ресурсам в командных проектах. Разрешения уровня коллекции можно предоставлять только следующим категориям пользователей:
пользователи и группы уровня коллекции, например "Администраторы коллекции проектов";
группы уровня проекта, добавленные на уровне коллекции на сервере, где выполняется Team Foundation;
настраиваемые группы, созданные и добавленные на уровне коллекции.
Дополнительные сведения о формате, используемом при определении групп, см. выше в подразделе Группы, определенные по умолчанию в Team Foundation Server.
Примечание
Предоставить эти разрешения можно несколькими способами: щелкнуть правой кнопкой мыши сервер в Сред. Командный обозреватель и выбрать команду Безопасность; воспользоваться консолью администрирования Team Foundation или же использовать инструменты командной строки TFSSecurity и tf.Дополнительные сведения см. в разделах Группы уровня коллекции, Изменение групп и разрешений с помощью программы TFSSecurity и Команда Permission.
Следующий пример демонстрирует предоставление в командном проекте разрешений уровня коллекции или разрешений администраторам проекта.
<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 и группам, которые ранее были определены в файле подключаемого модуля групп и разрешений. Дополнительные сведения о формате, используемом при указании групп, см. выше в разделе Группы, определенные по умолчанию в Team Foundation Server.
Примечание
Чтобы после создания командного проекта задать эти разрешения в Сред. Командный обозреватель, щелкните правой кнопкой мыши проект, затем выберите пункт Параметры командного проекта и щелкните Безопасность.Данные разрешения также можно настроить с помощью служебной программы командной строки 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.
Примечание
Чтобы после создания командного проекта установить эти разрешения в Сред. Командный обозреватель, щелкните проект правой кнопкой мыши, выберите Области и итерации, перейдите на вкладку Область и нажмите кнопку Безопасность. Разрешения можно назначать узлам на различных уровнях иерархии.Данные разрешения также можно настроить с помощью служебной программы командной строки 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.
Примечание
Чтобы после создания командного проекта задать эти разрешения в Сред. Командный обозреватель, щелкните правой кнопкой мыши проект, выберите пункт Области и итерации, затем на вкладке Итерация щелкните пункт Безопасность.Разрешения можно предоставлять узлам на различных уровнях иерархии.Данные разрешения также можно настроить с помощью служебной программы командной строки 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" />
</group>
В следующей таблице описаны разрешения, которые можно предоставлять с целью управления доступом к иерархической структуре узлов итерации проекта. Поскольку в шаблонах процессов MSF разрешения для класса ITERATION_NODE не указаны, любой участник команды может создавать, просматривать и удалять узлы итерации.
Примечание
Для некоторых операций отслеживания рабочих элементов требуется несколько разрешений.Например, для удаления узла требуется несколько разрешений.
Разрешение |
Описание |
---|---|
GENERIC_READ |
Просмотреть этот узел. Позволяет просматривать параметры безопасности для узла. |
CREATE_CHILDREN |
Создать и упорядочить дочерние узлы. Позволяет создавать узлы итерации. Пользователи, у которых есть данное разрешение и разрешение GENERIC_WRITE, могут перемещать и изменять порядок любых дочерних узлов итерации. |
DELETE |
Удалить этот узел. Позволяет удалять узлы итерации. Пользователи, у которых есть данное разрешение и разрешение GENERIC_WRITE для другого узла, могут удалять узлы итерации и изменять классификацию существующих рабочих элементов из удаленного узла. Если удаляемый узел имеет дочерние узлы, они также удаляются. |
GENERIC_WRITE |
Изменить узел. Позволяет устанавливать разрешения для узлов итерации и переименовывать узлы. |
Предоставление разрешений на управление подписками на события
Для предоставления разрешений, которые позволяют управлять оповещениями проекта, применяют групповой элемент permission и класс EVENT_SUBSCRIPTION. Эти разрешения определяют права доступа к службе событий отдельного командного проекта. Можно предоставлять доступ к пользователям и группам в Windows, группам в Team Foundation и группам, которые ранее были определены в файле подключаемого модуля групп и разрешений. Дополнительные сведения о формате, используемом при определении групп, см. выше в подразделе Группы, определенные по умолчанию в Team Foundation Server.
Следующий пример демонстрирует предоставление в командном проекте нескольких разрешений группе "Участники".
<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>
В следующей таблице описаны разрешения, которые можно предоставлять с целью управления доступом к подпискам на события.
Примечание
По умолчанию шаблоны процессов MSF не ограничивают прав доступа к подпискам на события.Любой участник команды может просматривать, подписаться или отказаться от подписки на оповещения проекта.
Разрешение |
Описание |
---|---|
GENERIC_READ |
Позволяет просматривать оповещения. |
GENERIC_WRITE |
Позволяет изменять параметры оповещений. |
UNSUBSCRIBE |
Позволяет отменить подписку на оповещения. |
См. также
Основные понятия
Подключаемый модуль групп и разрешений
Настройка пользователей, групп и разрешений
Настройка функциональных областей внутри шаблона процесса
Другие ресурсы
Управление доступом к функциональным областям
Управление разрешением на создание или изменение рабочих элементов