Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Управление личными маркерами доступа

Вы можете использовать personal access token вместо пароля при проверке подлинности в GitHub в командной строке или с помощью API.

Предупреждение. Рассматривайте маркеры доступа как пароли. Дополнительные сведения см. в разделе Обеспечение безопасности personal access tokens.

Сведения о personal access tokens

Personal access tokens являются альтернативой использованию паролей для проверки подлинности GitHub при использовании API GitHub или командной строки.

Personal access tokens предназначены для доступа к ресурсам GitHub от имени себя. Для доступа к ресурсам от имени организации или для долгосрочных интеграций следует использовать GitHub App. Дополнительные сведения см. в разделе Сведения о создании приложений GitHub.

Типы personal access tokens

GitHub в настоящее время поддерживает два типа personal access tokens: fine-grained personal access tokens и personal access tokens (classic). GitHub рекомендует по возможности использовать fine-grained personal access tokens вместо personal access tokens (classic).

Владельцы организации могут задать политику для ограничения доступа personal access tokens (classic) к своей организации. Дополнительные сведения см. в разделе Настройка политики личного маркера доступа для организации.

Fine-grained personal access tokens

Fine-grained personal access tokens имеют ряд преимуществ безопасности по сравнению с personal access tokens (classic):

  • Каждый маркер может обращаться к ресурсам, принадлежащим только одному пользователю или организации.
  • Каждый маркер может обращаться только к определенным репозиториям.
  • Каждому маркеру предоставляются определенные разрешения, которые обеспечивают больший контроль, чем области, предоставленные personal access tokens (classic).
  • У каждого маркера должна быть дата окончания срока действия.
  • Владельцы организации могут требовать утверждения для любых fine-grained personal access tokens, которые могут получать доступ к ресурсам в организации.

Personal access tokens (classic)

Personal access tokens (classic) менее безопасны. Однако некоторые функции в настоящее время будут работать только с personal access tokens (classic):

  • Только personal access tokens (classic) имеют доступ на запись для общедоступных репозиториев, которые не принадлежат вам или организации, членом которых вы не являетесь.
  • Внешние участники совместной работы могут использовать personal access tokens (classic) только для доступа к репозиториям организации, в которых они являются участниками совместной работы.
  • Доступ к API GraphQL может получить только personal access tokens (classic).
  • Некоторые операции REST API недоступны для fine-grained personal access tokens. Список операций REST API, поддерживаемых для fine-grained personal access token, см. в разделе Конечные точки, доступные для детализированных личных маркеров доступа.

Если вы решили использовать personal access token (classic), помните, что он предоставит доступ ко всем репозиториям в организациях, к которым у вас есть доступ, а также ко всем личным репозиториям в личная учетная запись.

В качестве меры безопасности GitHub автоматически удаляет personal access token, которые не использовались в течение года. Чтобы обеспечить дополнительную безопасность, мы настоятельно рекомендуем добавить срок действия в personal access tokens.

Обеспечение безопасности personal access tokens

Personal access tokens похожи на пароли и имеют одинаковые риски безопасности. Прежде чем создавать новый personal access token, подумайте, есть ли для вас более безопасный метод проверки подлинности:

Если эти параметры невозможны и необходимо создать personal access token, рассмотрите возможность использования другой службы, например 1Password CLI для безопасного хранения маркера, или подключаемого модуля оболочки GitHub 1Password для безопасной проверки подлинности в GitHub CLI.

При использовании personal access token в скрипте можно сохранить маркер в виде секрета и запустить скрипт с помощью GitHub Actions. Дополнительные сведения см. в разделе Зашифрованные секреты. Вы также можете сохранить маркер в виде секрета Codespaces и запустить скрипт в Codespaces. Дополнительные сведения см. в разделе Управление зашифрованными секретами для codespace.

Дополнительные сведения о рекомендациях см. в разделе Обеспечение безопасности учетных данных API.

Создание fine-grained personal access token

Примечание. Fine-grained personal access token сейчас находятся в бета-версии и могут быть изменены. Чтобы оставить отзыв, ознакомьтесь с обсуждением отзывов.

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

    Снимок экрана: меню учетной записи GitHub с параметрами для просмотра и изменения профиля, содержимого и параметров пользователями. Пункт меню "Параметры" выделен темно-оранжевым цветом.

  2. На левой боковой панели щелкните Параметры разработчика.

  3. На левой боковой панели в разделе Personal access tokens щелкните Детализированные токены.

  4. Щелкните Generate new token (Создание нового маркера).

  5. В разделе Имя токена введите имя маркера.

  6. В разделе Срок действия выберите срок действия маркера.

  7. При необходимости в разделе Описание добавьте примечание для описания назначения маркера.

  8. В разделе Владелец ресурса выберите владельца ресурса. Маркер сможет получить доступ только к ресурсам, принадлежащим выбранному владельцу ресурса. Организации, членом которых вы являетесь, не будут отображаться, если организация не согласилась на fine-grained personal access tokens. Дополнительные сведения см. в разделе Настройка политики личного маркера доступа для организации.

  9. При необходимости, если владелец ресурса является организацией, требующей утверждения для fine-grained personal access tokens, под владельцем ресурса в поле введите обоснование запроса.

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

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

  12. В разделе Разрешения выберите разрешения для предоставления маркера. В зависимости от того, какой владелец ресурса и какой доступ к репозиторию вы указали, существуют разрешения репозитория, организации и учетной записи. Следует выбрать минимальные разрешения, необходимые для ваших потребностей. Дополнительные сведения о том, какие разрешения требуются для каждой операции REST API, см. в разделе Разрешения, необходимые для детализированных личных маркеров доступа.

  13. Щелкните Создать токен.

Если вы выбрали организацию в качестве владельца ресурса и ей требуется утверждение fine-grained personal access tokens, маркер будет помечаться как pending до тех пор, пока он не будет проверен администратором организации. Маркер сможет считывать общедоступные ресурсы только до тех пор, пока он не будет утвержден. Если вы являетесь владельцем организации, ваш запрос утверждается автоматически. Дополнительные сведения см. в разделе Проверка и отзыв личных маркеров доступа в организации.

Создание personal access token (classic)

Примечание. Владельцы организации могут ограничить доступ personal access token (classic) к своей организации. Если вы попытаетесь использовать personal access token (classic) для доступа к ресурсам в организации, которая отключила доступ к personal access token (classic), запрос завершится ошибкой с ответом 403. Вместо этого необходимо использовать GitHub App, OAuth App или fine-grained personal access token.

Примечание. Ваш personal access token (classic) может получить доступ ко всем репозиториям, к которым вы можете получить доступ. GitHub рекомендует использовать fine-grained personal access tokens, которые можно ограничить определенными репозиториями. Fine-grained personal access tokens также позволяют указать детализированные разрешения вместо широких областей.

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

    Снимок экрана: меню учетной записи GitHub с параметрами для просмотра и изменения профиля, содержимого и параметров пользователями. Пункт меню "Параметры" выделен темно-оранжевым цветом.

  2. На левой боковой панели щелкните Параметры разработчика.

  3. На левой боковой панели в разделе Personal access tokens щелкните Маркеры (классические) . 1. Выберите Создать новый маркер, а затем щелкните Создать маркер (классический) .

  4. В поле "Примечание" присвойте маркеру описательное имя.

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

  6. Выберите области, которые вы хотите предоставить этому маркеру. Чтобы использовать маркер для доступа к репозиториям из командной строки, выберите repo. С помощью маркера без назначенных областей можно получить доступ только к общедоступной информации. Дополнительные сведения см. в разделе Области для приложений OAuth.

  7. Щелкните Создать токен.

  8. При необходимости, чтобы скопировать новый маркер в буфер обмена, щелкните .

    Снимок экрана: страница "Personal access tokens". Рядом с размытым маркером значок двух перекрывающихся квадратов выделен оранжевым цветом.

  9. Чтобы использовать маркер для доступа к ресурсам, принадлежащим организации, которая использует единый вход SAML, авторизуйте маркер. Дополнительные сведения см. в разделе Авторизация личного токена доступа для использования с документами единого входа SAMLв документации по GitHub Enterprise Cloud.

Удаление personal access token

  1. В правом верхнем углу любой страницы щелкните фотографию профиля, а затем выберите Параметры.

    Снимок экрана: меню учетной записи GitHub с параметрами для просмотра и изменения профиля, содержимого и параметров пользователями. Пункт меню "Параметры" выделен темно-оранжевым цветом.

  2. На левой боковой панели щелкните Параметры разработчика.

  3. На левой боковой панели в разделе Personal access tokens щелкните маркеры детализации или Маркеры (классические) в зависимости от типа personal access token вы хотите удалить.

  4. Справа от personal access token, который требуется удалить, нажмите кнопку Удалить.

Использование personal access token в командной строке

Получив personal access token, вы можете ввести его вместо пароля при выполнении операций Git по протоколу HTTPS.

Например, чтобы клонировать репозиторий в командной строке, введите следующую git clone команду. После этого вам будет предложено ввести имя пользователя и пароль. При запросе пароля введите personal access token вместо пароля.

$ git clone https://github.com/USERNAME/REPO.git
Username: YOUR_USERNAME
Password: YOUR_PERSONAL_ACCESS_TOKEN

Personal access tokens можно использовать только для операций HTTPS Git. Если в репозитории используется удаленный URL-адрес SSH, необходимо переключить удаленный узел с SSH на HTTPS.

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

Вместо того, чтобы вручную вводить personal access token для каждой операции HTTPS Git, вы можете кэшировать personal access token с помощью клиента Git. Git временно хранит учетные данные в памяти до истечения срока их действия. Вы также можете сохранить маркер в обычном текстовом файле, который Git может считывать перед каждым запросом. Дополнительные сведения см. в разделе Кэширование учетных данных GitHub в Git.

Дополнительные материалы