Skip to main content

Создание личного маркера доступа

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

Предупреждение. Рассматривайте маркеры доступа как пароли.

Для доступа к GitHub из командной строки рекомендуется использовать GitHub CLI или диспетчер учетных данных Git вместо создания personal access token.

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

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

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

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

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

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

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

Примечание. В настоящее время некоторые функции работают только с personal access tokens (classic):

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

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

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

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

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

    Значок "Настройки" на панели пользователя

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание 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. В правом верхнем углу любой страницы щелкните фотографию профиля, а затем выберите Параметры.

    Значок "Настройки" на панели пользователя

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

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

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

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

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

  7. Щелкните Создать токен. Кнопка создания маркера Созданный маркер

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

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

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

Например, в командной строке введите следующее:

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

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

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

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

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