Обзор
permissions можно использовать для изменения разрешений по умолчанию, предоставленных GITHUB_TOKEN, при необходимости добавляя или удаляя права доступа, чтобы разрешить только минимальный требуемый доступ. Дополнительные сведения см. в разделе Automatic token authentication.
permissions можно использовать в качестве ключа верхнего уровня для применения ко всем заданиям в рабочем процессе или в конкретных заданиях. При добавлении ключа permissions в конкретном задании указанные права доступа получают все действия и команды выполнения в этом задании, использующие GITHUB_TOKEN. Дополнительные сведения см. на веб-сайте jobs.<job_id>.permissions.
Доступные области и значения доступа:
permissions:
actions: read|write|none
checks: read|write|none
contents: read|write|none
deployments: read|write|none
id-token: read|write|none
issues: read|write|none
discussions: read|write|none
packages: read|write|none
pages: read|write|none
pull-requests: read|write|none
repository-projects: read|write|none
security-events: read|write|none
statuses: read|write|none
Если указать доступ для любой из этих областей, для всех не указанных параметров будет задано значение none.
Для определения доступа на чтение или запись для всех доступных областей можно использовать следующий синтаксис:
permissions: read-all|write-all
Для отключения разрешений для всех доступных областей можно использовать следующий синтаксис:
permissions: {}
``` С помощью ключа `permissions` можно добавлять и удалять разрешения на чтение для разветвленных репозиториев, но обычно предоставить доступ на запись нельзя. Исключением из этого поведения является то, что пользователь администратора выбрал **Отправлять маркеры записи в рабочие процессы из запросов на вытягивание** в параметрах GitHub Actions. Дополнительные сведения см. в разделе [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks).
### Пример. Назначение разрешений для GITHUB_TOKEN
В этом примере показаны разрешения, заданные для `GITHUB_TOKEN`, которые будут применены ко всем заданиям в рабочем процессе. Всем разрешениям предоставляется доступ на чтение.
```yaml
name: "My workflow"
on: [ push ]
permissions: read-all
jobs:
...
Назначение разрешений определенному заданию
Для определенного задания jobs.<job_id>.permissions можно использовать для изменения разрешений по умолчанию, предоставленных GITHUB_TOKEN, при необходимости добавляя или удаляя права доступа, чтобы разрешить только минимальный требуемый доступ. Дополнительные сведения см. в разделе Automatic token authentication.
Указав разрешение в определении задания, при необходимости можно настроить для каждого задания другой набор разрешений для GITHUB_TOKEN. Кроме того, можно указать разрешения для всех заданий в рабочем процессе. Сведения об определении разрешений на уровне рабочего процесса см. в разделе permissions.
Доступные области и значения доступа:
permissions:
actions: read|write|none
checks: read|write|none
contents: read|write|none
deployments: read|write|none
id-token: read|write|none
issues: read|write|none
discussions: read|write|none
packages: read|write|none
pages: read|write|none
pull-requests: read|write|none
repository-projects: read|write|none
security-events: read|write|none
statuses: read|write|none
Если указать доступ для любой из этих областей, для всех не указанных параметров будет задано значение none.
Для определения доступа на чтение или запись для всех доступных областей можно использовать следующий синтаксис:
permissions: read-all|write-all
Для отключения разрешений для всех доступных областей можно использовать следующий синтаксис:
permissions: {}
``` С помощью ключа `permissions` можно добавлять и удалять разрешения на чтение для разветвленных репозиториев, но обычно предоставить доступ на запись нельзя. Исключением из этого поведения является то, что пользователь администратора выбрал **Отправлять маркеры записи в рабочие процессы из запросов на вытягивание** в параметрах GitHub Actions. Дополнительные сведения см. в разделе [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks).
### Пример. Настройка разрешений для определенного задания
В этом примере показаны разрешения, заданные для задания `GITHUB_TOKEN`, которое будет применяться только к заданию с именем `stale`. Доступ на запись предоставляется для областей `issues` и `pull-requests`. Все остальные области не будут иметь доступа.
```yaml
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5