# Использование GITHUB_TOKEN для проверки подлинности в рабочих процессах

Узнайте, как использовать GITHUB_TOKEN проверку подлинности от имени GitHub Actions.

В этом руководстве вы узнаете, как использовать `GITHUB_TOKEN` проверку подлинности в рабочих процессах GitHub Actions, включая примеры передачи маркера в действия, отправку запросов API и настройку разрешений для безопасной автоматизации.

Справочные сведения см. в разделе [Синтаксис рабочего процесса для GitHub Actions](/ru/actions/reference/workflow-syntax-for-github-actions#permissions).

## Использование `GITHUB_TOKEN` в рабочем процессе

Вы можете использовать `GITHUB_TOKEN` стандартный синтаксис для ссылки секретов: `${{ secrets.GITHUB_TOKEN }}`. Примеры использования `GITHUB_TOKEN` маркера в качестве входных данных в действие или его использование для выполнения запроса API данных GitHub .

> \[!IMPORTANT]
> Действие может получить доступ к `GITHUB_TOKEN``github.token` контексту, даже если рабочий процесс явно не передает `GITHUB_TOKEN` действие. Из соображений безопасности рекомендуется всегда предоставлять действиям минимальный необходимый доступ путем ограничения разрешений, предоставленных `GITHUB_TOKEN`. Дополнительные сведения см. в разделе [Синтаксис рабочего процесса для GitHub Actions](/ru/actions/reference/workflow-syntax-for-github-actions#permissions).

### Пример 1. Передача `GITHUB_TOKEN` в качестве входных данных

В этом примере рабочий [процесс использует интерфейс командной строки](/ru/actions/using-workflows/using-github-cli-in-workflows) GitHub, для которого требуется `GITHUB_TOKEN` значение входного `GH_TOKEN` параметра:

```yaml copy
name: Open new issue
on: workflow_dispatch

jobs:
  open-issue:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
    steps:
      - run: |
          gh issue --repo ${{ github.repository }} \
            create --title "Issue title" --body "Issue body"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

### Пример 2. Вызов REST API

```
          `GITHUB_TOKEN` можно использовать для выполнения вызовов API, прошедших проверку подлинности. В этом примере рабочего процесса создается проблема с помощью REST API GitHub:
```

```yaml
name: Create issue on commit

on: [ push ]

jobs:
  create_issue:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
          --url https://api.github.com/repos/${{ github.repository }}/issues \
          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
          --header 'content-type: application/json' \
          --data '{
            "title": "Automated issue for commit: ${{ github.sha }}",
            "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
            }' \
          --fail
```

## Изменение разрешений для `GITHUB_TOKEN`

```
          `permissions` Используйте ключ в файле рабочего процесса, чтобы изменить разрешения для `GITHUB_TOKEN` всего рабочего процесса или отдельных заданий. Это позволяет настроить минимально необходимые разрешения для рабочего процесса или задания. Из соображений безопасности рекомендуется предоставлять `GITHUB_TOKEN` минимальный необходимый доступ.
```

Список разрешений, доступных для использования и их параметризованных имен, см. в разделе [Управление личными маркерами доступа](/ru/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#account-permissions).

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

## Предоставление дополнительных разрешений

Если вам нужен маркер, требующий разрешений, недоступных в приложении `GITHUB_TOKEN`, создайте GitHub App и создайте маркер доступа к установке в рабочем процессе. Дополнительные сведения см. в разделе [Создание аутентифицированных запросов API с помощью приложения GitHub в рабочем процессе GitHub Actions](/ru/apps/creating-github-apps/guides/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). Кроме того, можно создать personal access token, сохранить его в качестве секрета в репозитории и использовать маркер в рабочем процессе с синтаксисом `${{ secrets.SECRET_NAME }}` . Дополнительные сведения см. в разделе \[AUTOTITLE и [Управление личными маркерами доступа](/ru/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)]\(/actions/security-guides/using-secrets-in-github-actions).

## Следующие шаги

* [GITHUB\_TOKEN](/ru/actions/concepts/security/github_token)
* [Синтаксис рабочего процесса для GitHub Actions](/ru/actions/reference/workflow-syntax-for-github-actions#permissions)