Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Личный маркер доступа (PAT) служит альтернативным паролем для проверки подлинности в Azure DevOps. Этот PAT идентифицирует вас и определяет вашу доступность и область доступа. Обратитесь к PATs с тем же уровнем осторожности, что и пароли.
При использовании средств Майкрософт учетная запись Майкрософт (MSA) или идентификатор Microsoft Entra распознается и поддерживается. Если вы используете средства, не поддерживающие учетные записи Microsoft Entra, или если вы предпочитаете не предоставлять общий доступ к основным учетным данным, рассмотрите возможность использования PATs в качестве альтернативного метода проверки подлинности. Однако мы рекомендуем использовать токены Microsoft Entra всегда, когда это возможно.
Внимание
Мы рекомендуем более безопасные маркеры Microsoft Entra по сравнению с более высоким уровнем риска персональных маркеров доступа. Узнайте больше о наших усилиях по сокращению использования PAT. Ознакомьтесь с нашим руководством по проверке подлинности , чтобы выбрать правильный механизм проверки подлинности для ваших потребностей.
Предварительные условия
Категория | Требования |
---|---|
Права доступа | Разрешение на доступ и изменение параметров пользователя, где осуществляется управление PATs. — Перейдите в ваш профиль и выберите параметры пользователя>персональные токены доступа. Если вы можете просматривать и управлять PATs здесь, значит, у вас есть необходимые разрешения. — Перейдите в ваш проект и выберите Настройки проекта >Разрешения. Найдите учетную запись пользователя в списке и проверьте назначенные вам разрешения. Найдите разрешения, связанные с управлением маркерами или параметрами пользователя. — Если в вашей организации существуют политики, администратору может потребоваться предоставить вам специфические разрешения или добавить вас в разрешающий список для создания и управления PAT. — PATs привязаны к учетной записи пользователя, который создал токен. В зависимости от задач, которые выполняет PAT, вам может потребоваться больше разрешений. |
Уровни доступа | Необходим, по крайней мере, базовый доступ . |
задачи | Используйте PATs только при необходимости и всегда периодически меняйте их. Ознакомьтесь с нашим разделом о рекомендациях по использованию PATS. |
Создайте личный маркер доступа
Войдите в свою организацию (
https://dev.azure.com/{Your_Organization}
).На домашней странице откройте параметры пользователя и выберите
личные маркеры доступа.
Выберите +Создать маркер.
Дайте имя вашему токену, выберите организацию, в которой вы хотите использовать токен, а затем настройте его так, чтобы он автоматически истекал через заданное количество дней.
Выберите области доступа для этого токена, чтобы авторизовать ваши конкретные задачи.
Например, чтобы создать маркер для агента сборки и выпуска для проверки подлинности в 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/{Your_Organization}
в YourMachine создается при подключении к репозиторию Git Azure DevOps через git.exe. - Токен с именем «Service Hooks: Azure App Service: Deploy web app» создается, когда вы или администратор настраиваете развертывание веб-приложения Azure App Service.
- Маркер с именем WebAppLoadTestCDIntToken создается вами или администратором при настройке веб-нагрузочного тестирования в рамках конвейера.
- При настройке расширения для обмена сообщениями "Интеграция 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 в любое время по следующим и другим причинам:
- Отмените ПАТ, если вы подозреваете, что он скомпрометирован.
- Отмените ПАТ, если он больше не нужен.
- Отмените ПАТ для применения политик безопасности или обеспечения соответствия требованиям.
На домашней странице откройте параметры пользователя и выберите
личные маркеры доступа.
В разделе "Безопасность" выберите личные маркеры доступа. Выберите маркер, для которого требуется отозвать доступ, а затем нажмите кнопку "Отозвать".
Выберите " Отменить" в диалоговом окне подтверждения.
API управления жизненным циклом PAT
API управления жизненным циклом PAT могут оказаться полезными при управлении большим количеством токенов, когда поддержание их через пользовательский интерфейс становится невозможным. Управление заменой PAT программным образом также открывает возможность регулярно менять PAT и сократить их срок действия по умолчанию. Пример приложения Python можно настроить с помощью клиента Microsoft Entra и организации Azure DevOps.
Некоторые сведения об этих API:
- Маркеры доступа Microsoft Entra необходимы для доступа к этому API, так как обычно рекомендуется более надежная форма проверки подлинности при создании новых маркеров.
- Только пользователи или приложения, использующие поток "от имени пользователя", могут создавать PATs. Приложения, использующие потоки "от имени приложения" или потоки проверки подлинности, которые не выдают маркеры доступа Microsoft Entra, недопустимы для использования с этим API. Таким образом, субъекты службы или управляемые удостоверения не могут создавать или управлять PATs.
- Ранее API управления жизненным циклом PAT поддерживали только
user_impersonation
области, а теперь доступныvso.pats
, которые являются рекомендуемыми областями для использования с этими API. Ограничьте все приложения, которые ранее зависели отuser_impersonation
для вызова этих API.
Изменения в формате
По состоянию на июль 2024 года мы обновили формат строк PAT, чтобы улучшить обнаружение секретных данных в наших инструментах для обнаружения утечек PAT и решениях партнеров. Этот новый формат PAT включает более идентифицируемые биты, чтобы повысить скорость обнаружения ложноположительных результатов в этих средствах обнаружения и снизить обнаруженные утечки быстрее.
- Новые маркеры теперь имеют длину 84 символа, при этом 52 символа являются случайными данными, что увеличивает общую энтропию и делает маркеры более устойчивыми к атакам подбора.
- Токены, выданные нашей службой, включают фиксированную
AZDO
подпись на позициях 76-80.
Если вы используете PAT, выданный перед этой датой, пересоздайте PAT. Если вы интегрируете с PAT и имеете встроенную проверку токенов PAT, обновите код проверки, чтобы учитывать как новые, так и существующие длины токенов.
Предупреждение
Оба формата остаются действительными в обозримом будущем. По мере распространения нового формата мы можем отказаться от использования старых PAT из 52 символов.
Рекомендации по использованию PAT
Рассмотрим альтернативные варианты
- Получите токен Microsoft Entra с помощью Azure CLI для одноразовых запросов вместо создания более длительного PAT.
- Используйте диспетчеры учетных данных, такие как диспетчер учетных данных Git или Диспетчер учетных данных Azure Artifacts , чтобы упростить управление учетными данными с использованием маркеров проверки подлинности
oauth
или токенов Microsoft Entra.
Создание PATов
- Не включайте персональные данные в имя PAT. Не переименовывайте имя PAT так, чтобы в нём фигурировал некоторый или весь фактический токен PAT.
- Избегайте создания глобальных PAT, если это не требуется во всех организациях.
- Используйте другой маркер для каждого потока или пользовательского варианта.
- Выберите только минимальные области, необходимые для каждого PAT. Предоставьте наименьшие привилегии, необходимые для конкретной задачи, и создайте отдельные PAT с ограниченными областями для разных рабочих процессов вместо использования одного широкомасштабного маркера. Если вашему PAT требуются разрешения только для чтения, не предоставьте разрешения на запись до тех пор, пока не потребуется.
- Держите срок жизни PAT коротким (еженедельный срок идеально, ещё короче — даже лучше).
Управление PAT
- Не делитесь своими PAT!
- Сохраните PATs в безопасном решении для управления ключами, например, в Azure KeyVault.
- Регулярно обновляйте или пересоздавайте ваши PAT с помощью пользовательского интерфейса или API управления жизненным циклом PAT.
- Отмените PATs, когда в них больше нет необходимости.
- Поверните свои PAT, чтобы использовать новый формат PAT для улучшения обнаружения утечек секретов и аннуляции нашими внутренними инструментами.
Для администраторов
- Администраторы арендаторов могут задавать политики для ограничения создания глобальных PAT, создания полностью охваченных PAT и длительности ПАТ.
- Администраторы арендатора могут отозвать ПАТ для пользователей организации, если ПАТ скомпрометирован.
- Администраторы организации могут ограничить создание PAT в организации. Если по-прежнему необходимы personal access tokens (PATs), ограничьте их создание только теми, которые находятся в списке разрешенных.
Вопросы и ответы
Вопрос. Почему не удается изменить или повторно создать область PAT, ограниченную одной организацией?
Войдите в организацию, где охвачен ваш PAT. Вы можете просматривать PATs при входе в любую организацию с той же Microsoft Entra ID, изменив фильтр области доступа, но редактировать можно только токены, связанные с организацией, при входе в конкретную организацию.
Вопрос. Что происходит с PAT, если учетная запись пользователя отключена?
Ответ. Если пользователь удаляется из Azure DevOps, pat недействителен в течение 1 часа. Если ваша организация подключена к идентификатору Microsoft Entra, PAT также является недействительным в идентификаторе Microsoft Entra, так как он принадлежит пользователю. Рекомендуется сменить PAT на другого пользователя или учетную запись службы, чтобы поддерживать работу служб.
Вопрос: Можно ли использовать PAT со всеми REST API Azure DevOps?
Ответ. Нет. Вы можете использовать PATs с большинством REST API Azure DevOps, но организации и профили и API жизненного цикла управления PAT поддерживают только токены Microsoft Entra.
Вопрос. Что произойдет, если я случайно залью свой персональный токен доступа в общедоступный репозиторий на GitHub?
Ответ. Azure DevOps проверяет наличие PAT, зарегистрированных в общедоступных репозиториях на GitHub. Когда мы найдем утечку маркера, мы немедленно отправим подробное уведомление по электронной почте владельцу маркера и регистрируем событие в журнале аудита организации Azure DevOps. Мы рекомендуем пострадавшим пользователям устранить проблему, отменив утечку маркера и заменив его новым маркером.
Если вы не отключили политику автоматического отзыва утекших личных маркеров доступа , мы немедленно отзываем утекший PAT. Дополнительные сведения см. в статье "Автоматическое отзыв утекших персональных токенов доступа (PAT)".
Вопрос: Можно ли использовать токен личного доступа в качестве ApiKey для публикации пакетов NuGet в фид артефактов Azure с помощью командной строки dotnet/nuget.exe?
Ответ. Нет. Артефакты Azure не поддерживают передачу PAT в качестве ApiKey. При использовании локальной среды разработки рекомендуется установить поставщика учетных данных для Azure Artifacts для аутентификации в Azure Artifacts. Дополнительные сведения см. в следующих примерах: dotnet, NuGet.exe. Если вы хотите опубликовать свои пакеты с помощью Azure Pipelines, используйте задачу NuGet Authenticate для аутентификации в своём потоке. См. пример .
Вопрос. Почему мой PAT перестал работать?
Ответ. Проверка подлинности PAT требует регулярного входа в Azure DevOps с помощью полного потока проверки подлинности. Один вход раз в 30 дней достаточен для многих пользователей, но, возможно, в зависимости от конфигурации Microsoft Entra, может возникнуть необходимость войти чаще. Если ваш PAT перестаёт работать, сначала попробуйте войти в свою организацию и пройти полную проверку подлинности. Если ваш PAT по-прежнему не работает, проверьте, истек ли срок действия.
Включение базовой аутентификации IIS делает невозможным использование личных токенов доступа (PAT) для Azure DevOps Server. Рекомендуем всегда оставлять базовую проверку подлинности IISотключенной.
Предупреждение
Если вы используете Git с Базовой аутентификацией IIS, он перестает работать, потому что для аутентификации пользователей требуются Персональные токены доступа (PAT). Вы можете добавить дополнительный заголовок в запросы Git, чтобы использовать его с базовой проверкой подлинности IIS, но мы не рекомендуем это действие. Вспомогательный заголовок должен использоваться для всех установок Azure DevOps Server, так как проверка подлинности Windows также предотвращает использование PATs. Дополнительный заголовок также должен содержать кодировку base 64 user:PAT
.
git -c http.extraheader='Authorization: Basic [base 64 encoding of "user:password"]' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName
Вопрос. Как создать маркеры доступа, которые не привязаны к пользователю?
Все PAT связаны с учетной записью пользователя, создавшего их. Приложения не могут создавать PAT.
В Azure DevOps можно создавать маркеры доступа, которые не связаны с конкретным пользователем с помощью токенов Microsoft Entra, выданных субъектом-службой приложения или управляемым удостоверением. Для конвейеров используйте подключения служб для безопасной проверки подлинности и авторизации автоматических задач без использования учетных данных пользователя.
Вопрос. Как повторно создать или повернуть PATs через API? Я видел этот параметр в пользовательском интерфейсе, но в API не отображается аналогичный метод.
Функция "Повторное создание", доступная в пользовательском интерфейсе, фактически выполняет несколько действий, которые можно реплицировать через API.
Чтобы повернуть PAT, сделайте следующее:
- См. метаданные PAT с вызовом GET ,
- Создайте новый PAT с старым идентификатором PAT с помощью вызова POST .
- Отмените старый PAT с помощью вызова DELETE .
Вопрос. При попытке использовать приложение Microsoft Entra для вызова API управления жизненным циклом PAT отображается всплывающее окно "Требуется утверждение администратора".
Политики безопасности клиента требуют согласия администратора, прежде чем приложения могут получить доступ к ресурсам организации в организации. Обратитесь к администратору клиента.
Вопрос. Можно ли использовать субъект-службу для создания или управления PAT?
Нет, персональные токены доступа принадлежат учетной записи пользователя. Учётные записи службы Microsoft Entra или управляемые удостоверения могут создавать краткосрочные токены Microsoft Entra, которые можно использовать в большинстве мест, где принимается PAT. Узнайте больше о наших усилиях по сокращению использования PAT в Azure DevOps и изучении замены PATs маркерами Microsoft Entra.