Определение групп, команд и разрешений с использованием подключаемого модуля групп и разрешений
Вы можете определить группы безопасности, которые служат для управления доступом к функциональным областям в командном проекте. Помимо групп безопасности по умолчанию в 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>
Справочник по элементу Groups
В таблице ниже приведены элементы, используемые для определения первоначальных групп и разрешений для командного проекта. Эти элементы задаются в элементе-контейнере taskXml в файле подключаемого модуля "Группы и разрешения". Дополнительные сведения об этом элементе см. в разделе Определение элемента tasks для обработки подключаемого модуля.
Предупреждение
Файл схемы Gss.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. |
См. также
Основные понятия
Настройка начальных групп, команд, членов и разрешений
Управление доступом к функциональным областям