참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.
개요
permissions
를 사용하여 GITHUB_TOKEN
에 부여된 기본 사용 권한을 수정하면 필요에 따라 액세스를 추가하거나 제거하여 필요한 최소 액세스만 허용할 수 있습니다. 자세한 내용은 "자동 토큰 인증"을 참조하세요.
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
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
에 부여된 기본 사용 권한을 수정하면 필요에 따라 액세스를 추가하거나 제거하여 필요한 최소 액세스만 허용할 수 있습니다. 자세한 내용은 "자동 토큰 인증"을 참조하세요.
작업 정의 내에서 사용 권한을 지정하여 필요한 경우 각 작업의 GITHUB_TOKEN
에 대해 다른 사용 권한 집합을 구성할 수 있습니다. 또는 워크플로의 모든 작업에 대한 사용 권한을 지정할 수 있습니다. 워크플로 수준에서 사용 권한을 정의하는 방법에 대한 자세한 내용은 permissions
를 참조하세요.
사용 가능한 범위 및 액세스 값:
permissions:
actions: read|write|none
checks: read|write|none
contents: read|write|none
deployments: 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)"을 참조하세요.
### 예: 특정 작업에 대한 사용 권한 설정
이 예제에서는 이름이 `stale`로 지정된 작업에만 적용되는 `GITHUB_TOKEN`에 대해 설명되는 사용 권한을 보여 줍니다. `issues` 및 `pull-requests` 범위에 대한 쓰기 권한이 부여됩니다. 다른 모든 범위에는 액세스할 수 없습니다.
```yaml
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v4