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

Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Из-за обширной структуры безопасности и разрешений Azure DevOps может потребоваться изучить, почему пользователь не имеет доступа к проекту, службе или функции, которые они ожидают. Найдите пошаговые инструкции по пониманию и устранению проблем, с которыми может столкнуться пользователь при подключении к проекту или доступе к службе или функции Azure DevOps.

Prerequisites

Category Requirements
Разрешения Управление разрешениями или группами на уровне организации или коллекции: член группы безопасности администраторов коллекции проектов. Если вы создали организацию или коллекцию, вы автоматически входите в эту группу.
Recommendation Прежде чем использовать это руководство, рекомендуется ознакомиться со следующим содержимым:
- Начало работы с разрешениями, доступом и группами безопасности
- разрешения по умолчанию и краткий справочник.

Tip

При создании группы безопасности Azure DevOps четко помечайте, следует ли ограничить доступ.

Разрешения можно задать на следующих уровнях:

  • Уровень объекта
  • Уровень проекта
  • Уровень организации или коллекции проектов
  • Роль безопасности
  • Роль администратора команды

Распространенные проблемы с доступом и разрешениями

См. наиболее распространенные причины, по которым член проекта не может получить доступ к проекту, службе или функции:

Issue Устранение неполадок
Уровень их доступа не позволяет доступ к службе или функции. Чтобы определить, является ли это причиной, определите уровень доступа пользователя и состояние подписки.
Их членство в группе безопасности не предоставляет доступ к функции или им было явно отказано в доступе к функции. Чтобы определить, является ли это причиной, проследите разрешение.
Недавно пользователю было предоставлено разрешение, но клиенту требуется обновление, чтобы распознать изменения. Обновите или переоцените разрешения пользователя.
Пользователь пытается воспользоваться функцией, предоставленной только администратору для определенной команды, однако эта роль ему не предоставлена. Чтобы добавить их к роли, см. статью Добавление и удаление администратора команды.
Пользователь не включает функцию предварительной версии. Предложите пользователю открыть функции предварительного просмотра и определить состояние ('вкл.' или 'выкл.') для конкретной функции. Дополнительные сведения см. в разделе "Управление предварительными версиями функций".
Участник проекта был добавлен в группу безопасности с ограниченной областью видимости, например, в группу «Пользователи с областью, ограниченной проектом». Чтобы определить, является ли это причиной, найдите членство в группах безопасности пользователя.

Менее распространенные проблемы с доступом и разрешениями

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

Issue Устранение неполадок
Администратор проекта отключил службу. В этом случае никто не имеет доступа к отключенной службе. Чтобы определить, отключена ли служба, см. раздел Включение или отключение службы Azure DevOps.
Администратор коллекции проектов отключил функцию предварительной версии, которая отключает ее для всех участников проекта в организации. См. раздел "Управление предварительными версиями функций".
Правила групп, управляющие уровнем доступа пользователя или членством в проекте, ограничивают доступ. См. статью "Определение уровня доступа пользователя" и состояния подписки.
Пользовательские правила были определены для рабочего процесса для типа рабочего элемента. Смотрите правила, применяемые к типу рабочего элемента, ограничивающие операцию выбора.

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

Вы можете назначить пользователей или группы пользователей одному из следующих уровней доступа:

  • Stakeholder
  • Basic
  • План "Базовый" + тестовые планы
  • подписка Visual Studio
  • GitHub Enterprise

Дополнительные сведения об ограничении уровней доступа в Azure DevOps см. в разделе Supported access levels.

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

Пользователи могут потерять доступ по следующим причинам:

Причина потери доступа Устранение неполадок
Срок действия подписки Visual Studio пользователя истек. Этот пользователь может работать в качестве заинтересованной стороны, или вы можете предоставить пользователю базовый доступ, пока он не продлит подписку. После входа пользователя Azure DevOps автоматически восстанавливает доступ.
Срок действия лицензии GitHub Enterprise истек или удален. См. раздел FAQs/GitHub Enterprise.
Подписка Azure, используемая для выставления счетов, больше не активна. Все покупки, сделанные с этой подпиской, затрагиваются, включая Visual Studio подписки. Чтобы устранить эту проблему, перейдите на портал учетной записи Azure.
Подписка Azure, используемая для выставления счетов, была удалена из вашей организации. Дополнительные сведения о подключении вашей организации

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

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

Отслеживание разрешения

Используйте трассировку разрешений, чтобы определить, почему разрешения пользователя не разрешают им доступ к определенной функции или функции. Узнайте, как пользователь или администратор могут исследовать наследование разрешений. Чтобы отследить разрешение на веб-портале, откройте страницу разрешений или безопасности соответствующего уровня. Дополнительные сведения см. в статье "Запрос на увеличение уровней разрешений".

Если у пользователя возникли проблемы с разрешениями, и вы используете группы безопасности по умолчанию или настраиваемые группы для разрешений, используйте трассировку, чтобы изучить, откуда приходят эти разрешения. Проблемы с разрешениями могут возникать из-за задержки изменений. Может потребоваться до 1 часа, чтобы изменения в членстве групп Microsoft Entra или разрешениях распространились по Azure DevOps. Если у пользователя возникли проблемы, которые не устраняются немедленно, подождите день, чтобы увидеть, разрешатся ли они. Дополнительные сведения об управлении пользователями и доступом см. в разделе Управление пользователями и доступом в Azure DevOps.

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

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

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

  1. Выберите Настройки проекта>Разрешения>Пользователи, а затем выберите пользователя.

    Снимок экрана: поле фильтра, введите имя пользователя.

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

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

Снимок экрана: выберите значок информации рядом с соответствующим разрешением.

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

  1. Выберите "Безопасность параметров>проекта" и введите имя пользователя в поле фильтра.

    Снимок экрана с введенным именем пользователя в поле фильтра, Azure DevOps Server 2019.

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

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

    Снимок экрана функции

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

Снимок экрана трэйса с унаследованными разрешениями, Azure DevOps Server 2019.

Дополнительные сведения см. в разделе "Управление доступом к определенным функциям и функциям " или "Запросить увеличение уровней разрешений".

Обновление или переоценка разрешений

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

Problem

Пользователи добавляются в группу Azure DevOps или Microsoft Entra. Это действие предоставляет унаследованный доступ к организации или проекту. Но они не получают доступ немедленно. Пользователям нужно либо подождать, либо выйти из системы, закрыть браузер, а затем снова войти в систему, чтобы обновить свои разрешения.

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

Solution

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

Снимок экрана: элемент управления

Правила, применяемые к типу рабочего элемента, ограничивающим операции выбора

Перед настройкой процесса рекомендуется просмотреть Configure и настроить Azure Boards, которая содержит рекомендации по настройке Azure Boards в соответствии с потребностями бизнеса.

Дополнительную информацию о правилах типов рабочих элементов, ограничивающих операции, см. в следующей статье:

Скрытие параметров организации от пользователей

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

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

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

Дополнительные сведения см. в статье "Управление организацией", ограничение видимости пользователей для проектов и многое другое.

Просмотр, добавление и управление разрешениями с помощью CLI

Вы можете просматривать, добавлять и управлять разрешениями на детальном уровне с помощью az devops security permission команд. Дополнительные сведения см. в разделе "Управление разрешениями" с помощью средства командной строки.

Правила группы с меньшими правами

Типы правил группы ранжируются в следующем порядке: Подписчик > Базовый + тестовые планы > Базовый > Заинтересованные стороны. Пользователи всегда получают самый высокий уровень доступа, доступный для них во всех правилах группы, включая все подписки Visual Studio (VS).

Note

  • Azure DevOps применяет ресурсы, предоставляемые правилами группы ко всем членам настроенной группы. Однако доступ и разрешения вступают в силу только после первого входа пользователя в организацию.
  • Регулярно просматривайте правила, перечисленные на вкладке "Правила группы " на странице "Пользователи ". Изменения в членстве в группе Microsoft Entra ID отображаются во время следующей повторной оценки правил группы, которая происходит:
    • По запросу при активации его вручную
    • Автоматически при изменении правила группы
    • Автоматически каждые 24 часа. Azure DevOps обновляет членство в группах Microsoft Entra каждый час, но для обновления динамического членства в группах в Microsoft Entra ID может потребоваться до 24 часов.
  • Правила групп для лицензирования на текущий момент не применяются к сервисным идентификаторам и управляемым идентификаторам. Чтобы назначить уровень доступа сервисному принципалу или управляемому удостоверению, сделайте это напрямую, а не через членство в группах. Дополнительные сведения см. в разделе Использование учетных записей служб и управляемых удостоверений в Azure DevOps.

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

Пример 1. Правило группы дает мне больше доступа

Если у меня есть подписка VS Pro, и я нахожусь в группе с правилом, которое дает мне доступ к базовому пакету и планам тестирования, - что происходит в этом случае?

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

Пример 2. Правило группы дает мне тот же доступ

У меня есть подписка Visual Studio Test Pro, и я в правиле группы, которое дает мне Basic + Test Plans — что происходит?

Ожидается: я определяюсь как подписчик Visual Studio Test Pro, поскольку доступ такой же, как у группы. Я уже платю за Visual Studio Test Pro, поэтому я не хочу платить снова.

Работа с GitHub

См. следующие сведения об устранении неполадок для развертывания кода в Azure DevOps с помощью GitHub.

Problem

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

Solution

Возможно, вы войдете в Azure DevOps с неправильным удостоверением. Выполните следующие действия:

  1. Закройте все браузеры, включая браузеры, которые не работают Azure DevOps.

  2. Откройте частный или инкогнито сеанс просмотра.

  3. Перейдите по следующему URL-адресу: https://aka.ms/vssignout

    Отображается сообщение "Выход из системы". После выхода вас перенаправят на dev.azure.microsoft.com.

  4. Снова войдите в Azure DevOps и выберите другое удостоверение.

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

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

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

"У меня возникла эта проблема Azure DevOps разрешений и доступа: [ВСТАВЬТЕ СООБЩЕНИЕ ОБ ОШИБКЕ ИЛИ ОПИШИТЕ ПРОБЛЕМУ]

Сведения о пользователе и разрешениях:

  • Уровень доступа пользователя: [Заинтересованные стороны/Базовый/Базовый + Тестовые планы/Visual Studio подписка]
  • Группы безопасности: [например, такие как участники проектов, читатели проектов, и т. д.]
  • Недоступная функция: [КОНКРЕТНАЯ ФУНКЦИЯ, такая как рабочие элементы, репозитории, конвейеры и т. д.]
  • Имя проекта: [ИМЯ ПРОЕКТА, если применимо]
  • Имя организации: [ИМЯ ОРГАНИЗАЦИИ, если применимо]
  • Сообщение об ошибке: [ТОЧНОЕ СООБЩЕНИЕ ОБ ОШИБКЕ, если таковое есть]

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

  1. Определение первопричины проблемы разрешений
  2. Исправление уровня доступа, членства в группах безопасности или параметров разрешений
  3. Убедитесь, что пользователь может успешно получить доступ к функции

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

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

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