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


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

Файл подключаемого модуля групп и разрешений позволяет задать начальные параметры безопасности для командного проекта. Для этого нужно определить задачи создания групп безопасности и вложенных групп, включения участников в группы, предоставления каждой группе одних разрешений и отказа в других. Помимо выполнения таких задач, существует возможность задавать начальные параметры безопасности для областей уровня коллекций, проектов, классификации проектов и подписок на события.

Шаблоны процессов 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.

  • Группы проекта, ранее созданные в файле groupsandpermissions.xml (например, [$$PROJECTNAME$$]\Contributors).

  • Группы и пользователи, определенные в Active Directory, которые следует указывать в следующем формате:

    • домен\имя пользователя;

    • домен\имя группы.

Дополнительные сведения о формате, используемом для определения групп по умолчанию, см. ниже в подразделе Группы, определенные по умолчанию в Team Foundation Server.

permission

name

Определяет, какое разрешение применяется. Перечень допустимых разрешений см. в следующих подразделах далее в этом разделе:

  • Предоставление разрешений уровня коллекции

  • Предоставление разрешений уровня проекта

  • Предоставление разрешений для управления уровня области и итерации

class

Определяет класс или область, для которых дается групповое разрешение. Допустимы следующие значения.

  • NAMESPACE. Определяет разрешения уровня коллекции.

  • PROJECT. Определяет разрешения уровня проекта.

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

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

  • EVENT_SUBSCRIPTION. Определяет для командного проекта разрешения на просмотр, подписку, отказ от подписки и изменение параметров оповещений.

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

Изменить сведения на уровне коллекции. Позволяет редактировать в командном проекте разрешения уровня коллекции для пользователей и групп. Пользователи с данным разрешением могут выполнять следующие действия:

  • добавлять, удалять и переименовывать группы приложений уровня коллекции в коллекции Team Foundation Server;

    ПримечаниеПримечание
    Группы уровня коллекции по умолчанию, например "Администраторы коллекции проектов", удалить нельзя.
  • добавлять и удалять пользователей и группы в группе пользователей Windows или других группах приложений в Team Foundation Server (уровня сервера);

  • изменять разрешения уровня коллекции для пользователей и групп.

Кроме того, пользователи с данным разрешением могут изменять разрешения и имеют право на запись в любые файлы при управлении версиями, за исключением случаев, когда другие разрешения явно ограничивают их права доступа.

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

Позволяет отменить подписку на оповещения.

См. также

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

Подключаемый модуль групп и разрешений

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

Настройка функциональных областей внутри шаблона процесса

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

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

Управление разрешением на создание или изменение рабочих элементов