Определение групп, команд и разрешений с использованием подключаемого модуля групп и разрешений
Вы можете определить группы безопасности для управления доступом к функциональным областям командного проекта. Помимо групп безопасности по умолчанию в Visual Studio Team Foundation Server вы можете настраивать начальные группы командного проекта, членов групп и разрешения безопасности путем настройки подключаемого модуля групп и разрешений. С помощью этого подключаемого модуля можно определять группы, команды, добавлять пользователей и группы в качестве членов групп и предоставлять разрешения для групп.
В этой статье описывается структура синтаксиса элементов groups, iterationPath, members, permissions и teamsettings, используемых в файле для подключаемого модуля групп и разрешений. Дополнительные сведения об этих элементах и их использовании см. в статье Настройка начальных групп, команд, членов и разрешений.
Имя и расположение подключаемого модуля групп
Подключаемый модуль групп и разрешений определяется файлом подключаемого модуля GroupsandPermissions.xml, который должен удовлетворять определению схемы, заданному в файле Gss.xsd. Файлы схемы для шаблонов процессов можно загрузить со следующей страницы: Process Template and Work Item Schemas for Visual Studio Team Foundation (Схемы шаблонов процессов и рабочих элементов для Visual Studio Team Foundation).
В следующей таблице приведены имена файлов, папок и подключаемого модуля для шаблонов процессов Microsoft Solutions Framework (MSF).
Имя файла: |
GroupsandPermissions.xml |
Имя папки: |
Группы и разрешения |
Имя подключаемого модуля: |
Microsoft.ProjectCreationWizard.Groups |
Примечание
Имена XML-файла и папки можно изменить, а имя подключаемого модуля изменить нельзя.Visual Studio Team Foundation Server не содержит механизма развертывания клиентских подключаемых модулей, политик или других модификаций.Если требуется развернуть функциональность этого типа, необходимо использовать собственную программу распространения и установки.
В подключаемом модуле групп и разрешений укажите одну или несколько задач и их зависимости в элементе taskXml. Обычно указывается одна задача на группу безопасности, создаваемую для процесса. Дополнительные сведения об указании задач см. в статье Определение элемента tasks для обработки подключаемого модуля.
Определение групп
С помощью элемента group можно задать новую группу безопасности в Team Foundation Server.
<group name="GroupName" description="GroupDescription"></group>
В следующем примере показывается, как создать группу с именем Reader.
<task id="GroupCreation1"
name="Create Groups and Permissions"
plugin="Microsoft.ProjectCreationWizard.Groups"
completionMessage="Groups and Permissions created.">
<taskXml>
<groups>
<group name="Readers"
description="A group for users who have read access across the project">
<permissions>
<!-- permissions -->
</permissions>
</group>
</groups>
</taskXml>
</task>
Определение членов
С помощью элемента member можно назначить группу в качестве члена группы безопасности в Team Foundation Server.
<member name="MemberName" ></member>
Примечание
Группа, которая является командой (isTeam="true"), не может быть членом группы.
В следующем примере показывается, как добавить группу 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>
</groups>
</taskXml>
</task>
Определение команд и параметров команд
В файле подключаемого модуля групп и разрешений по умолчанию макрос @defaultTeam создает команду по умолчанию в корневом пути области. Вы можете изменить эту структуру, включив дополнительные пути областей в файл подключаемого модуля классификации. С помощью элемента teamsettings вы можете предварительно настроить итерации, назначенные группе. Подключаемый модуль использует следующий фрагмент кода. В этом примере для команды по умолчанию задаются три итерации.
Важно!
Вы должны назначать пути итерации, соответствующие путям, определенным в файле подключаемого модуля классификации.См. раздел Определение начальных областей и итераций в подключаемом модуле классификации.
<group name="@defaultTeam">
<permissions>
<permission name="GENERIC_READ" class="PROJECT" allow="true" />
</permissions>
<members>
<member name="@creator"/>
</members>
<teamSettings areaPath="Area">
<iterationPaths backlogPath="Iteration">
<iterationPath path="Iteration 1" />
<iterationPath path="Iteration 2" />
<iterationPath path="Iteration 3" />
</iterationPaths>
</teamSettings>
</group>
Вы также можете определять в командном проекте дополнительные команды. Это можно сделать, определив группу и назначив атрибуту isTeam значение true. В следующем примере показывается, как определить команду, а также ее разрешения, членов и начальные назначения спринта. Укажите параметры команды по умолчанию для командного проекта.
<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="Iteration 1" />
<iterationPath path="Iteration 2" />
<iterationPath path="Iteration 3" />
</iterationPaths>
</teamSettings>
</group>
Определение разрешений
Вы должны указывать разрешения для каждой создаваемой группы. Для этой цели можно использовать элемент permission.
<permission name="PermissionName" class="ClassName" allow="true | false"/>
В следующем примере показывается, как предоставить разрешения группе безопасности Reader, чтобы члены этой группы могли просматривать сведения о командном проекте, но не могли изменять эти сведения.
<group name="Readers" description="A group for users who have read access across the project">
<permissions>
<permission name="GENERIC_READ" class="PROJECT" allow="true" />
<permission name="GENERIC_READ" class="CSS_NODE" allow="true" />
<permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />
</permissions>
</group>
Справочник по элементам групп
В следующей таблице описываются элементы, используемые для определения начальных групп и разрешений командного проекта. Эти элементы задаются в элементе-контейнере taskXml в файле подключаемого модуля групп и разрешений. Дополнительные сведения об этом элементе см. в разделе Определение элемента tasks для обработки подключаемого модуля.
Предупреждение
Файл схемы Css.xsd не определяет элементы property и properties.При отправке шаблона процесса диспетчер шаблонов процессов проверяет эти элементы перед их сохранением в Team Foundation Server.
Элементы groups и group (группы и разрешения) отличаются от элементов groups и group (шаблон процесса).Сведения о последней паре элементов см. в статье Справочник по XML-элементам ProcessTemplate.
group |
Следующие определения применяются к каждому атрибуту.
|
group — необязательный дочерний элемент элементов groups и Children. Определяет группу или команду и ее разрешения и членов. |
groups |
|
groups — обязательный дочерний элемент элемента taskXml для подключаемого модуля групп и разрешений. Содержит определения групп и разрешений. |
iterationPath |
|
iterationPath — обязательный дочерний элемент элемента iterationPaths. Задает веху команды. |
iterationPaths |
|
iterationPaths — необязательный дочерний элемент элемента teamsettings. Задает вехи команды. |
member |
Сведения о способах указания групп по умолчанию см. в разделе Макросы групп и группы по умолчанию, заданные в Team Foundation Server. |
member — обязательный дочерний элемент элемента members. Указывает имя группы, добавляемой в качестве члена другой группы. Вы можете создать группы и автоматически заполнить их группами по умолчанию в Team Foundation Server, ранее определенными группами проектов, а также группами и пользователями в Active Directory. |
members |
|
members — необязательный дочерний элемент элемента group. Указывает коллекцию членов для добавления в группу. |
permission |
Где следующие определения применяются к каждому атрибуту:
|
permission — обязательный дочерний элемент элемента permissions. Задает разрешение, применяемое к группе. |
permissions |
|
permissions — обязательный дочерний элемент элемента group. Задает коллекцию разрешений, применяемых к группе. |
teamsettings |
|
teamsettings — необязательный дочерний элемент элемента group. Настраивает командный проект в качестве команды по умолчанию и при необходимости указывает вехи команды с помощью элемента iterationPath. |
См. также
Основные понятия
Настройка начальных групп, команд, членов и разрешений
Управление доступом к функциональным областям
Управление пользователями или группами в TFS