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


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

Вы можете определить группы безопасности для управления доступом к функциональным областям командного проекта. Помимо групп безопасности по умолчанию в 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 name="GroupName" isTeam="true | false" description="GroupDescription">
   <permissions> . . . </permissions>
   <members> . . . </members>
</group>

Следующие определения применяются к каждому атрибуту.

  • name — обязательный. Указывает имя группы. Имя группы должно быть длиной от 1 до 255 символов.

  • isTeam — необязательный. Определяет группу как команду, которая поддерживает небольшие группы для организации их работы в рамках командного проекта.

  • description: требуется, если группа не является командой. Задает описание группы. Описание отображается на страницах безопасности Team Web Access.

group — необязательный дочерний элемент элементов groups и Children.

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

groups

<groups>
   <group> . . . </group>
</groups>

groups — обязательный дочерний элемент элемента taskXml для подключаемого модуля групп и разрешений.

Содержит определения групп и разрешений.

iterationPath

<iterationPath path="IterationName" />

iterationPath — обязательный дочерний элемент элемента iterationPaths.

Задает веху команды.

iterationPaths

<iterationPaths backlogPath="BacklogPathName">
. . .      </iterationPaths>

iterationPaths — необязательный дочерний элемент элемента teamsettings.

Задает вехи команды.

member

<member name="MemberName" ></member>

Сведения о способах указания групп по умолчанию см. в разделе Макросы групп и группы по умолчанию, заданные в Team Foundation Server.

member — обязательный дочерний элемент элемента members.

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

members

<members>
   <member> . . . </member>
</members>

members — необязательный дочерний элемент элемента group.

Указывает коллекцию членов для добавления в группу.

permission

<permission name="PermissionName" class="ClassName" allow="true | false" />

Где следующие определения применяются к каждому атрибуту:

  • name — обязательный. Указывает имя разрешения. Дополнительные сведения см. в таблице в статье Настройка начальных групп, команд, членов и разрешений, которая описывает все комбинации классов и имен, которые можно указывать в качестве разрешения.

  • class — обязательный. Определяет класс или область, для которой предоставляется разрешение группы. Допустимы следующие значения: NAMESPACE (уровень коллекции), PROJECT (уровень проекта), CSS_NODE (узел области) и ITERATION_NODE (узел итераций).

  • allow — необязательный. Задает значение true или false, которое указывает, предоставляется ли разрешение.

permission — обязательный дочерний элемент элемента permissions.

Задает разрешение, применяемое к группе.

permissions

<permissions >
   <permission> . . . </permissions>
</permissions >

permissions — обязательный дочерний элемент элемента group.

Задает коллекцию разрешений, применяемых к группе.

teamsettings

<teamSettings areaPath="Area">
. . .
</teamSettings>

teamsettings — необязательный дочерний элемент элемента group.

Настраивает командный проект в качестве команды по умолчанию и при необходимости указывает вехи команды с помощью элемента iterationPath.

См. также

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

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

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

Управление пользователями или группами в TFS

Настройка шаблона процесса

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

Применение правила к полю рабочего элемента