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

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

1. Я создал две группы: команду A и команду B:

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

введите здесь описание изображения

3. Затем, проверив новое репо («Тест»), эта группа тоже есть в списке, нормальное поведение, если у вас включено наследование.

введите здесь описание изображения

Теперь проблема возникает, когда я пытаюсь удалить группу из дочернего репозитория («Тест»). Azure показывает следующую ошибку: «Группа A унаследовала разрешения и не может быть удалена из списка». Даже я пытался удалить с отключенным наследованием, но безуспешно.

введите здесь описание изображения

Кто-нибудь может мне объяснить, почему это происходит? Или что я могу сделать, чтобы удалить группу из дочернего репозитория.


person Francisco Tovar Bastidas    schedule 24.02.2020    source источник
comment
Могу я узнать, как там статус? Помогает ли вам приведенное ниже объяснение? Есть ли у вас еще какие-нибудь головоломки или вопросы по этому поводу? Если это поможет, поблагодарите за ответ, поэтому другие пользователи SO будут быть в состоянии увидеть, работает ли он.   -  person Merlin Liang - MSFT    schedule 28.02.2020


Ответы (1)


Это должно быть ожидаемое действие, которое разработано.

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

Об этом упоминалось в этом документ:

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

Отдельные репозитории наследуют разрешения от записи Git Repositories верхнего уровня. Филиалы наследуют разрешения от назначений, сделанных на уровне репозитория.

Для более подробной информации вы добавляете Team A, Team B в репозитории верхнего уровня и делаете Inheritance как true в суб-репозиториях.

В это время система отклонит ваш запрос с сообщением ({группа} унаследовала разрешения и не может быть удалена из списка) при попытке удалить Team A из одного дочернего репо. Потому что этот Team A тем временем по-прежнему сохраняет занятость разрешений в других суб-репозиториях.

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

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

В этом сценарии вы удалили их с верхнего уровня.

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

person Merlin Liang - MSFT    schedule 25.02.2020
comment
даже удаление с верхнего уровня предотвратило удаление группы из дочернего узла ... это очень быстро испортится - person webwesen; 08.04.2020