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


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

Вы можете определить группы безопасности, которые служат для управления доступом к функциональным областям в командном проекте. Помимо групп безопасности по умолчанию в 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 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