Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Личный маркер доступа (PAT) служит альтернативным паролем для проверки подлинности в Azure DevOps. Этот PAT идентифицирует вас и определяет вашу доступность и область доступа. Обратитесь к PATs с тем же уровнем осторожности, что и пароли.
Предостережение
Избегайте использования PATS, если доступен более безопасный метод проверки подлинности. PATs несут внутренние риски для безопасности, так как они являются долгосрочными учетными данными, которые могут быть утекшими, украденными или неправильно использованными. Используйте токены Microsoft Entra, управляемые удостоверения или сущности-службы, когда это возможно.
При использовании средств Майкрософт учетная запись Майкрософт или Microsoft Entra ID распознается и поддерживается. Если вы используете средства, не поддерживающие учетные записи Microsoft Entra, или если вы предпочитаете не предоставлять общий доступ к основным учетным данным, рассмотрите возможность использования PATs в качестве альтернативного метода проверки подлинности.
Внимание
Рассмотрите возможность использования более безопасных токенов Microsoft Entra вместо более рискованных персональных токенов доступа. Дополнительные сведения см. в разделе "Сокращение использования PAT". Просмотрите рекомендации по проверке подлинности , чтобы выбрать правильный механизм проверки подлинности для ваших потребностей.
Подсказка
Вы можете использовать ИИ, чтобы помочь с этой задачей позже в этой статье или ознакомиться с включение помощи ИИ в Azure DevOps MCP Server, чтобы начать работу.
Предварительные условия
| Категория | Требования |
|---|---|
| Разрешения | Разрешение на доступ и изменение параметров пользователя, где осуществляется управление PATs. — Перейдите в профиль и выберите Настройки пользователя>Личные токены доступа. Если вы можете просматривать и управлять PATs здесь, значит, у вас есть необходимые разрешения. — Перейдите в ваш проект и выберите Настройки проекта >Разрешения. Найдите учетную запись пользователя в списке и проверьте разрешения, назначенные вам. Найдите разрешения, связанные с управлением маркерами или параметрами пользователя. — Если в вашей организации введены политики, администратору может понадобиться предоставить вам определенные разрешения или добавить вас в белый список для создания и управления PATs. — PATs привязаны к учетной записи пользователя, который создал токен. В зависимости от задач, которые выполняет PAT, вам может потребоваться больше разрешений. |
| Уровни доступа | По крайней мере базовый доступ. |
| задачи | Используйте PATS только при необходимости и всегда регулярно поворачивайте их. Ознакомьтесь с разделом "Рекомендации по использованию PATs". |
Создайте личный маркер доступа
Замечание
Следующие шаги и снимки экрана отражают службы Azure DevOps. Интерфейс Azure DevOps Server может немного отличаться.
- Войдите в свою организацию (
https://dev.azure.com/{Your_Organization}).
- Войдите на веб-портал Azure DevOps Server (
https://{server}/{collection}илиhttp://{server}:{port}/tfs/{collection}).
На домашней странице откройте параметры пользователя и выберите
личные маркеры доступа.
Выберите +Создать маркер.
Дайте имя вашему токену, выберите организацию, в которой вы хотите использовать токен, а затем настройте его так, чтобы он автоматически истекал через заданное количество дней.
Выберите области доступа для этого токена, чтобы авторизовать ваши конкретные задачи.
Например, чтобы создать токен для агента сборки и выпуска для проверки подлинности в Azure DevOps, задайте область действия токена на Пулы агентов (Чтение и управление). Чтобы прочитать события журнала аудита и управлять или удалять потоки, выберите "Чтение журнала аудита" и нажмите кнопку "Создать".
Администратор может запретить вам создание PATs с полным охватом или ограничить вас созданием только PATs с охватом уровня упаковки. Обратитесь к администратору, чтобы получить список разрешений, если вам нужен доступ к дополнительным областям. Некоторые области, например,
vso.governanceмогут быть недоступны в пользовательском интерфейсе, если они не используются для широко распространенного общедоступного использования.По завершении скопируйте маркер и сохраните его в безопасном расположении. Для обеспечения безопасности он снова не отображается.
Вы можете использовать PAT в любом месте, где учетные данные пользователя необходимы для проверки подлинности в Azure DevOps. Запомните:
- Обратитесь к PAT с той же осторожностью, что и пароль, и оставьте его конфиденциальным. Не делитесь персональными токенами доступа.
- Для организаций, поддерживаемых Microsoft Entra ID, войдите с помощью нового PAT в течение 90 дней, иначе он станет неактивным. Дополнительные сведения см. в разделе "Частота входа пользователя" для условного доступа.
Уведомления
В течение срока существования PAT пользователи получают два уведомления: один при создании PAT, а другой до истечения срока действия.
После создания PAT может появиться уведомление, аналогичное следующему примеру. Это уведомление служит подтверждением успешного добавления PAT в вашу организацию.
Сообщение электронной почты об истечении срока действия токена отправляется до его истечения. Если администратор удалил возможность создания PAT в организации, сообщение электронной почты указывает на то, что вы больше не можете повторно создать PATS. Обратитесь к администратору коллекции проектов , чтобы включить в список разрешений для продолжения создания PAT в этой организации.
Дополнительные сведения см. в статье "Настройка SMTP-сервера" и настройка электронной почты для оповещений и запросов обратной связи.
Непредвиденное уведомление
Если вы получаете неожиданное уведомление PAT, это может означать, что администратор или средство создали для вас PAT. Ниже приведены некоторые примеры.
- Маркер с именем
git: https://dev.azure.com/{yourorganization} on YourMachineсоздается при подключении к репозиторию Git Azure DevOps через git.exe. - Токен с именем
Service Hooks: Служба приложений Azure: Deploy web appсоздается, когда вы или администратор настраиваете развертывание веб-приложения Служба приложений Azure. - Токен с именем
WebAppLoadTestCDIntTokenсоздается, когда веб-нагрузочное тестирование настраивается в рамках конвейера вами или администратором. - Маркер с именем
Microsoft Teams Integrationсоздается при настройке расширения для обмена сообщениями интеграции с Microsoft Teams.
Если вы считаете, что ситуация серьезна:
- Отмените PAT (и измените пароль), если вы подозреваете, что он был создан по ошибке.
- Проверьте у администратора, если вы являетесь пользователем Microsoft Entra, был ли доступ к вашей организации с неизвестного источника или местоположения.
- Просмотрите часто задаваемые вопросы по случайной отправке PAT (личного токена доступа) в общедоступные репозитории GitHub.
Использование PAT
ВАШ PAT служит вашим цифровым удостоверением, так же как и пароль. Вы можете использовать PATs как средство для быстрого выполнения однократных запросов или прототипирования приложения на локальной машине. Используйте PAT в коде для проверки подлинности запросов REST API и автоматизации рабочих процессов, включая PAT в заголовок авторизации запроса.
После того, как код вашего приложения работает, переключитесь на Microsoft Entra OAuth для получения токенов для пользователей приложения или служебного принципала или управляемого удостоверения для получения токенов в качестве приложения. Не продолжайте работать с приложениями или скриптами с помощью PATs в долгосрочной перспективе. Вы можете использовать токены Microsoft Entra в любом месте, где используется PAT.
Рассмотрите возможность получения токена Microsoft Entra через Azure CLI для незапланированных запросов.
Чтобы предоставить PAT через заголовок HTTP, необходимо сначала преобразовать его в Base64 строку.
Затем его можно предоставить в виде заголовка HTTP в следующем формате:
Authorization: Basic BASE64_USERNAME_PAT_STRING
Измените ПАТ
Выполните следующие действия.
- Создайте новый ПАТ, чтобы сгенерировать новый токен, что делает предыдущий недействительным.
- Продлите срок действия PAT для увеличения его продолжительности.
- Измените область ПАТ, чтобы изменить его разрешения.
На домашней странице откройте параметры пользователя и выберите
личные маркеры доступа.Выберите маркер, который требуется изменить, и нажмите кнопку "Изменить".
Измените имя маркера, срок действия маркера или область доступа, связанную с маркером, а затем нажмите кнопку "Сохранить".
Отзыв персонального токена доступа (ПАТ)
Вы можете отозвать PAT в любое время по следующим и другим причинам:
- Нарушение безопасности: немедленно отмените PAT, если вы подозреваете, что он был скомпрометирован, утекает или отображается в журналах или общедоступных репозиториях.
- Больше не требуется: отменять ПАТ при завершении проекта, службы или интеграции, для которой она была создана.
- Соответствие политик. Отмените ПАТ для применения политик безопасности, требований к соответствию требованиям или расписаниям смены маркеров организации.
- Изменения пользователей. Отмена PAT, когда член команды покидает организацию или изменяет роли и больше не нуждается в доступе.
- Сокращение области. Отмена и повторное создание PAT с ограниченными разрешениями, если необходимо ограничить возможности доступа.
- Регулярное обслуживание: отмена PAT в рамках обычной гигиены безопасности и управления жизненным циклом маркеров.
Чтобы отозвать PAT, выполните следующие действия.
На домашней странице откройте параметры пользователя и выберите
личные маркеры доступа.В разделе "Безопасность" выберите личные маркеры доступа. Выберите маркер, для которого требуется отозвать доступ, а затем нажмите кнопку "Отозвать".
В диалоговом окне подтверждения нажмите кнопку "Отозвать".
API управления жизненным циклом PAT
API управления жизненным циклом PAT могут оказаться полезными при управлении большими объемами токенов с помощью пользовательского интерфейса. Управление заменой PAT программным образом также открывает возможность регулярно менять PAT и сократить их срок действия по умолчанию. Вы можете настроить sample Python приложение с помощью клиента Microsoft Entra и организации Azure DevOps.
Некоторые сведения об этих API:
- Microsoft Entra токены доступа требуются для доступа к этому API. Используйте более надежную форму аутентификации при выпуске новых токенов.
- Только пользователи или приложения, использующие поток "от имени пользователя", могут создавать PATs. Приложения, использующие потоки "от имени приложения" или потоки проверки подлинности, которые не выдают маркеры доступа Microsoft Entra недопустимы для использования с этим API. Таким образом, субъекты службы или управляемые удостоверения не могут создавать или управлять PATs.
- Ранее API управления жизненным циклом PAT поддерживали только
user_impersonationобласть, но теперьvso.patsдоступны и являются рекомендуемой областью использования с этими API. Ограничьте все приложения, которые ранее зависели отuser_impersonationдля вызова этих API.
Формат PAT
Строки PAT используют определенный формат, предназначенный для улучшения обнаружения секретов в утеченных инструментах обнаружения PAT и предложениях партнеров. Формат включает идентифицируемые биты, которые повышают скорость обнаружения ложноположительных результатов и обеспечивают более быстрое устранение обнаруженных утечек.
- Маркеры имеют длину 84 символов, при этом 52 символа являются случайными данными, что повышает общую энтропию. Токены устойчивы к атакам подбора.
- Маркеры, выданные Azure DevOps, включают фиксированную
AZDOсигнатуру в позициях 76-80.
Если вы интегрируете с персональными токенами доступа (PATs) и имеете встроенную проверку PAT, убедитесь, что ваш код проверки соответствовал длине токена в 84 символа.
Рекомендации по использованию PAT
Рассмотрим альтернативные варианты
- Получите токен Microsoft Entra через Azure CLI для незапланированных запросов вместо создания более длительно действующего личного токена доступа (PAT).
- Используйте диспетчеры учетных данных, такие как Git Credential Manager или Azure Artifacts Credential Manager для упрощения управления учетными данными с проверкой подлинности
oauthили маркерами Microsoft Entra.
Создание PATov
- Не включайте персональные данные в имя PAT. Не переименовывайте имя PAT так, чтобы в нём фигурировал некоторый или весь фактический токен PAT.
- Избегайте создания глобальных PAT, если это не требуется во всех организациях.
- Используйте другой маркер для каждого потока или варианта использования.
- Выберите только минимальные области, необходимые для каждого PAT. Предоставьте минимальные привилегии, необходимые для конкретной задачи. Создайте отдельные PATs с ограниченными областями для разных рабочих процессов вместо использования одного широкомасштабного токена. Если вашему PAT требуются разрешения только для чтения, не предоставьте разрешения на запись до тех пор, пока не потребуется.
- Держите срок жизни PAT коротким.
Управление персональными токенами доступа (PATs)
- Не делитесь своими PAT!
- Храните свои PAT в безопасном решении для управления ключами, например Azure Key Vault.
- Регулярно обновляйте или регенерируйте ваши PAT через пользовательский интерфейс или с помощью API управления жизненным циклом PAT.
- Аннулируйте PATs, когда они больше не нужны.
Для администраторов
- Администраторы клиента могут задавать политики для ограничения создания глобальных персональных токенов доступа (PAT), полноразмерного создания PAT и длительности действия PAT.
- Администраторы арендатора могут отозвать ПАТ для пользователей организации, если ПАТ скомпрометирован.
- Администраторы организации могут ограничить создание PAT в организации. Если PATs по-прежнему необходимы, ограничьте их создание только PATs, которые находятся в списке разрешённых.
Вопросы и ответы
Q. Почему не удается изменить или повторно создать область PAT, ограниченную одной организацией?
А. Войдите в организацию, в которой определен диапазон действия вашего PAT. Вы можете просматривать Ваши персональные токены доступа (PATs), войдя в любую организацию с тем же Microsoft Entra ID и изменив фильтр Access scope. Войдя в конкретную организацию, можно изменять только токены, привязанные к этой организации.
Q. Что происходит с PAT, если учетная запись пользователя отключена?
А. Когда пользователь удаляется из Azure DevOps, его персональный токен доступа становится недействительным в течение часа. Если ваша организация подключена к Microsoft Entra ID, ПАТ также является недействительным в Microsoft Entra ID поскольку он принадлежит пользователю. Переименуйте токен личного доступа (PAT) на другого пользователя или на учетную запись службы, чтобы обеспечить продолжение работы служб.
Q. Можно ли использовать PATs со всеми Azure DevOps REST API?
А. Нет. Вы можете использовать PATs с большинством REST API Azure DevOps, но организации и профили и API жизненного цикла управления PAT поддерживают только токены Microsoft Entra.
Q. Что произойдет, если случайно проверить свой PAT в общедоступном репозитории на GitHub?
А. Azure DevOps проверяет утечку PAT в общедоступных репозиториях GitHub. При обнаружении Azure DevOps уведомляет владельца токена и регистрирует событие в журнале audit. Если не отключено, утекшие PAT автоматически аннулируются. Дополнительные сведения см. в статье "Автоматическое отзыв утекших персональных токенов доступа (PAT)".
Q. Можно ли использовать личный маркер доступа в качестве ключа API для публикации пакетов NuGet в веб-канале Azure Artifacts с помощью командной строки dotnet/nuget.exe?
А. Нет. Azure Artifacts не поддерживает передачу PAT в качестве ключа API. При использовании локальной среды разработки установите Azure Artifacts Credential Provider для аутентификации в Azure Artifacts. Дополнительные сведения см. в следующих примерах: dotnet и NuGet.exe. Если вы хотите опубликовать свои пакеты, используя Azure Pipelines, используйте задачу NuGet Authenticate для аутентификации с вашим фидом. Дополнительные сведения см. в разделе Публикация пакетов NuGet с использованием Azure Pipelines (YAML/Classic).
Q. Почему мой PAT перестал работать?
А. Проверка подлинности PAT требует регулярного входа в Azure DevOps с помощью полного потока проверки подлинности. Достаточно выполнять вход раз в 30 дней для многих пользователей, но в зависимости от конфигурации Microsoft Entra может понадобиться чаще входить в систему. Если ваш PAT перестает работать, сначала попробуйте войти в свою организацию и выполнить полный запрос проверки подлинности. Если ваш PAT по-прежнему не работает, проверьте, истек ли срок действия.
Для Azure DevOps Server включение IIS базовой проверки подлинности делает использование PAT недействительным. Держите базовую проверку подлинности IIS отключенной.
Q. Как создать маркеры доступа, которые не привязаны к конкретному пользователю?
А. PaTs всегда связаны с удостоверением пользователя, создавшего их. Чтобы использовать маркеры, не привязанные к конкретному пользователю, используйте маркеры Microsoft Entra, выданные прикладным служебным принципалом или управляемым удостоверением. Для конвейеров используйте подключения службы для проверки подлинности без учетных данных пользователя. Дополнительные сведения о редукции использования PAT в Azure DevOps.
Q. Как повторно создать и обновить PATs через API? Я видел этот параметр в пользовательском интерфейсе, но в API не отображается аналогичный метод.
А. Функция повторного создания , доступная в пользовательском интерфейсе, фактически выполняет несколько действий, которые можно реплицировать через API.
Чтобы повернуть PAT, выполните следующие действия.
- См. метаданные PAT с вызовом GET .
- Создайте новый PAT со старым идентификатором PAT с помощью вызова POST .
- Отмените старый PAT с помощью вызова DELETE .
Q. Сколько времени истекшие, аннулированные или неактивные токены PAT остаются видимыми в списке токенов Azure DevOps?
А. Вы больше не можете использовать или повторно создавать PAT, которые истекли или отозваны. Эти неактивные маркеры остаются видимыми в течение нескольких месяцев после истечения срока действия или отзыва перед автоматическим удалением из дисплея.
Q. Почему при попытке использовать приложение Microsoft Entra для вызова API управления жизненным циклом PAT отображается сообщение "Требуется утверждение администратора"?
А. Политики безопасности клиента требуют согласия администратора, прежде чем приложения смогут получить доступ к ресурсам организации. Обратитесь к администратору клиента.
Использование ИИ для управления личными маркерами доступа
Если у вас настроен Azure DevOps MCP Server, вы можете использовать помощники по искусственному интеллекту для управления и просмотра личных маркеров доступа с помощью запросов естественного языка. Сервер MCP предоставляет помощнику по искусственному интеллекту безопасный доступ к данным Azure DevOps, что позволяет перечислять маркеры, проверять даты окончания срока действия и просматривать области маркеров без навигации по веб-интерфейсу.
Примеры подсказок для управления личными токенами доступа
| задачи | Пример запроса |
|---|---|
| Создание маркера наименьших привилегий | Help me create a PAT for <organization-name> that only has read access to work items and code in the <project-name> project, valid for 30 days |
| Поворот токенов с истекающим сроком действия | Show me all my PATs in <organization-name> expiring in the next 14 days, their scopes, and what I need to update when I regenerate them |
| Проверка гигиены токена | List all my active PATs in <organization-name>, when each was last used, and flag any that have broader scopes than necessary |
| Устранение неполадок проверки подлинности | My PAT stopped working for Git push to <repo-name> in <project-name> - help me check if it expired, has the right scope, or if a policy is blocking it |
| Найти токены для замены на Entra auth | Show me which of my PATs in <organization-name> are used for interactive scenarios that could switch to Microsoft Entra authentication instead |
| Настройка подключения службы CI/CD | What's the minimum PAT scope needed for an Azure Pipelines service connection to <organization-name> that runs builds and deploys releases? |
Подсказка
Если вы используете Visual Studio Code, агентный режим особенно полезен для проверки и аудита персональных токенов доступа (PATs), включая определение токенов, требующих обновления или имеющих избыточные области действия.
- Чтобы избежать использования устаревших или кэшированных данных из предыдущих запросов, добавьте в запрос
Do not use previously fetched data.