Справочник по разрешениям Team Foundation Server

Разрешения определяют, что могут и чего не могут делать пользователи. Чтобы пользователи могли иметь доступ к ресурсам и командным проектам в Team Foundation Server (TFS), их необходимо добавить в командный проект или группу TFS. Общие сведения о том, как TFS управляет членством, разрешениями и доступом, см. в разделе Управление пользователями и группами в TFS.

Этот раздел описывает разрешения TFS и их назначение по умолчанию для всех встроенных групп TFS. Он также описывает средства, которые можно использовать для задания разрешений. Есть три категории встроенных групп, четыре уровня разрешений и пять состояний разрешений. Доступ каждого из пользователей к функциональной задаче зависит от явного или унаследованного состояния разрешений, назначенного самому пользователю или группе, к которой он относится.

Содержание раздела

  • Новые возможности разрешений

  • Средства задания разрешений

  • Встроенные группы TFS

    • Группы уровня сервера

    • Группы уровня коллекции

    • Группы уровня проекта

  • «Разрешить», «Отказать», «Не задано» и другие состояния разрешений

    • Наследование

    • Рекомендации по настройке разрешений

  • Разрешения уровня сервера

  • Разрешения уровня коллекции

  • Разрешения уровня проектов, тестов и объектов

    • Разрешения уровня проектов и тестов

    • Разрешения уровня построения

    • Запрос рабочего элемента

    • Добавление тегов

    • Уровень области для отслеживания рабочих элементов

    • Уровень итераций для отслеживания рабочих элементов

    • Team Foundation (подсистема контроля версий)

    • Репозиторий Git

  • Lab Management

  • Управление выпусками

Группы TFS по умолчанию и уровни разрешений

Чтобы назначить разрешения для Продукты SharePoint или SQL Server Reporting Services, см. разделы Добавление пользователей в командные проекты и Предоставление разрешений для просмотра и создания отчетов в TFS.

Новые возможности разрешений

Дополнения и изменения модели разрешений TFS указаны в следующей таблице. Они зависят от версии системы, установленной на сервере уровня приложений.

Версия TFS

Новые и измененные разрешения

TFS 2013,3

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

TFS 2013,2

Добавлены Разрешения на добавление тегов.

TFS 2013

Добавлены Разрешения репозитория Git.

Средства задания разрешений

Для задания разрешений можно использовать средства из следующей таблицы. В зависимости от того, где задаются разрешения (на сервере, в коллекции или проекте), используются разные средства. Team Web Access (TWA) используется для задания большинства разрешений пользователей и групп для доступа к командному проекту.

Уровень разрешений

Страница администрирования TWA или безопасность на уровне объектов

Team Explorer (примечание 1)

Консоль администрирования Team Foundation

Программа командной строки TFSSecurity

Программа командной строки Tf

Программа командной строки TFSLabConfig

Уровень сервера

флажок

флажок

Уровень коллекции

флажок

флажок

флажок

флажок

Уровень проектов и тестов

флажок

флажок

флажок

Уровень сборки

флажок

флажок

Запрос рабочего элемента

флажок

флажок

флажок

Добавление тегов

флажок

Уровень области для отслеживания рабочих элементов

флажок

флажок

флажок

Уровень итераций для отслеживания рабочих элементов

флажок

флажок

флажок

Team Foundation (подсистема контроля версий)

флажок

флажок

Репозиторий Git

флажок

флажок

Lab Management

флажок

Управление выпусками (2)

Примечания

  1. Некоторые варианты разрешений, доступные в Team Explorer, открывают пользовательский интерфейс Team Web Access.

  2. При добавлении в развертывание средств Release Management разрешениями можно управлять с помощью групп, определенных в Release Management, TFS или Active Directory. Управление разрешениями осуществляется с помощью клиента управления выпусками.

Еще одно средство управления членством пользователей в группах —средство TFSAdmin из CodePlex.

Программы командной строки, пространства имен и имена разрешений

При использовании программы командной строки TFSSecurity для управления разрешениями нужно указать пространство имен и имя разрешения. Они указаны в разделах ниже. Есть две группы пространств имен: коллекция проектов и сервер. Воспользуйтесь командой TFSSecurity /a для перечисления пространств имен. Чтобы получить набор разрешений, которые можно установить в пространстве имен, используйте TFSSecurity /a Namespace /collection:CollectionNameURL

Пространства имен коллекций проектов

Пространства имен серверов

TFSSecurity /a /collection:CollectionNameURL

Build
BuildAdministration
Chat
Collection
CSS
Discussion Threads
EventSubscription
Git Repositories
Identity
Iteration
Job
Project
ProjectServerAdministration
Registry
Server
ServiceHooks
StrongBox
Tagging
TeamLabSecurity
VersionControlItems
VersionControlPrivileges
WorkItemQueryFolders
WorkItemTrackingAdministration
WorkItemTrackingProvision
Workspaces

TFSSecurity /a /server:ServerNameURL

Catalog
CollectionManagement
Diagnostic
EventSubscription
Feature Availability
HostingAccount
Identity
Job
Lab
Registry
Server
StrongBox
Warehouse
WebAccess

Встроенные группы TFS

При установке TFS создаются четыре группы на уровне сервера. При создании коллекции проектов на уровне коллекции создаются семь групп, а для каждого создаваемого командного проекта на уровне этого проекта создаются шесть групп. Каждая из этих групп связана с набором разрешений по умолчанию. Вы не можете удалить группы уровня сервера по умолчанию, например «Администраторы Team Foundation».

Уровень сервера

Уровень коллекции

Уровень проекта

  • Службы веб-приложений SharePoint

  • Администраторы Team Foundation

  • Учетные записи Team Foundation Service

  • Допустимые пользователи Team Foundation

  • Администраторы коллекций проектов

  • Администраторы построения коллекций проектов

  • Учетные записи службы сборки коллекции проектов

  • Учетные записи служб коллекций проектов

  • Учетные записи службы прокси коллекции проектов

  • Учетные записи службы тестирования коллекции проектов

  • Допустимые пользователи коллекции проектов (примечание 1)

  • Администраторы сборки

  • Участники

  • Администраторы проектов

  • Допустимые пользователи проектов (примечание 1)

  • Читатели

  • Группа TeamProject (примечание 2)

Примечания

  1. Дополнительные сведения о группах допустимых пользователей см. в разделе Что такое допустимый пользователь? Как заполняются группы допустимых пользователей?.

  2. Командная группа создается на основе имени командного проекта. Например, при создании командного проекта с именем «Пример кода» будет создана командная группа с именем «Команда примера кода». Вы можете переименовать ее.

    Более того, когда вы создаете дополнительные команды, для каждой команды создается командная группа.

Серверным группам назначаются разрешения уровня сервера. Группам уровня коллекции назначаются разрешения, определенные для коллекции, проекта и объекта. Разрешения, назначенные группам уровня проекта, включают проектные и объектные.

Например, на следующем рисунке показаны разрешения, назначенные группе уровня проекта «Участник».

Разрешения по умолчанию для роли участника

Разрешения группы администраторов проекта включают назначенные группе «Участник» и не только.

Разрешения по умолчанию для роли администратора проекта

Группы уровня сервера

По умолчанию при установке TFS на уровне сервера для уровня приложений существуют следующие группы.

Имя группы (префикс: Team Foundation\

Разрешения

Учетные записи пользователей по умолчанию

Team Foundation Administrators   

Могут выполнять все операции в TFS. Членами данной группы должны быть только те пользователи, которым необходим полный административный контроль над TFS.

Группа Локальные администраторы (BUILTIN\Administrators) любого сервера, на котором размещаются службы приложений Team Foundation.

Группа Сервер\Team Foundation Service Accounts и участники группы \Project Server Integration Service Accounts.

Team Foundation Valid Users   

Есть доступ на чтение для исходного кода, рабочих элементов и определений сборки. Доступ к функциям TWA зависит от лицензии или группы уровня доступа, куда они назначены.

Важно!

Если установить значение Запретить или Не задано для разрешения Просмотр сведений уровня экземпляра у данной группы, пользователи более не будут иметь доступ к развертыванию.

Включает всех пользователей и группы, добавленные в TFS.

Членство данной группы нельзя изменять.

Team Foundation Service Accounts   

Имеет разрешения уровня службы для TFS.

Содержит учетную запись службы, введенную во время установки.

Данная группа должна содержать только учетные записи служб и не должна содержать учетные записи пользователей или группы, содержащие учетные записи пользователей. По умолчанию, данная группа является членом Администраторы Team Foundation.

Учетные записи службы интеграции Project Server   

Имеет разрешения уровня сервера для развертываний Project Server, в которых настроено взаимодействие с TFS. Кроме того, члены этой группы имеют некоторые разрешения доступа на уровне службы к экземпляру сервера TFS.

Данная группа должна содержать только учетные записи служб и не должна содержать учетные записи пользователей или группы, содержащие учетные записи пользователей. По умолчанию, данная группа является членом Администраторы Team Foundation.

SharePoint Web Application Services   

Имеют разрешения уровня службы на доступ к веб-приложениям SharePoint, настроенным для использования с TFS, а также некоторые разрешения уровня службы для доступа к TFS.

Данная группа должна содержать только учетные записи служб и не должна содержать учетные записи пользователей или группы, содержащие учетные записи пользователей. В отличие от группы «Учетные записи служб», данная группа не входит в группу Администраторы Team Foundation.

Team Foundation Proxy Service Accounts

Члены этой группы имеют разрешения уровня службы для прокси-сервера Team Foundation Server, а также некоторые разрешения уровня службы для TFS.

Данная группа должна содержать только учетные записи служб и не должна содержать учетные записи пользователей или группы, содержащие учетные записи пользователей.

Группы уровня коллекции

По умолчанию при настройке коллекции существуют следующие группы.

Имя группы (префикс: TeamProjectCollectionName\

Разрешения уровня группы

Назначения учетных записей

Project Collection Administrators   

Могут выполнять все операции в коллекции командных проектов.

Содержит группу Локальные администраторы (BUILTIN\Administrators) того сервера, на котором установлены службы уровня приложений для TFS. В эту группу также входят члены группы TeamProjectCollectionName\Service Accounts.

Членство в данной группе должно быть максимально ограничено и доступно только для узкого круга пользователей, которым необходимо предоставление полного административного контроля над коллекцией.

Project Collection Valid Users

Имеет доступ к командным проектам, определенным для коллекции.

Важно!

Если установить значение Запретить или Не задано для разрешения Просмотр информации на уровне коллекции у данной группы, пользователи более не будут иметь доступ к коллекции.

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

Project Collection Service Accounts  

Имеет разрешения уровня службы для коллекции и TFS.

Содержит учетную запись службы, введенную во время установки. Эта группа должна содержать только учетные записи служб и группы, которые содержат только учетные записи служб. По умолчанию эта группа входит в группы Администраторы Team Foundation и Учетные записи Team Foundation Service.

Project Collection Build Administrators   

Могут администрировать ресурсы сборки и разрешения для коллекции.

Членами данной группы должны быть только те пользователи, которым необходим полный административный контроль над серверами и службами сборок для этой коллекции.

Project Collection Build Service Accounts

Эти разрешения необходимы для запуска служб сборки для коллекции.

Эта группа должна содержать только учетные записи служб и группы, которые содержат только учетные записи служб.

Project Collection Proxy Service Accounts   

Эти разрешения необходимы для запуска прокси-службы коллекции.

Эта группа должна содержать только учетные записи служб и группы, которые содержат только учетные записи служб.

Project Collection Test Service Accounts   

Содержит разрешения службы тестирования для коллекции.

Эта группа должна содержать только учетные записи служб и группы, которые содержат только учетные записи служб.

Группы уровня проекта

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

Имя группы (префикс: ProjectName\)

Разрешения уровня группы

Дополнительные сведения

Project Administrators   

Могут администрировать все элементы командного проекта, но не могут создавать проекты.

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

Build Administrators   

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

Contributors   

Могут полностью участвовать в базе кода проекта и отслеживании рабочих элементов.

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

Readers

Можно просматривать проект, но нельзя вносить в него изменения.

Назначайте участникам, которым нужно просматривать ведущуюся работу.

ИмяКоманды   

Наследует разрешения, назначенные группе участников. Могут полностью участвовать в базе кода проекта и отслеживании рабочих элементов.

Группа команды по умолчанию создается при создании командного проекта и добавляется в группу участников для командного проекта. Все новые создаваемые команды также будут содержать созданную для них группу, добавленную в группу «Участники».

Помимо этих групп уровня проекта в каждом проекте в TFS имеются две группы уровня коллекции:

  • TeamProjectCollectionName**\Project Collection Administrators**

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

  • TeamProjectCollectionName**\Project Collection Build Service Accounts**

    Не удаляйте для этой группы разрешение Просмотр информации на уровне проекта и не устанавливайте его равным Запретить.

«Разрешить», «Отказать», «Не задано» и другие состояния разрешений

TFS использует для разрешений безопасности модель с минимальными возможностями. Это значит, что в случае, если пользователь входит в обе группы и одно и то же разрешение дано одной группе и запрещено другой группе, то запрет имеет приоритет. Есть несколько исключений для этого правила для тех, кто принадлежит к группам «Project Collection Administrator» и «Team Foundation Server Administrator».

Для разрешений можно задавать два явных состояния авторизации: Запретить и Разрешить. Кроме того, есть еще три состояния: Наследовать разрешение, Наследовать запрет и Не задано. Не задано— это неявное состояние запрета.

Разрешение

Авторизация

Разрешить

Явно дает пользователям возможность выполнять задачу, связанную с конкретным разрешением. Разрешение обычно наследуется из группы. Чтобы пользователи имели доступ к задаче, соответствующее разрешение должно быть задано как «Разрешить» или «Наследовать разрешение».

Запрет

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

Унаследованный запрет или разрешение

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

Не задано

Неявно запрещает пользователям выполнять действие, связанное с конкретным разрешением.

Так как разрешение не имеет явного значения Запретить или Разрешить, авторизация для данного разрешения может наследоваться от других групп, чьим участником является пользователь или группа.

По умолчанию большинство разрешений в TFS не имеют значения Запретить или Разрешить. Разрешения остаются не заданными.

Состояния разрешений следуют этим приоритетам:

  • В TFS разрешение Запретить имеет приоритет над всеми остальными значениями разрешений, включая Разрешить. Например, пользователь может быть участником двух групп проекта. В одной группе разрешение «Публиковать результаты теста» имеет значение «Запретить», а в другой — «Разрешить». Параметр «Запретить» имеет приоритет, и пользователь не может публиковать результаты теста.

    Исключения для этого правила:

    • Разрешение «Запретить» не имеет приоритета, если наследуется от иерархического родительского объекта. Эти функции поддерживают иерархическое задание разрешений:

      • Папки управления версиями для системы управления версиями Team Foundation

      • Репозитории Git

      • Узлы областей и итераций для отслеживания рабочих элементов

      • Общие запросы рабочих элементов и папки запросов

      Явные разрешения, заданные для определенного объекта, например папки управления версиями, репозитория или дочернего узла области, переопределяют разрешения, унаследованные от родительских объектов. Например, значение Запретить для папки управления версиями не переопределяется значением Разрешить, заданным для одной из вложенных в нее папок.

    • Когда пользователь принадлежит к группе администраторов, такой как «Администраторы коллекции проектов» или «Администраторы Team Foundation», если иное не указано в описании разрешения.

  • Унаследованное разрешение имеет приоритет выше, чем Не задано.

Наследование

Если разрешение для какого-либо пользователя или группы находится в состоянии Не задано, на этого пользователя или группу могут оказывать влияние явные состояния разрешений для групп, к которым относится данный пользователь или группа, так как разрешения в Team Foundation Server наследуются. Например, при просмотре разрешений для какого-либо пользователя или группы можно встретить как значение Разрешить, так и значение Унаследованное разрешение. Последнее разрешение унаследовано от некоторой другой группы, к которой относится данный пользователь или группа. В этом примере пользователь может относиться к группе на уровне проекта и к группе на уровне коллекции в проекте. Если одна из этих групп имеет для разрешения явно заданное значение Разрешить, а значение этого же разрешения для другой группы —Не задано, пользователь будет иметь Унаследованное разрешение для выполнения действий, управляемых данным разрешением. Пользователь наследует разрешения от обеих групп, и значение Разрешить имеет приоритет над значением Не задано.

Наследование разрешений

Чтобы выяснить, почему разрешение унаследовано, можно навести указатель на параметр разрешения и выбрать Почему?. Открывается новое окно. В нем отображается информация о наследовании для данного разрешения.

Страница "Безопасность", роль участника, разрешения

Некоторые диалоговые окна безопасности уровня объектов дают возможность выключить или включить наследование. Используйте этот параметр, чтобы выключить наследование для папок, общих запросов и других объектов.

Диалоговое окно безопасности с параметром наследования

Рекомендации по назначению разрешений

Что делать.

  • Используйте группы Windows при управлении большого числа пользователей.

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

  • При добавлении большого числа команд можно создать группу «Администраторы команд» в TFS и выделить ей подмножество разрешений администраторов проектов.

  • При добавлении команд учитывайте разрешения, назначаемые руководителям команд, скрам-мастерам и другим участникам команд, которым нужно создавать и изменять пути областей, пути итераций и запросы.

Чего не делать.

  • Не добавляйте в группу «Читатели» учетные записи, добавленные в группу администраторов проектов. Это приводит к тому, что нескольким разрешениям присваивается состояние «Запретить».

  • Не изменяйте назначения по умолчанию в группе допустимых пользователей. Если удалить разрешение на просмотр информации на уровне экземпляров для такой группы или задать для него значение «Запретить», пользователи в этой группе не будут иметь доступа к командному проекту, коллекции или развертыванию, в зависимости от выбранной группы.

  • Не назначайте разрешения, помеченные как «Назначать только учетным записям служб», учетным записям пользователей.

Разрешения уровня сервера

Разрешения уровня сервера дают доступ, затрагивающий все проекты и коллекции в развертывании. Разрешения уровня сервера можно задать в консоли администрирования Team Foundation или с помощью программы командной строки TFSSecurity.

Вы можете задать эти разрешения для пользователей и групп на уровне сервера, например для администраторов Team Foundation, а также для добавленных вами групп на уровне сервера.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Службы веб-приложений SharePoint

Администраторы Team Foundation

Учетные записи Team Foundation Service

Администрирование хранилище (примечание 1)

Администрирование

Хранилище

Может обрабатывать и изменять параметры хранилища данных или куба SQL Server Analysis с помощью веб-службы управления хранилищем.

флажок флажок

Создать коллекцию командных проектов

CreateCollection

CollectionManagement

Могут создавать и администрировать коллекции командных проектов.

флажок флажок

Удаление коллекции командных проектов (примечание 2)

DeleteCollection

CollectionManagement

Могут удалять коллекции командных проектов из развертывания.

флажок флажок

Изменить сведения на уровне экземпляра (примечание 3)

GENERIC_WRITE

tf: AdminConfiguration

tf: AdminConnections

Server

Могут изменять разрешения на уровне сервера для пользователей и групп TFS, а также добавлять и удалять группы уровня сервера в коллекции.

флажок флажок

Выполнять запросы от чужого имени

Impersonate

Server

Могут выполнять операции от имени других пользователей или служб. Назначайте только для учетных записей служб.

флажок флажок

Активировать события

TRIGGER_EVENT

Server

Могут активировать события оповещений TFS. Назначайте только учетным записям служб и участникам группы «Администраторы Team Foundation».

флажок флажок

Использовать все возможности веб-доступа (примечание 4)

FullAccess

Server

Могут использовать все функции TWA.

флажок флажок

Просматривать сведения на уровне экземпляра (примечание 5)

GENERIC_READ

Server

Могут просматривать участников групп на уровне сервера, а также их разрешения.

флажок флажок флажок

Примечания

  1. Дополнительные разрешения могут потребоваться для полной обработки или перестроения хранилища данных и куба Analysis.

  2. При удалении коллекции командных проектов база данных этой коллекции не удаляется из SQL Server.

  3. «Изменить сведения на уровне экземпляра» включает в себя возможность выполнения следующих задач для всех командных проектов, определенных во всех коллекциях проектов, которые заданы для этого экземпляра:

    • Добавлять и администрировать команды и все связанные с ними компоненты

    • Создавать и изменять области и итерации

    • Изменять политики возврата

    • Изменять запросы общих рабочих элементов

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

    • Создавать и изменять глобальные списки

    • Изменять подписки на события (электронная почта или SOAP)

    При настройке через меню разрешение Изменить сведения на уровне экземпляра также неявно разрешает пользователю изменять разрешения для системы управления версиями. Чтобы предоставить все вышеуказанные разрешения из командной строки, следует использовать команду tf.exe Permission для предоставления разрешений AdminConfiguration и AdminConnections в дополнение к команде GENERIC_WRITE.

  4. Если для разрешения «Использовать все функции веб-клиента» задано значение «Запретить», пользователь будет видеть только компоненты, разрешенные для группы Ограниченная (см. раздел Изменение уровней доступа). Значение «Запретить» переопределяет все неявные разрешения даже для учетных записей, являющихся членами административных групп, таких как «Администраторы Team Foundation».

  5. Разрешение «Просмотр сведений уровня экземпляра» также назначается группе допустимых пользователей Team Foundation.

Разрешения уровня коллекции

Разрешения на уровне коллекции дают авторизацию на задачи уровня коллекции, и их можно задавать для следующих пользователей и групп:

  • пользователи и группы уровня коллекции, например «Администраторы коллекции проектов»;

  • Группы уровня проектов, добавленные в коллекцию

  • Настраиваемые группы, добавленные в коллекцию

Вы можете задать разрешения на уровне коллекции на странице администрирования TWA для коллекции, на консоли администрирования Team Foundation или с помощью программы командной строки TFSSecurity либо программы командной строки tf. Все разрешения действуют в конкретной коллекции, для которой они заданы.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Учетные записи служб коллекций проектов

Учетные записи службы сборки коллекции проектов

Администраторы построения коллекций проектов

Администраторы коллекции проектов (примечание 1)

Администрирование разрешений ресурсов сборки

AdministerBuildResourcePermissions

BuildAdministration

Могут изменять разрешения для ресурсов сборки.

флажок

флажок флажок

Администрирование интеграции Project Server

AdministerProjectServer

ProjectServerAdministration

Могут настраивать интеграцию TFS и Project Server для синхронизации данных между этими двумя серверными продуктами.

флажок

флажок

Управление отложенными изменениями

AdminShelvesets

tf: AdminShelvesets

VersionControlPrivileges

Могут удалять наборы отложенных изменений, созданные другими пользователями.

флажок флажок

флажок

Управление рабочими областями

AdminWorkspaces

tf: AdminWorkspaces

VersionControlPrivileges

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

флажок флажок

флажок

Изменить параметры трассировки

DIAGNOSTIC_TRACE

Коллекция

Могут изменять параметры трассировки для сбора более детальной диагностики о веб-службах TFS.

флажок

Создание рабочей области (примечание 2)

tf: CreateWorkspace

VersionControlPrivileges

Могут создавать рабочие области управления версиями.

флажок

флажок флажок

Создание новых проектов (примечание 3)

CREATE_PROJECTS

Коллекция

Могут создавать проекты в коллекции командных проектов.

флажок

Удаление командных проектов (примечание 4)

Удаление

Project

Могут удалять командные проекты.

флажок

Изменение сведений на уровне коллекции (примечание 5)

GENERIC_WRITE

tf: AdminConfiguration

tf: AdminConnections

Коллекция

VersionControlPrivileges

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

флажок

флажок

Выполнять запросы от чужого имени

Impersonate

Server

Могут выполнять операции от имени других пользователей или служб. Назначайте только для учетных записей служб.

флажок

Управление ресурсами построения

ManageBuildResources

BuildAdministration

Могут управлять компьютерами, агентами и контроллерами сборки.

флажок флажок флажок флажок

Управление шаблонами процессов

MANAGE_TEMPLATE

Коллекция

Могут скачивать, создавать, изменять и отправлять шаблоны процессов.

флажок

Управление контроллерами тестов

MANAGE_TEST_CONTROLLERS

Коллекция

Могут регистрировать и отменять регистрацию контроллеров тестирования.

флажок

События активации (примечание 6)

TRIGGER_EVENT

Коллекция

Могут активировать события оповещений проекта в коллекции. Назначайте только для учетных записей служб.

флажок

флажок

Использовать ресурсы построения

UseBuildResources

BuildAdministration

Могут резервировать и выделять агенты сборки. Назначайте только учетным записям служб сборки.

флажок флажок

флажок

Просмотр ресурсов построения

ViewBuildResources

BuildAdministration

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

флажок флажок флажок флажок

Просмотр информации на уровне коллекции

GENERIC_READ

Коллекция

Пользователи с данным разрешением могут видеть участников групп на уровне коллекции, а также их разрешения.

флажок флажок флажок флажок

Просмотр сведений о синхронизации системы

SYNCHRONIZE_READ

Коллекция

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

флажок

флажок

Примечания.

  1. Кроме того, в эти группы TFS делаются следующие назначения:

    • Группа допустимых пользователей коллекции проектов: создание рабочей области, просмотр ресурсов сборки и просмотр информации на уровне коллекции.

    • Учетные записи прокси-службы коллекции проектов: создание рабочей области, просмотр ресурсов сборки и просмотр информации на уровне коллекции.

    • Учетные записи службы тестирования коллекции проектов: создание рабочей области, управление контроллерами тестирования, просмотр ресурсов сборки и просмотр информации на уровне коллекции.

  2. Разрешение Создание рабочей области предоставляется всем пользователям-членам группы допустимых пользователей в коллекции проектов.

  3. В зависимости от развертывания могут потребоваться другие разрешения. Также нужно запускать Visual Studio и Team Explorer от имени администратора, чтобы Мастер создания командных проектов сработал успешно.

  4. Удаление командного проекта приведет к удалению всех данных, связанных с этим проектом. Отменить удаление командного проекта невозможно, за исключением восстановления коллекции к точке до удаления этого проекта.

  5. «Изменить сведения на уровне коллекции» включает в себя возможность выполнения следующих задач для всех командных проектов, определенных в коллекции:

    • Добавлять и администрировать команды и все связанные с ними компоненты

    • Создавать и изменять области и итерации

    • Изменять политики возврата

    • Изменять запросы общих рабочих элементов

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

    • Создавать и изменять глобальные списки

    • Изменять подписки на события (электронная почта или SOAP) для событий уровня проекта или уровня коллекции

    При задании разрешения на Изменение информации на уровне коллекции как Разрешить через TWA пользователи смогут добавлять и удалять группы TFS на уровне коллекции. Также оно неявно дает пользователям возможность изменять разрешения управления версиями. Чтобы предоставить все вышеуказанные разрешения из командной строки, следует использовать команду tf.exe Permission для предоставления разрешений AdminConfiguration и AdminConnections в дополнение к команде GENERIC_WRITE.

  6. Пользователи с этим разрешением не смогут удалять встроенные группы уровня коллекции, например «Администраторы коллекции проектов».

  7. Добавление данного разрешения иным пользователям потенциально открывает возможность атак типа «отказ в обслуживании».

Разрешения уровня проектов, тестов и объектов

Разрешения уровня проекта применяются к пользователям и группам отдельного проекта. В проекте можно задавать разрешения для объектов, созданных в проекте, например областей, итераций, папок управления версиями, запросов и папок запросов, а также определений сборок. Вы можете задать разрешения уровня проектов и объектов для пользователей и групп, добавленных в командный проект или коллекцию.

Следующим встроенным группам уровня проекта и коллекции по умолчанию назначаются многие разрешения:

  • Группы уровня проекта: сборщики, участники, администраторы проектов и читатели

  • Группы уровня коллекции: администраторы коллекции проектов, учетные записи службы сборки коллекции проектов, учетные записи прокси-службы коллекции проектов, а также учетные записи службы тестирования коллекции проектов

Разрешения уровня проектов и тестов

Разрешения на уровне сервера можно задать на странице администрирования TWA для проекта или с помощью программы командной строки TFSSecurity. Все разрешения уровня проекта дают пользователям права на конкретный командный проект, для которого они заданы.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Администраторы сборки, участники и команды

Администраторы проектов (примечание 1)

Создание определения тега

Create

Добавление тегов

Могут добавлять теги в форме рабочего элемента.

флажок флажок

Создать выполнения тестов

PUBLISH_TEST_RESULTS

Project

Могут добавлять и удалять результаты тестов, а также добавлять и изменять выполнения тестов.

флажок флажок

Удалить командный проект

DELETE

Project

Могут удалить командный проект из TFS.

флажок

Удалить тестовые запуски

DELETE_TEST_RESULTS

Project

Могут удалять запланированные тесты.

флажок флажок

Изменение сведений на уровне проекта (примечание 2)

GENERIC_WRITE

Project

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

флажок

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

MANAGE_TEST_CONFIGURATIONS

Project

Могут создавать и удалять конфигурации тестов.

флажок флажок

Управление тестовыми средами

MANAGE_TEST_ENVIRONMENTS

Project

Пользователи с этим разрешением могут создавать и удалять тестовые среды.

флажок флажок

Просматривать информацию уровня проекта

GENERIC_READ

Project

Могут видеть участников групп на уровне проекта, а также их разрешения.

флажок флажок

Просмотр выполнений теста

VIEW_TEST_RESULTS

Project

Могут видеть планы тестирования по пути области командного проекта.

флажок флажок

Примечания.

  1. Кроме того, в эти группы TFS делаются следующие назначения:

    • Читатели: создание определения тега, просмотр сведений на уровне проекта и просмотр тестовых запусков.

    • Администраторы коллекции проектов: те же разрешения, что и у администраторов проектов, кроме удаления выполнения тестов.

    • Администраторы сборки коллекции проектов: те же разрешения, что и у администраторов проектов, кроме удаления выполнения тестов.

    • Учетные записи службы сборки коллекции проектов: создание тестовых запусков, управление конфигурациями тестов, управление тестовыми средами, просмотр сведений на уровне проекта, просмотр тестовых запусков.

    • Учетные записи службы тестирования коллекции проектов: создание тестовых запусков, управление конфигурациями тестов, управление тестовыми средами, просмотр сведений на уровне проекта.

  2. «Изменить сведения на уровне проекта» дает возможность выполнять следующие задачи для командного проекта:

    • Добавлять и администрировать команды и все связанные с ними компоненты

    • Создавать и изменять области и итерации

    • Изменять политики возврата

    • Изменять запросы общих рабочих элементов

    • Изменять ACL разрешений уровня проекта

    • Создавать и изменять глобальные списки

    • Изменять подписки на события (электронная почта или SOAP) для событий уровня проекта

Разрешения уровня построения

Вы можете задавать разрешения уровня сборки для всех сборок или определения сборки в контекстном меню определения сборки TWA или Team Explorer, а также с помощью программы командной строки TFSSecurity.

Имя разрешения (интерфейс)

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Участники

Авторы определений сборок или сборщики

Администраторы сборки

Администраторы проектов (примечание 1)

Администрирование разрешений сборки

AdministerBuildPermissions

Сборка

Могут администрировать разрешения сборки для других пользователей.

флажок

Удалить определение построения

DeleteBuildDefinition

Сборка

Могут удалять определения сборки для проекта.

флажок флажок флажок

Удалить построения

DeleteBuilds

Сборка

Могут удалять завершенные сборки.

флажок флажок флажок

Уничтожить построения

DestroyBuilds

Сборка

Могут безвозвратно удалять завершенные сборки.

флажок флажок

Редактировать определение сборки (примечание 2)

EditBuildDefinition

Сборка

Могут удалять и изменять определения сборки для проекта.

флажок флажок флажок

Изменять качество построения

EditBuildQuality

Сборка

Могут добавлять сведения о качестве сборки в Team Explorer или Team Web Access.

флажок

флажок флажок

Управление качеством построения

ManageBuildQualities

Сборка

Могут добавлять и удалять качества сборки.

флажок флажок

Управление очередью построений

ManageBuildQueue

Сборка

Могут отменять, изменять приоритет и откладывать сборки в очереди.

флажок флажок

Переопределение проверки возврата по построению (примечание 3)

OverrideBuildCheckInValidation

Сборка

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

Постановка построений в очередь

QueueBuilds

Сборка

Могут добавлять сборки в очередь через интерфейс Team Foundation Build или командную строку. Они могут также останавливать сборки, поставленные в очередь.

флажок флажок флажок флажок

Хранить бессрочно

RetainIndefinitely

Сборка

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

флажок флажок

Остановить построения

StopBuilds

Сборка

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

флажок флажок

Обновить сведения о построении

UpdateBuildInformation

Сборка

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

Просмотр определения построения

ViewBuildDefinition

Сборка

Могут просматривать определения сборок, созданные для командного проекта.

флажок флажок флажок флажок

Просмотреть построения

ViewBuilds

Сборка

Могут просматривать сборки в очереди и завершенные сборки командного проекта.

флажок флажок флажок флажок

Примечания.

  1. Кроме того, в эти встроенные группы делаются следующие назначения:

    • Читатели: просмотр определений сборок и просмотр сборок.

    • Администраторы коллекции проектов: все разрешения, кроме обновления сведений о сборках.

    • Администраторы сборки коллекции проектов: все разрешения, кроме переопределения проверки возврата по построению и обновления сведений о сборках.

    • Учетные записи службы сборки коллекции проектов: изменение качества сборок, управление очередью сборок, обновление сведений о сборках, переопределение проверки возврата по построению, сборки в очереди, просмотр определений сборок и просмотр сборок.

    • Учетные записи службы тестирования коллекции проектов: обновление сведений о сборках, просмотр определений сборок и просмотр сборок.

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

    Когда наследование включено, определение сборки соблюдает разрешения сборки, заданные на уровне проекта для группы или пользователя. Например, пользовательская группа Build Managers имеет разрешения для ручного помещения сборки в очередь для проекта Fabrikam. Любое определение сборки с включенным наследованием для проекта Fabrikam позволило бы члену группы Build Managers вручную поместить сборку в очередь.

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

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

Разрешения запроса рабочего элемента

Вы можете задать разрешения запросов рабочих элементов в контекстном меню общих запросов TWA или Team Explorer и с помощью программы командной строки TFSSecurity. Все разрешения действуют в конкретном запросе или папке запросов, для которых они заданы.

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

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Читатели, участники, администраторы сборки

Создатели-владельцы, администраторы проектов, администраторы коллекции проектов

Участие

CONTRIBUTE

WorkItemQueryFolders

Могут просматривать и изменять запрос или папку запросов.

флажок

Удаление

DELETE

WorkItemQueryFolders

Могут удалить запрос или папку запросов и их содержимое.

флажок

Управление разрешениями

MANAGEPERMISSIONS

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

флажок

Чтение

READ

WorkItemQueryFolders

Могут просматривать и использовать данный запрос или запросы в папке, но не могут изменять запрос или содержимое папки запросов.

флажок флажок

FullControl

WorkItemQueryFolders

Могут просматривать, изменять, удалять и контролировать разрешения для запроса или папки запросов и их содержимого.

флажок

Разрешения добавления тегов

Теги — это быстрый способ группировки и категоризации рабочих элементов. Разрешения на добавление тегов доступны в локальных развертываниях TFS, начиная с TFS 2013.2 и более поздних версий. Вы можете задать разрешение «Создание определений тегов» на странице «Безопасность» администрирования TWA. Для задания других разрешений используйте программу командной строки TFSSecurity.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Читатели

Участники

Администраторы проектов (примечание 1)

Создание определений тегов (примечание 2)

CREATE

Добавление тегов

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

флажок флажок

Удаление определений тегов (примечание 3, 4)

DELETE

Добавление тегов

Могут удалять теги из списка доступных тегов проекта.

флажок

Перечисление определений тегов (примечание 4, 5)

ENUMERATE

Добавление тегов

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

флажок флажок флажок

Обновление определений тегов (примечание 4)

UPDATE

Добавление тегов

Могут переименовывать теги с помощью API REST.

флажок флажок

Примечания.

  1. Кроме того, для группы «Учетные записи службы коллекции проектов» явно заданы все разрешения на добавление тегов.

  2. Читатели и участники наследуют разрешение Создание определений тегов, так как для него явно задано значение «Разрешить» у группы «Допустимые пользователи проекта».

    Хотя разрешение Создание определения тега отображается в параметрах безопасности на уровне командного проекта, разрешения добавления тегов фактически являются разрешениями уровня коллекции, которые действуют на уровне проекта, когда отображаются в пользовательском интерфейсе. Чтобы ограничить область действия разрешений добавления тегов отдельным командным проектом при использовании команды TFSSecurity, необходимо задать идентификатор GUID проекта как часть синтаксиса команды. В противном случае изменения будут применяться ко всей коллекции командных проектов. Об этом следует помнить при изменении или установке этих разрешений.

  3. Удаление тегов не поддерживается в пользовательском интерфейсе. Чтобы удалить тег, удалите назначения, которые связаны с тегом. TFS автоматически удаляет неназначенные теги через 3 дня неиспользования.

  4. Не отображается в пользовательский интерфейс; может быть задано только с помощью команды TFSSecurity.

  5. Разрешение «Просмотр сведений на уровне проекта» со значением «Разрешить» для читателей и участников неявно разрешает пользователям в этих группах просматривать существующие теги (разрешение Перечисление определений тегов).

Разрешения уровня области для отслеживания рабочих элементов

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

Разрешения уровня области можно определить и задать на странице администрирования TWA для областей или с помощью программы командной строки TFSSecurity. Все разрешения действуют в конкретном пути области, для которой они заданы.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Участники

Администраторы сборки

Учетные записи службы сборки коллекции проектов (примечание 1)

Создание дочерних проектов (примечание 2)

CREATE_CHILDREN

CSS

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

Удаление этого узла (примечание 2)

DELETE

CSS

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

Изменение этого узла (примечание 2)

GENERIC_WRITE

CSS

Могут задавать разрешения для этого узла и переименовывать узлы областей.

Изменение рабочих элементов этого узла (примечание 3)

WORK_ITEM_WRITE

CSS

Могут изменять рабочие элементы этого узла областей.

флажок флажок флажок

Управление планами тестирования (примечание 4)

MANAGE_TEST_PLANS

CSS

Могут изменять свойства плана тестирования, например настройки сборки и тестирования.

флажок флажок

Управление наборами тестов (примечание 4)

MANAGE_TEST_SUITES

CSS

Могут создавать и удалять наборы тестов, добавлять и удалять тестовые случаи из наборов тестов, изменять конфигурации тестирования, связанные с наборами тестов и модифицировать иерархию наборов тестов (перемещать набор тестов).

флажок флажок

Просмотреть разрешения для этого узла

GENERIC_READ

CSS

Могут просматривать настройки безопасности этого узла.

флажок флажок флажок

Просмотр рабочих элементов этого узла (примечание 5)

WORK_ITEM_READ

CSS

Могут просматривать (но не изменять) рабочие элементы в этом узле областей.

флажок флажок флажок

Примечания.

  1. Кроме того, в эти встроенные группы делаются следующие назначения:

    • Читатели: просмотр разрешений для этого узла и разрешения только на просмотр.

    • Учетные записи службы тестирования коллекции проектов: разрешения только на просмотр.

    • Администраторы Team Foundation, администраторы коллекций проектов и администраторы проектов: все разрешения CSS. Любой пользователь или любая группа с разрешениями «Изменить сведения на уровне экземпляра», «Изменить сведения на уровне коллекции» или «Изменить сведения на уровне проекта» могут создавать узлы областей и управлять ими.

    • Члены группы «Допустимые пользователи коллекции проектов», «Допустимые пользователи проекта», а также любой пользователь или любая группа с разрешением «Просмотр информации на уровне коллекции» или «Просмотр сведений на уровне проекта» могут просматривать разрешения любого узла области.

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

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

  4. Разрешение на управление наборами тестов добавлено в обновлении TFS 2013.3. Вы можете добавлять это разрешение всем добавленным вручную пользователям и группам, которым необходимо управлять планами тестирования или наборами тестов в узле областей.

  5. Если для разрешения «Просмотр рабочих элементов в этом узле» задано значение «Запретить», пользователь не сможет просматривать никакие рабочие элементы в этом узле области. Значение «Запретить» переопределяет все неявные разрешения даже для учетных записей, являющихся членами административных групп, таких как «Администраторы Team Foundation».

Разрешения уровня итерации для отслеживания рабочих элементов

Разрешения уровня итерации определяют доступ для создания и контроля путей итераций.

Разрешения на уровне итерации задаются для пользователей и групп, добавленных в командный проект или коллекцию, с помощью страницы администрирования TWA для итераций или программы командной строки TFSSecurity. Все разрешения действуют в конкретном пути итераций, для которого они заданы.

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

Вы можете предоставить администраторам команд, скрам-мастерам и лидерам команд разрешения на создание, изменение и удаление узлов.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Администраторы проектов (примечание 1)

Создание дочерних проектов (примечание 2)

CREATE_CHILDREN

Итерация

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

флажок

Удаление этого узла (примечание 2)

DELETE

Итерация

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

флажок

Изменение этого узла (примечание 2)

GENERIC_WRITE

Итерация

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

флажок

Просмотреть разрешения для этого узла (примечание 3)

GENERIC_READ

Итерация

Могут просматривать настройки безопасности этого узла.

флажок

Примечания.

  1. Администраторам Team Foundation и администраторам коллекций проектов назначаются все разрешения итераций. Любой пользователь или любая группа с разрешениями «Изменить сведения на уровне экземпляра», «Изменить сведения на уровне коллекции» или «Изменить сведения на уровне проекта» могут создавать узлы итераций и управлять ими.

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

  3. Члены группы «Допустимые пользователи коллекции проектов», «Допустимые пользователи проекта», а также любой пользователь или любая группа с разрешением «Просмотр информации на уровне коллекции» или «Просмотр сведений на уровне проекта» могут просматривать разрешения любого узла итерации.

Разрешения Team Foundation (подсистема контроля версий)

Вы можете задавать разрешения для файлов и папок исходного кода TFVC в контекстном меню определения файла или папки в TWA или Team Explorer, а также с помощью программы командной строки tf. Эти разрешения отображаются только у командных проектов, использующих TFVC для контроля версий.

В разрешениях управления версиями явное значение «Запретить» имеет преимущество над разрешениями группы администратора.

Имя разрешения

Действие TFSSecurity и разрешение tf

Пространство имен TFSSecurity

Описание

Участники

Администраторы сборки

Учетные записи службы сборки коллекции проектов

Администраторы проектов (примечание 1)

Администрирование меток

tf: LabelOther

VersionControlItems

Могут изменять и удалять метки, созданные другими пользователями.

флажок

Возврат (примечание 2)

tf: Checkin

VersionControlItems

Могут возвращать элементы и проверять все комментарии к зафиксированным наборам изменений. Ожидающие изменения вносятся во время возврата.

флажок флажок флажок флажок

Возврат изменений других пользователей

tf: CheckinOther

VersionControlItems

Могут возвращать изменения, сделанные другими пользователями. Ожидающие изменения вносятся во время возврата.

флажок флажок

Извлечение (примечание 2)

tf: PendChange

VersionControlItems

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

флажок флажок флажок флажок

Метка

tf: Label

VersionControlItems

Могут помечать элементы.

флажок флажок флажок флажок

Блокировка

tf: Lock

VersionControlItems

Могут блокировать и разблокировать папки и файлы.

флажок флажок флажок флажок

Управление ветвями

tf: ManageBranch

VersionControlItems

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

флажок флажок

Управление разрешениями (примечание 3)

tf: AdminProjectRights

VersionControlItems

Могут управлять разрешениями других пользователей для папок и файлов в системе управления версиями.

флажок

Слияние (примечание 4)

tf: Merge

VersionControlItems

Могут сливать изменения по этому пути.

флажок флажок флажок флажок

Чтение

tf: Read

VersionControlItems

Могут читать содержимое файла или папки. Если пользователь имеет разрешения Чтение для папки, он может просматривать содержимое папки и свойства файлов в ней, даже если он не имеет разрешения на открытие файлов.

флажок флажок флажок флажок

Пересмотр изменений других пользователей (примечание 5)

tf: ReviseOther

VersionControlItems

Могут изменять комментарии в возвращенных файлах, даже если другой пользователь вернул этот файл.

флажок

Отмена изменений других пользователей (примечание 5)

tf: UndoOther

VersionControlItems

Могут отменять ожидающие изменения других пользователей.

флажок

Разблокирование изменений других пользователей (примечание 5)

tf: UnlockOther

VersionControlItems

Могут разблокировать файлы, заблокированные другими пользователями.

флажок

Примечания.

  1. Кроме того, все разрешения для администраторов коллекции проектов и учетных записей службы коллекции проектов задаются как «Унаследованное разрешение».

    Группе читателей даются разрешения только на просмотр: чтение.

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

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

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

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

Разрешения репозитория Git

Вы можете установить разрешения для проекта Git, репозитория или ветви в контекстном меню или на странице администрирования в TWA, либо с помощью программы командной строки TFSSecurity. Эти разрешения отображаются только у командных проектов, использующих Git для контроля версий.

Вы можете установить все разрешения для проекта или репозитория. Вы можете установить разрешения на администрирование, участие и журнал перезаписи и удаления (принудительная отправка) для ветви. Репозитории и ветви наследуют разрешения из назначений, сделанных на уровне проекта.

По умолчанию группы читателей на уровнях проектов и коллекций имеют только разрешения на чтение.

Имя разрешения

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Участники

Администраторы сборки

Администраторы проектов (примечание 1)

Администрирование (примечание 2)

Администрирование

GitRepositories

Могут переименовать репозиторий, добавить дополнительные репозитории, проверить базу данных и задать разрешения для ветви. Они могут также удалить репозиторий, если имеют разрешение «Принудительно выполнить».

На уровне ветви вы можете установить разрешения для ветви и удалить ветвь.

флажок

Создание ветви

CreateBranch

GitRepositories

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

флажок флажок флажок

Участие

GenericContribute

GitRepositories

Могут заносить свои изменения в репозиторий.

На уровне ветви вы можете ввести их изменения в ветвь.

флажок флажок флажок

Управление заметками

ManageNote

GitRepositories

Могут отправлять заметки Git в репозиторий и изменять их. Они также могут удалять заметки из элементов, если имеют разрешение «Принудительно выполнить». Более подробные сведения о заметках см. здесь.

флажок флажок флажок

Чтение

GenericRead

GitRepositories

Могут клонировать, извлекать, запрашивать и просматривать содержимое репозитория, но не могут отправлять в него никакие вносимые ими изменения.

флажок флажок флажок

Журнал перезаписи и удаления (принудительная отправка)

ForcePush

GitRepositories

Могут принудительно выполнять обновление, перезаписывая или отбрасывая добавленное другими пользователями. Удаление фиксаций приводит к изменениям в журнале. Без данного разрешения пользователи не смогут отменять свои изменения. Разрешение «Журнал перезаписи и удаления» требуется также для удаления ветви.

Поскольку разрешение «Журнал перезаписи и удаления» позволяет пользователям изменять журнал или удалять из него фиксацию, пользователи с этим разрешением могут удалить изменение и его журнал с сервера. Они также могут изменить историю фиксаций репозитория сервера.

На уровне ветви могут перезаписывать и удалять журнал для ветви.

Создание тега

CreateTag

GitRepositories

Могут заносить теги в репозиторий, а также изменять и удалять теги элементов, если есть разрешение «Принудительно выполнить».

флажок флажок флажок

Примечания.

  1. Кроме того, все разрешения для администраторов коллекции проектов и учетных записей службы коллекции проектов задаются как «Унаследованное разрешение».

    Читатели и учетные записи службы сборки коллекции проектов получают разрешения только на просмотр: чтение.

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

Разрешения Lab Management

Разрешения Visual Studio Lab Management относятся к конкретным виртуальным машинам, средам и другим ресурсам. Кроме того, создателю объекта в Lab Management автоматически предоставляются все разрешения на этот объект. Данные разрешения можно настроить с помощью программы командной строки TFSLabConfig.

По умолчанию группы читателей на уровнях проектов и коллекций имеют только разрешения на просмотр лабораторных ресурсов (чтение).

Имя разрешения

TFSLabConfig разрешение

Описание

Участники (примечание 1)

Администраторы проектов

Служба сборки коллекций проектов

Администраторы Team Foundation, администраторы коллекций проектов

Удаление сред и виртуальных машин

Удаление

Могут удалять среды и шаблоны. Это разрешение проверяется для удаляемого объекта.

флажок

флажок

Удаление расположений лаборатории

DeleteLocation

Могут удалять расположения ресурсов Lab Management, включая группы узлов коллекции, общие папки библиотек коллекции, группы узлов проекта и общие папки библиотек проекта. Чтобы удалить расположение, необходимо иметь для него разрешение Удаление расположения лаборатории.

флажок

флажок

Изменение сред и виртуальных машин

Edit

Могут изменять среды и шаблоны. Это разрешение проверяется для изменяемого объекта.

флажок флажок флажок флажок

Операции среды

EnvironmentOps

Могут запускать, останавливать, приостанавливать и контролировать снимки, а также выполнять другие операции в среде.

флажок

флажок

Импорт виртуальной машины

Create

Могут импортировать виртуальную машину из общей папки библиотеки VMM. Это разрешение отличается от разрешения «Запись», поскольку только создает объект в Lab Management и не записывает ничего в группу узлов VMM или общую папку библиотеки.

флажок флажок

флажок

Управление разрешениями дочерних объектов

ManageChildPermissions

Могут изменять разрешения всех дочерних объектов Lab Management. Например, если пользователь имеет разрешение Управление разрешениями дочерних объектов для группы узлов командного проекта, он может изменять разрешения всех сред этой группы узлов командного проекта.

флажок

флажок

Управление расположениями лаборатории

ManageLocation

Могут изменять расположения ресурсов Lab Management, включая группы узлов коллекции, общие папки библиотек коллекции, группы узлов проекта и общие папки библиотек проекта. Чтобы изменить определенное расположение, необходимо иметь для него разрешение Управление расположением лаборатории. Это разрешение для расположений уровня коллекции (группы узлов коллекции и общие папки библиотек коллекции) позволяет также создавать расположения уровня проекта (группа узлов проекта и общая папка библиотеки проекта).

флажок

флажок

Управление разрешениями

ManagePermissions

Могут изменять разрешения объектов Lab Management. Это разрешение проверяется для объекта, разрешения которого изменяются.

флажок

Управление снимками

ManageSnapshots

Могут выполнять все задачи управления снимками для среды, включая создание снимка, возврат к снимку, переименование снимка, удаление снимка и чтение снимка.

флажок флажок флажок флажок

Приостановка среды

Pause

Могут приостанавливать среду.

флажок флажок флажок флажок

Запуск

Запуск

Могут запускать среду.

флажок флажок флажок флажок

Остановить

Остановить

Могут останавливать среду.

флажок флажок

флажок

Просмотр ресурсов лаборатории

Чтение

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

флажок флажок флажок флажок

Запись сред и виртуальных машин

Write

Могут создавать среды для группы размещения проектов. Пользователи с этим разрешением для общей папки библиотеки проекта могут сохранять среды и шаблоны.

флажок флажок флажок флажок

Примечания.

  1. Группе читателей даются разрешения только на просмотр: чтение.

Разрешения Release Management

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

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

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

  • Объект. Помимо использования ролей и групп, можно ограничивать доступ на изменение, просмотр и управление безопасностью путей выпуска и шаблонов выпуска. Это можно сделать с помощью вкладки «Безопасность» пути выпуска и с помощью страницы «Свойства» шаблона выпуска.

  • Утверждающие и проверяющие. Утверждающие и проверяющие должны подписывать каждый шаг или этап выпуска. Утверждающие и проверяющие назначаются при настройке пути выпуска. Все утверждающие и проверяющие должны быть добавлены в качестве пользователей или членов группы в Release Management.

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

Управление разрешениями Release Management осуществляется через клиент Release Management. Чтобы задать эти разрешения, откройте меню, указанное в столбце Где задается. Дополнительные сведения о том, как задавать эти разрешения, см в разделе Добавление пользователей, групп и прав доступа в Release Management. Указания по установке Release Management см. здесь.

Имя разрешения или роль пользователя

Где задается

Описание

Каждый

Роль диспетчера выпусков

Роль пользователя службы

Release Manager

Администрирование > страницы «Мой профиль» и «Новый пользователь»

Могут администрировать сервер Release Management Server, управлять подключением между TFS и Release Management и управлять следующими объектами:

  • пути выпуска и информация этапа, определенная в пути выпуска;

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

  • безопасность всех функциональных областей.

Кого стоит добавить: пользователей, которые администрируют сервер Release Management.

флажок

Пользователь службы

Администрирование > страницы «Мой профиль» и «Новый пользователь»

Могут управлять развертываниями и пулами веб-приложений.

Что стоит добавить: идентификаторы учетных записей служб, назначенные для запуска пулов серверных приложений и службы Windows агентов развертывания, а также для мониторинга служб Windows средствами Release Management.

флажок

Просмотр

Настроить приложения > Шаблон выпуска > Свойства

Настроить пути > Пути выпусков

Могут просматривать шаблоны выпуска или пути выпуска и при необходимости предоставлять доступ к определенным шаблонам выпуска и путям выпуска конкретным пользователям.

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

флажок флажок флажок

Edit

Настроить приложения > Шаблон выпуска > Свойства

Настроить пути > Пути выпусков

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

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

флажок флажок флажок

Можно осуществить выпуск

Настроить приложения > Шаблон выпуска > Свойства

Могут инициировать выпуск и указать, какие пользователи могут инициировать выпуск из шаблонов выпуска, которые они могут просматривать.

Кого стоит добавить: пользователей и группы, которые будут инициировать выпуск. С помощью данного разрешения вы можете указать, какие пользователи могут инициировать выпуск из шаблонов выпуска, которые они могут просматривать.

флажок флажок флажок

Управление безопасностью

Настроить приложения > Шаблон выпуска > Свойства

Настроить пути > Пути выпусков

Могут управлять тем, какие группы имеют разрешения на просмотр, изменение шаблонов выпуска и путей выпуска, а также на управление ими.

Кого стоит добавить: пользователей и группы, которые будут управлять тем, какие группы имеют разрешения на просмотр, изменение шаблонов выпуска и путей выпуска, а также на управление ими. С этим разрешением создатели шаблонов выпуска и путей выпуска могут определять, кто может просматривать, редактировать и выпускать конкретные шаблоны и пути.

флажок флажок флажок

Можно создать шаблон выпуска

Настроить приложения > Шаблон выпуска

Могут определять шаблоны выпусков.

Без этого разрешения кнопка Создать на вкладке Настроить приложения > Шаблон выпуска скрыта.

Кого стоит добавить: пользователей и группы, которым требуется создавать, запускать или утверждать выпуски.

флажок флажок флажок

Можно создать путь выпуска

Настроить пути > Пути выпусков

Могут определять этапы, процесс утверждения и безопасность путей выпуска.

Без этого разрешения кнопка Создать на вкладке Настроить пути > Пути выпусков скрыта.

Кого стоит добавить: пользователей и группы, которым требуется управлять конфигурацией выпуска, используемой при развертывании приложений.

флажок флажок флажок

Можно управлять средой

Настроить пути > Среды

Могут определять этапы, из которых состоит путь выпуска, а также задавать серверы и параметры безопасности для каждого этапа.

Без этого разрешения вкладка Настроить пути > Среды скрыта.

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

флажок флажок флажок

Можно управлять сервером

Настроить пути > Сервер

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

Без этого разрешения вкладка Настроить пути > Сервер скрыта.

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

флажок флажок флажок

Можно управлять инвентаризацией

Инвентаризация > Действия и инструменты

Могут определять настраиваемые средства и действия для развертывания приложений в вашей системе. С данным разрешением они могут просматривать, изменять и создавать действия и инструменты. См. раздел Действия выпуска по развертыванию приложения для Release Management.

Без данного разрешения вкладка Инвентаризация скрыта.

Кого стоит добавить: пользователей и группы, которые будут определять пользовательские инструменты и действия для развертывания приложений в системе. С данным разрешением они могут просматривать, изменять и создавать действия и инструменты при развертывании приложений.

флажок флажок флажок

Можно использовать специальный инструмент в действиях и компонентах

Настроить приложения > Компонент > Развертывание

Настроить приложения > Шаблон выпуска > Компонент > Развертывание

Могут редактировать поля Команда и Аргументы, когда выбран вариант Нет инструмента.

Без данного разрешения пользователи не могут изменять эти поля.

Кого стоит добавить: пользователей и группы, которые будут определять пути выпуска или шаблоны выпуска или которые будут инициировать выпуски. Это позволяет им редактировать поля Команда и Аргументы, когда выбран вариант Нет инструмента.

флажок флажок флажок

Изменить значения и целевые серверы

Настроить приложения > Шаблон выпуска

Могут изменять последовательность развертывания и переменные конфигурации отдельных выпусков и этапов.

Без этого разрешения информация этапа доступна только для чтения.

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

флажок флажок флажок

Изменить утверждения и среду

Настроить пути > Пути выпусков > Этапы

Могут изменять утверждения и среды для отдельных этапов.

Без этого разрешения информация этапа доступна только для чтения.

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

флажок флажок флажок

Вопросы и ответы

В. В чем разница между разрешениями и уровнями доступа?

О. Некоторые функции в Team Foundation Server доступны только пользователям, имеющим для них соответствующий уровень лицензирования. Управление доступом к этим функциям осуществляется не разрешениями, а членством в группах лицензирования для Team Web Access. См. раздел Изменение уровней доступа.

Вопрос. Какие разрешения назначаются администраторам команд?

Ответ. Администраторы команд получают несколько разрешений на основе ролей, которые описаны здесь.

Вопрос. Какие разрешения сопоставлены с оповещениями?

Ответ. Разрешения пользовательского интерфейса, сопоставленные с оповещениями, на которые можно подписаться посредством TWA, отсутствуют.

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

Для управления разрешениями оповещений можно использовать TFSSecurity на уровне коллекции. Служба событий Team Foundation обеспечивает гибкость и расширяемость.

Действие TFSSecurity

Пространство имен TFSSecurity

Описание

Администраторы коллекции проектов и учетные записи службы коллекции проектов

CREATE_SOAP_SUBSCRIPTION

EventSubscription

Могут создать подписку на веб-службу на базе SOAP.

флажок

GENERIC_READ

EventSubscription

Могут просмотреть события подписки, определенные для командного проекта.

флажок

GENERIC_WRITE

EventSubscription

Могут создать оповещения для других пользователей или для команды.

флажок

UNSUBSCRIBE

EventSubscription

Могут отменить подписку на события.

флажок

Вопрос. Какие дополнительные функции и средства используют группы?

Ответ. Следующие функции используют встроенные и настраиваемые группы TFS:

В. Что такое допустимый пользователь?Как заполняются группы допустимых пользователей?

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

  • Сервер\Допустимые пользователи Team Foundation: все участники, добавленные в группы уровня сервера.

  • Имя коллекции проектов\Допустимые пользователи коллекции проектов: все участники, добавленные в группы уровня коллекции проектов.

  • Имя командного проекта\Допустимые пользователи проекта: все участники, добавленные в группы уровня проекта.

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

Это значит, что все пользователи, добавленные в один командный проект, смогут видеть объекты в других командных проектах коллекции. Если нужно ограничить доступ на просмотр, задайте разрешения для узла пути областей. Дополнительные сведения см. в разделе Ограничение доступа к функциям и задачам.

Если удалить разрешение на просмотр информации на уровне экземпляров для такой группы или задать для него значение «Запретить», пользователи в этой группе не будут иметь доступа к командному проекту, коллекции или развертыванию, в зависимости от выбранной группы.

Кроме того, элемент VALIDUSER можно использовать для управления доступом на отслеживание рабочих элементов.

В. Как управлять разрешениями на доступ к отчетам на портале проекта?

О. Сведения о задании разрешений в службах Reporting Services и Продукты SharePoint для пользователей Team Foundation Server см. в разделах Задание разрешений администратора для коллекций командных проектов и Задание разрешений администратора для Team Foundation Server.

Пошаговые примеры создания настраиваемых групп, настройки разрешений для управления доступом к ресурсам и других параметров см. в разделе Ограничение доступа к функциям и задачам.