Управление доступом к функциональным областям
Можно настроить начальные параметры безопасности для следующих функциональных областей командного проекта: командные запросы, Team Foundation (подсистема контроля версий), Team Foundation Build и Visual Studio Lab Management. Шаблоны процессов Microsoft Solutions Framework (MSF) назначают некоторые разрешения предусмотренным по умолчанию группам безопасности. Эти назначения можно изменить, настроив файл подключаемого модуля для соответствующей функциональной области.
Сведения о настройке групп безопасности для Visual Studio Team Foundation Server см. в разделе Настройка начальных групп, членов и разрешений.
В этом разделе
Назначение разрешений функциональным областям с использованием элемента функционального разрешения
Назначение разрешений для запросов рабочих элементов
Назначение разрешений для управления версиями
Назначение разрешений для построения
Назначение разрешений для управления лабораториями
Дополнительные сведения об администрировании пользователей и групп и управлении доступом к Visual Studio Application Lifecycle Management (ALM) см. в разделе Настройка пользователей, групп и разрешений.
Назначение разрешений функциональным областям с использованием элемента функционального разрешения
Чтобы предоставить или отменить разрешения в функциональных областях группе безопасности в Team Foundation Server, группе Windows или удостоверению Windows, можно воспользоваться функциональным элементом permission. Этот элемент используется в файлах подключаемых модулей для отслеживания рабочих элементов, Team Foundation (подсистема контроля версий), Team Foundation Build и Lab Management. Элемент разрешения должен быть инкапсулирован соответствующим контейнером — элементом permissions. Для функционального элемента permission используется следующая синтаксическая структура.
<permission allow="PermissionName" identity="GroupName"/>
<permission deny="PermissionName" identity="GroupName"/>
<permission allow="PermissionName" deny="PermissionName" identity="GroupName"/>
В следующей таблице описаны атрибуты функционального элемента permission.
Атрибут |
Описание |
---|---|
allow |
Определяет предоставляемые разрешения. Разрешения указываются в виде текста, разделенного запятыми. Имена разрешений, определенных для каждой функциональной области, см. в следующих подразделах этого раздела.
|
deny |
Определяет отозванные разрешения. Разрешения указываются в виде текста, разделенного запятыми. ![]()
Запрещенные разрешения имеют приоритет над разрешенными.
|
identity |
Указывает группу безопасности Team Foundation Server, группу Windows или удостоверение Windows, к которому следует применить разрешения. Сведения о формате задания групп см. выше в подразделе "Группы по умолчанию, определенные в Team Foundation Server" раздела Настройка начальных групп, членов и разрешений. |
В следующем примере показано предоставление разрешений членам группы Участники для просмотра построений и определений построения, а также для постановки построений в очередь и редактирования качества построений.
<taskXml>
<permission allow="Read, PendChange, Checkin, Label, Lock" identity="[$$PROJECTNAME$$]\Contributors"/>
</taskXml>
Примечание
Если для удостоверения не удается найти разрешения во время выполнения, производится его поиск в других группах, в которые входит удостоверение.Если разрешение не удается найти, по умолчанию оно отклоняется.
Назначение разрешений для запросов рабочих элементов
В файле подключаемого модуля рабочих элементов можно назначить разрешения для управления доступом к папкам командных запросов. Разрешения для папок запросов относятся только к запросам и папкам запросов. Можно предоставить доступ пользователям и группам Windows или группам по умолчанию, определенным в Team Foundation Server.
Эти разрешения назначаются с использованием функционального элемента permission, как показано в следующем примере.
<Permission allow="Read, Contribute, Delete, ManagePermissions, FullControl" identity="$$CREATOR_OWNER$$" />
Примечание
После создания командного проекта для установки разрешений можно щелкнуть правой кнопкой папку запросов или запрос в командном обозревателе и выбрать Безопасность.Дополнительные сведения см. в разделе Организация и настройка разрешений для запросов рабочих элементов.
В следующей таблице описаны разрешения, управляющие доступом к папкам запросов и запросам. В таблице также приведены разрешения по умолчанию, предоставляемые в шаблонах процессов MSF. По умолчанию создатели или владельцы запросов и папок запросов имеют полный контроль над управлением запросами, созданными ими или принадлежащими им.
Разрешение |
Описание |
Читатели, участники, построители |
Владельцы-создатели, группа администраторов проекта, администраторы коллекции проектов |
---|---|---|---|
Read |
Чтение. Позволяет просматривать и выполнять запрос или просматривать папку запросов и ее содержимое |
![]() |
![]() |
Contribute |
Участие. Позволяет просматривать и редактировать запрос или папку запросов и ее содержимое |
![]() |
|
Delete |
Удаление. Позволяет просматривать, редактировать и удалять запрос или папку запросов и ее содержимое |
![]() |
|
ManagePermissions |
Управление разрешениями. Позволяет управлять разрешениями для запроса или папки запросов и ее содержимого |
![]() |
|
FullControl |
Полный доступ. Позволяет просматривать, редактировать и удалять запрос или папку запросов и ее содержимое, а также управлять разрешениями для запроса или папки запросов и ее содержимого |
![]() |
Назначение разрешений для управления версиями
Можно назначить разрешения, управляющие доступом к файлам и папкам исходного кода, изменяя файл подключаемого модуля для управления версиями. Разрешения системы управления версиями применяются к файлам и папкам исходного кода. Можно предоставить доступ пользователям и группам Windows или группам по умолчанию, определенным в Team Foundation Server.
Эти разрешения назначаются с использованием функционального элемента permission, как показано в следующем примере.
<permission allow="Read, PendChange, Checkin, Label, Lock, Merge" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
Примечание
После создания командного проекта эти разрешения можно настроить, щелкнув правой кнопкой мыши папку или файл в проводнике Обозреватель управления исходным кодом, выбрав команду Свойства и перейдя на вкладку Безопасность.На этой вкладке можно щелкнуть пользователя или группу, для которых нужно изменить разрешения, и затем отредактировать разрешения, перечисленные под заголовком Разрешения.Данные разрешения также можно настроить с помощью инструмента командной строки tf для системы управления версиями или инструмента командной строки TFSSecurity.Дополнительные сведения см. в разделе Управление доступом к системе управления версиями Team Foundation.
В следующей таблице описаны разрешения, управляющие доступом к файлам и папкам исходного кода. В таблице также приведены разрешения по умолчанию, предоставляемые в шаблонах процессов MSF.
Разрешение |
Описание |
Читатели |
Участники |
Конструкторы |
Группа администраторов проекта |
---|---|---|---|---|---|
Read |
Чтение. Позволяет отображать содержимое файла или папки. Если пользователь имеет разрешения Чтение для папки (но не для хранимых в ней файлов), он может отображать имена и свойства этих файлов, но не может открывать их. |
![]() |
![]() |
![]() |
![]() |
PendChange |
Извлечение. Позволяет извлекать и вносить ожидающее изменение в элемент. Примеры ожидающих изменений: добавление, изменение, переименование, отмена удаления, ветвление и слияние файла. |
![]() |
![]() |
![]() |
|
Merge |
Слияние. Позволяет осуществлять слияние элементов по пути, для которого имеются разрешения. |
![]() |
![]() |
![]() |
|
Checkin |
Возврат. Позволяет возвращать элементы и просматривать любые внесенные комментарии к набору изменений. Ожидающие изменения фиксируются при возврате элемента пользователем. |
![]() |
![]() |
![]() |
|
Label |
Метка. Позволяет помечать элементы. |
![]() |
![]() |
![]() |
|
Lock |
Блокировка. Позволяет блокировать элемент, делая невозможным его обновление другими пользователями. |
![]() |
![]() |
![]() |
|
ReviseOther |
Анализ изменений другого пользователя. Возможность изменять содержимое комментариев чужого набора изменений и примечаний при возврате. |
![]() |
|||
UnlockOther |
Разблокировка изменений другого пользователя. Возможность снятия чужой блокировки. |
![]() |
|||
UndoOther |
Отмена изменений другого пользователя. Возможность отмены чужых ожидающих изменений. |
![]() |
|||
LabelOther |
Управление метками. Возможность изменений чужых меток. |
![]() |
|||
AdminProjectRights |
Управление разрешениями. Возможность настройки параметров безопасности для управления версиями. |
![]() |
|||
CheckinOther |
Возврат изменений другого пользователя. Возможность возврата от имени другого пользователя. Это разрешение требуется для программ преобразования. |
![]() |
|||
ManageBranch |
Управление ветвями. Пользователи с таким разрешением для определенного пути могу выполнять преобразование любой папки по этому пути в ветвь. Пользователи с таким разрешением для ветви могут также изменять ее свойства и родительскую ветвь, а также преобразовывать ее в папку. Пользователи с таким разрешением могут разветвлять эту ветвь, только если они уже имеют разрешение Объединить для целевого пути. Пользователи не могут создавать ответвления от ветви, для которой они не имеют разрешения Управление ветвями. |
![]() |
Назначение разрешений для построения
Можно назначить разрешения, управляющие доступом к действиям построения, изменяя файл подключаемого модуля для построения. Можно предоставить доступ к пользователям и группам в Windows и группам в Team Foundation Server. Сведения о формате задания групп см. выше в подразделе "Группы по умолчанию, определенные в Team Foundation Server" раздела Настройка начальных групп, членов и разрешений.
Эти разрешения назначаются с использованием функционального элемента permission, как показано в следующем примере.
<Permission allow="ViewBuildDefinition, QueueBuilds, ViewBuilds, EditBuildQuality" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
Примечание
После создания командного проекта можно задать эти разрешения, открыв проект в Сред. Командный обозреватель, щелкнув правой кнопкой мыши Построения и выбрав Безопасность.Можно применить разрешения к определенному определению построения, щелкнув его правой кнопкой мыши и выбрав Безопасность.Если требуется применить разрешения к папке построения, щелкните правой кнопкой мыши эту папку и выберите Безопасность.Кроме того, данные разрешения можно настроить с помощью программы командной строки TFSSecurity.Дополнительные сведения см. в разделе Управление разрешениями.
В следующей таблице описаны разрешения, которые можно назначить для управления доступом к функциям построения командного проекта. В таблице также приведены разрешения по умолчанию, которые входят в шаблоны процессов MSF.
Примечание
Разрешение Переопределение проверки возврата по построению следует присваивать только учетным записям служб для служб построения и администраторам построения, ответственным за качество кода.Дополнительные сведения см. в разделе Возврат ожидающих изменений под управлением построения с условным возвратом.
Разрешение |
Описание |
Читатели |
Участники |
Конструкторы |
Администраторы проектов |
Администраторы коллекций проектов |
---|---|---|---|---|---|---|
ViewBuildDefinition |
Просмотр определения построения. Позволяет просматривать определения построения, созданные для командного проекта. |
![]() |
![]() |
![]() |
![]() |
![]() |
ViewBuilds |
Просмотр построений. Позволяет просматривать поставленные в очередь и завершенные построения для данного командного проекта. |
![]() |
![]() |
![]() |
![]() |
![]() |
EditBuildQuality |
Изменение качества построения. Позволяет добавлять сведения о качестве построения через интерфейс для Team Foundation Build. |
![]() |
![]() |
![]() |
![]() |
|
QueueBuilds |
Постановка построений в очередь. Позволяет помещать построение в очередь через интерфейс Team Foundation Build или из командной строки. |
![]() |
![]() |
![]() |
![]() |
|
DeleteBuildDefinition |
Удаление определения построения. Позволяет удалять определения построения. |
![]() |
![]() |
![]() |
||
DeleteBuilds |
Удаление построений. Позволяет удалять завершенное построение. |
![]() |
![]() |
![]() |
||
DestroyBuilds |
Уничтожение построений. Позволяет окончательно удалять завершенное построение. |
![]() |
![]() |
![]() |
||
EditBuildDefinition |
Изменение определения построения. Позволяет создавать и изменять определения построений. |
![]() |
![]() |
![]() |
||
ManageBuildQualities |
Управление свойствами построения. Позволяет добавлять или удалять следующие качества построений: Готово к развертыванию, Отклонено или Исследуется. Дополнительные сведения см. в разделе Добавление и удаление значений качества построения. |
![]() |
![]() |
![]() |
||
ManageBuildQueue |
Управление очередью построений. Позволяет отменять построения в очереди, изменять их приоритет или откладывать их. |
![]() |
![]() |
![]() |
||
RetainIndefinitely |
Хранить бессрочно. Позволяет помечать построение, чтобы оно не удалялось автоматически соответствующей политикой хранения. |
![]() |
![]() |
![]() |
||
StopBuilds |
Остановка построений. Позволяет остановить выполняемое построение. |
![]() |
![]() |
![]() |
||
OverrideBuildCheckInValidation |
Переопределение проверки возврата по построению. Позволяет фиксировать набор изменений, влияющих на условное определение построения, так чтобы система вначале не включала их в набор отложенных изменений и не выполняла их построение. Дополнительные сведения см. в разделе Возврат ожидающих изменений под управлением построения с условным возвратом. |
![]() |
||||
UpdateBuildInformation |
Обновление сведений о построении. Позволяет добавить сведения о качестве построения. Данное разрешение должно присваиваться только учетным записям служб. |
Назначение разрешений для управления лабораториями
Контроль доступа к действиям в Lab Management осуществляется изменением файла подключаемого модуля Lab. Разрешения для Lab Management относятся к конкретным виртуальным машинам, средам и другим ресурсам. Можно предоставить доступ к пользователям и группам в Windows и группам в Team Foundation Server. Эти разрешения назначаются с использованием функционального элемента permission, как показано в следующем примере.
<permission allow="Read, Create, Write, Edit, Start, Stop, ManageSnapshots, Pause" identity="[$$PROJECTNAME$$]\@@Contributors@@" />
Примечание
Разрешения для Lab Management можно задать с помощью инструмента командной строки TFSLabConfig.Для отображения сведений о конкретном ресурсе лаборатории необходимо иметь на этот ресурс разрешение Чтение.Для удаления расположения необходимо иметь на это расположение разрешение Удаление расположений лаборатории. Дополнительные сведения см. в разделе Команда Permissions TFSLabConfig.
В следующей таблице описаны разрешения, которые можно назначить для контроля доступа к Visual Studio Lab Management. В таблице также указаны назначенные по умолчанию разрешения, которые входят в шаблоны процессов MSF.
Разрешение |
Описание |
Читатели |
Участники |
Группа учетных записей служб построения коллекций проектов |
Группа администраторов командного проекта |
Группа администраторов коллекции проекта |
---|---|---|---|---|---|---|
Read |
Просмотр ресурсов лаборатории. Позволяет просматривать сведения для различных ресурсов Lab Management, включая группы узлов коллекции, группы узлов проекта и среды. |
![]() |
![]() |
![]() |
![]() |
![]() |
Create |
Импорт виртуальной машины. Позволяет импортировать виртуальную машину из общей папки библиотеки диспетчера виртуальных машин (VMM). Это разрешение отличается от разрешения "Запись", поскольку пользователь может только создать объект в Lab Management, но не может ничего записывать в группе узлов или общей папке библиотеки VMM. |
![]() |
![]() |
![]() |
||
Write |
Запись сред и виртуальных машин. Позволяет создавать среды. Пользователи, имеющие это разрешение для общей папки библиотеки проекта, могут сохранять среды и виртуальные машины. |
![]() |
![]() |
![]() |
![]() |
|
Edit |
Изменение сред и виртуальных машин. Позволяет изменять среды и виртуальные машины. Это разрешение проверяется для изменяемого объекта. |
![]() |
![]() |
![]() |
![]() |
|
Start |
Запуск. Позволяет запустить среду. |
![]() |
![]() |
![]() |
![]() |
|
Stop |
Остановка. Позволяет остановить среду. |
![]() |
![]() |
![]() |
![]() |
|
Pause |
Пауза. Позволяет приостановить среду. |
![]() |
![]() |
![]() |
||
ManageSnapshots |
Управление снимками. Позволяет выполнять все задачи по управлению снимками, включая создание снимка, возврат к снимку, переименование, удаление и чтение снимка. |
![]() |
![]() |
![]() |
![]() |
|
Delete |
Удаление сред и виртуальных машин. Позволяет удалять среды и виртуальные машины. Это разрешение проверяется для удаляемого объекта. |
![]() |
![]() |
|||
ManageLocation |
Управление расположениями лабораторий. Позволяет изменять расположения ресурсов Lab Management, включая группы узлов коллекции, проекты библиотек коллекции, группы узлов проекта и общие папки библиотек проекта. Это разрешение для расположений уровня коллекции (группы узлов коллекции и общие папки библиотеки коллекции) позволяет также создавать расположения уровня проекта (группы узлов проекта и общие папки библиотеки проекта). |
![]() |
![]() |
|||
DeleteLocation |
Удаление расположений лабораторий. Позволяет удалять расположения ресурсов Lab Management, включая группы узлов коллекции, общие папки библиотек коллекции, группы узлов проекта и общие папки библиотек проекта. |
![]() |
![]() |
|||
ManageChildPermissions |
Управление разрешениями дочерних объектов. Позволяет изменять разрешения всех дочерних объектов Lab Management. Например, если пользователь имеет это разрешение для группы узлов командного проекта, он или она может изменять разрешения всех сред этой группы. |
![]() |
![]() |
|||
ManagePermissions |
Управление разрешениями. Позволяет изменять разрешения для объекта Lab Management. Это разрешение проверяется для объекта, разрешения которого изменяются. |
![]() |
||||
EnvironmentOps |
Операции среды. Позволяет запускать, останавливать, приостанавливать снимки и управлять ими, а также выполнять другие операции в среде. |
См. также
Задачи
Управление доступом к системе управления версиями Team Foundation
Основные понятия
Настройка функциональных областей внутри шаблона процесса