Я хочу запретить/запретить пользователям извлекать/извлекать файлы в TFS. Мы используем TFVC с 2017.1 TFS.

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

1
Sam 24 Окт 2019 в 22:22
Привет, Сэм, какие-нибудь новости по этому тикету, ты разобрался со своей проблемой? jessehouwing прав, у вас была возможность реализовать последний комментарий, который он предложил? Вы смогли решить?
 – 
PatrickLu-MSFT
4 Ноя 2019 в 12:08
Нет, я работаю над частью сценария и держу в курсе прогресса. Спасибо за продолжение и спасибо @jessehouwing за ответы с альтернативами.
 – 
Sam
5 Ноя 2019 в 19:24
Привет Сэм, спасибо за ваш любезный ответ. Как только вы разберетесь с проблемой, не стесняйтесь поделиться ею здесь, что также поможет другим в сообществе.
 – 
PatrickLu-MSFT
7 Ноя 2019 в 04:32

1 ответ

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

https://account.visualstudio.com/project-name/_settings/repositories?itemPath=%24%2Fproject-name

Затем измените itemPath на $/. Это должно вызвать страницу безопасности для всей коллекции:

https://account.visualstudio.com/project-name/_settings/repositories?itemPath=%24%2F

enter image description here

Скриншот из Azure DevOps, TFS 2017 у меня больше нет под рукой.

Или используйте обозреватель управления исходным кодом Team Explorer, чтобы открыть диалоговое окно «Безопасность» в Visual Studio.

enter image description here

Установите соответствующие запреты здесь, и это должно каскадироваться вниз.

1
jessehouwing 25 Окт 2019 в 00:41
Я тоже думал об этом. Но проблема здесь в группах. Мы используем группы AD на основе ролей для безопасности TFS. Итак, на 200 проектов у нас есть 800 групп AD (200*4 роли на проект). При таком подходе мне нужно запретить 800 групп.
 – 
Sam
24 Окт 2019 в 23:45
Если название разумно, это легко написать в сценарии. В этом случае вам поможет Tfssecurity.exe. Вы можете использовать подход, аналогичный этому, хотя вам потребуется провести небольшое исследование правильного пространства имен и структуры токена. Подход будет таким же. jessehouwing.net/…
 – 
jessehouwing
25 Окт 2019 в 00:36
1
Или используйте динамическую группу объявлений, которая автоматически включает 200 похожих групп, а затем отклоните их. Мы используем их для создания групп на основе свойств объявления и динамического выбора участников. Я полагаю, что это должно работать и для групп групп... Или скрипт AD.
 – 
jessehouwing
25 Окт 2019 в 00:38
Неа. Я попробовал ваш второй подход, но он не сработал для меня. Я ОТКЛОНИЛ все разрешения для пользователя root $/, однако этот пользователь имеет разрешение РАЗРЕШИТЬ для отдельных проектов. Я убедился, что пользователь по-прежнему может возвращать и извлекать файлы.
 – 
Sam
25 Окт 2019 в 17:43
Тогда вам, вероятно, понадобится сценарий для повторного включения наследования на каждом уровне проекта. Прости за это...
 – 
jessehouwing
25 Окт 2019 в 19:25