{"meta":{"title":"Обеспечение безопасности учетных данных API","intro":"Следуйте этим рекомендациям, чтобы обеспечить безопасность учетных данных и маркеров API.","product":"REST API","breadcrumbs":[{"href":"/ru/enterprise-server@3.18/rest","title":"REST API"},{"href":"/ru/enterprise-server@3.18/rest/authentication","title":"Проверка подлинности"},{"href":"/ru/enterprise-server@3.18/rest/authentication/keeping-your-api-credentials-secure","title":"Обеспечение безопасности учетных данных API"}],"documentType":"article"},"body":"# Обеспечение безопасности учетных данных API\n\nСледуйте этим рекомендациям, чтобы обеспечить безопасность учетных данных и маркеров API.\n\n## Выбор подходящего метода проверки подлинности\n\nВы должны выбрать метод проверки подлинности, подходящий для задачи, которую вы хотите выполнить.\n\n* Чтобы использовать API в личных целях, можно создать personal access token.\n* Чтобы использовать API от имени организации или другого пользователя, необходимо создать GitHub App.\n* Чтобы использовать API в рабочем GitHub Actions процессе, нужно аутентифицироваться с помощью встроенного `GITHUB_TOKEN`.\n\nДополнительные сведения см. в разделе [Об аутентификации на GitHub](/ru/enterprise-server@3.18/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#authenticating-with-the-api).\n\n## Ограничение разрешений учетных данных\n\nПри создании personal access token, выберите только минимальные необходимые разрешения или область доступа и установите дату истечения на минимальное время, необходимое для использования токена.\nGitHub Рекомендует использовать fine-grained personal access tokens вместо personal access tokens (classic). Дополнительные сведения см. в разделе [Управление личными маркерами доступа](/ru/enterprise-server@3.18/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#types-of-personal-access-tokens).\n\nМаркер имеет те же возможности для доступа к ресурсам и выполнения действий с этими ресурсами, которые владелец маркера имеет, и дополнительно ограничивается любыми областями или разрешениями, предоставленными маркеру. Маркер не может предоставить пользователю дополнительные возможности доступа.\n\nПри создании GitHub App, выберите минимальные права, которые вам GitHub App понадобятся. Дополнительные сведения см. в разделе [Лучшие практики создания приложения на GitHub](/ru/enterprise-server@3.18/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app).\n\nПри аутентификации `GITHUB_TOKEN` в рабочем GitHub Actions процессе указывайте только минимальное количество необходимых разрешений. Дополнительные сведения см. в разделе [Использование GITHUB\\_TOKEN для проверки подлинности в рабочих процессах](/ru/enterprise-server@3.18/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token).\n\n## Безопасное хранение учетных данных проверки подлинности\n\nОбработайте учетные данные проверки подлинности так же, как и пароли или другие конфиденциальные учетные данные.\n\n* Не делитесь учетными данными проверки подлинности с помощью незашифрованной системы обмена сообщениями или электронной почты.\n* Не передавайте personal access token Your в виде обычного текста в командной строке. Дополнительные сведения см. в разделе [Управление личными маркерами доступа](/ru/enterprise-server@3.18/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#keeping-your-personal-access-tokens-secure).\n* Не следует отправлять незашифрованные учетные данные проверки подлинности, такие как маркеры или ключи в любой репозиторий, даже если репозиторий является закрытым. Вместо этого рассмотрите возможность использования секрета GitHub Actions. Для получения дополнительной информации смотрите [Использование секретов в GitHub Actions](/ru/enterprise-server@3.18/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets).\n* Вы можете использовать сканирование секретов для обнаружения маркеров, закрытых ключей и других секретов, которые были отправлены в репозиторий, или блокировать будущие отправки, содержащие секреты. Дополнительные сведения см. в разделе [Сканирование секретов](/ru/enterprise-server@3.18/code-security/concepts/secret-security/secret-scanning).\n\n## Ограничение доступа к учетным данным проверки подлинности\n\nНе делитесь personal access token своим опытом с другими. Вместо того чтобы делиться personal access token, рассмотрите возможность создания .GitHub App Дополнительные сведения см. в разделе [О создании приложений GitHub](/ru/enterprise-server@3.18/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps).\n\nЕсли вам нужно поделиться учетными данными с командой, сохраните учетные данные в безопасной общей системе. Например, вы можете безопасно хранить и делиться паролями с помощью [1Password](https://1password.com/) или хранить ключи в [Azure KeyVault](https://azure.microsoft.com/en-gb/products/key-vault) управляя доступом с помощью вашего IAM (управление идентификацией и доступом).\n\nЕсли вы создаёте GitHub Actions рабочий процесс, который требует доступа к API, вы можете хранить учетные данные в зашифрованном секрете и получить доступ к зашифрованному секрету из рабочего процесса. Дополнительные сведения см. в разделе \\[AUTOTITLE и [Использование секретов в GitHub Actions](/ru/enterprise-server@3.18/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets)]\\(/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow).\n\n## Безопасное использование учетных данных проверки подлинности в коде\n\nНикогда не закодируйте учетные данные проверки подлинности, такие как маркеры, ключи или секреты, связанные с приложением, в коде. Вместо этого рассмотрите возможность использования секретного менеджера, например [Azure Key Vault](https://azure.microsoft.com/products/key-vault) или [HashiCorp Vault](https://www.hashicorp.com/products/vault). Для получения GitHub App дополнительной информации о получении учетных данных см. [Лучшие практики создания приложения на GitHub](/ru/enterprise-server@3.18/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app).\n\nПри использовании a personal access token в скрипте рассмотрите хранение токена в GitHub Actions секрете и запуск скрипта через GitHub Actions. Для получения дополнительной информации смотрите [Использование секретов в GitHub Actions](/ru/enterprise-server@3.18/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets).\n\nЕсли ни один из этих вариантов не существует, вы можете хранить учетные данные проверки подлинности в `.env` файле. Не забудьте зашифровать `.env` файл и никогда не отправлять его в любой репозиторий.\n\n## Подготовка плана исправления\n\nНеобходимо своевременно создать план для обработки любых нарушений безопасности. В случае утечки маркера или других учетных данных проверки подлинности вам потребуется:\n\n* Создайте новые учетные данные.\n* Замените старые учетные данные новым везде, где вы храните или обращаетесь к учетным данным.\n* Удалите старые скомпрометированные учетные данные.\n\nДля информации о ротации скомпрометированных учетных данных GitHub Appдля , см. [Лучшие практики создания приложения на GitHub](/ru/enterprise-server@3.18/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app).\n\nДля получения информации о создании и удалении personal access tokenсм. [Управление личными маркерами доступа](/ru/enterprise-server@3.18/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)."}