Overview
permissions
๋ฅผ ์ฌ์ฉํ์ฌ GITHUB_TOKEN
์ ๋ถ์ฌ๋ ๊ธฐ๋ณธ ์ฌ์ฉ ๊ถํ์ ์์ ํ๋ฉด ํ์์ ๋ฐ๋ผ ์ก์ธ์ค๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ์ฌ ํ์ํ ์ต์ ์ก์ธ์ค๋ง ํ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ "์๋ ํ ํฐ ์ธ์ฆ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
permissions
๋ฅผ ์ต์์ ํค๋ก ์ฌ์ฉํ๊ฑฐ๋, ์ํฌํ๋ก์ ๋ชจ๋ ์์
์ ์ ์ฉํ๊ฑฐ๋, ํน์ ์์
๋ด์์ ์ ์ฉํ ์ ์์ต๋๋ค. ํน์ ์์
๋ด์ permissions
ํค๋ฅผ ์ถ๊ฐํ๋ฉด GITHUB_TOKEN
์ ์ฌ์ฉํ๋ ํด๋น ์์
๋ด์ ๋ชจ๋ ๋์ ๋ฐ ์คํ ๋ช
๋ น์ด ์ง์ ํ ์ก์ธ์ค ๊ถํ์ ์ป๊ฒ ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ jobs.<job_id>.permissions
๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ ํ์ ํ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ ๊ถํ์ ๋ํด read
(ํด๋น๋๋ ๊ฒฝ์ฐ), write
๋๋ none
์ก์ธ์ค ์์ค ์ค ํ๋๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค. write
์๋ read
๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๊ถํ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ง์ ํ๋ฉด ์ง์ ๋์ง ์์ ๋ชจ๋ ๊ถํ์ none
์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๊ถํ ๋ฐ ๊ฐ ์์ ์์ ์ํํ ์ ์๋ ์์ ์ ๋ํ ์ธ๋ถ ์ ๋ณด:
Permission | GITHUB_TOKEN ์(๋ฅผ) ์ฌ์ฉํ์ฌ ์์
์ ํ์ฉํฉ๋๋ค. |
---|---|
actions | GitHub Actions์ผ๋ก ์คํ ์๋ฅผ ๋ค์ด, actions: write ์ด(๊ฐ) ์ํฌํ๋ก ์คํ์ ์ทจ์ํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
attestations | ์ํฐํฉํธ ์ฆ๋ช
์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด attestations: write ๋ ์์
์์ ๋น๋์ ๋ํ ์ํฐํฉํธ ์ฆ๋ช
์ ์์ฑํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "์ํฐํฉํธ ์ฆ๋ช
์ ์ฌ์ฉํ์ฌ ๋น๋์ ์ถ์ฒ ์ค์ "์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
checks | ๊ฒ์ฌ ์คํ ๋ฐ ๊ฒ์ฌ ๋๊ตฌ ๋ชจ์์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, checks: write ์ด(๊ฐ) ๊ฒ์ฌ ์คํ์ ๋ง๋ค๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
contents | ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ด์ฉ์ ์ด์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด contents: read ์ด(๊ฐ) ์ปค๋ฐ์ ๋์ดํ๋๋ก ํ์ฉํ๊ณ contents: write ์ด(๊ฐ) ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค ์ ์๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
deployments | ๋ฐฐํฌ ์์
์๋ฅผ ๋ค์ด, deployments: write ์ด(๊ฐ) ์ ๋ฐฐํฌ๋ฅผ ๋ง๋ค๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
packages | GitHub ํจํค์ง๋ก ์์
ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, packages: write ์ด(๊ฐ) GitHub ํจํค์ง์ ํจํค์ง๋ฅผ ์
๋ก๋ํ๊ณ ๊ฒ์ํ๋ ์์
์ ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ํจํค์ง์ ๋ํ ์ฌ์ฉ ๊ถํ ์ ๋ณด"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
pages | GitHub Pages๋ก ์์
ํฉ๋๋ค. ์๋ฅผ ๋ค์ด pages: write ์ด(๊ฐ) GitHub Pages ๋น๋๋ฅผ ์์ฒญํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
pull-requests | ๋์ด์ค๊ธฐ ์์ฒญ์ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด pull-requests: write ์ด(๊ฐ) ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ ์ด๋ธ์ ์ถ๊ฐํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
repository-projects | GitHub ํ๋ก์ ํธ(ํด๋์)๋ก ์์
ํฉ๋๋ค. ์๋ฅผ ๋ค์ด repository-projects: write ์ด(๊ฐ) ํ๋ก์ ํธ(ํด๋์)์ ์ด์ ์ถ๊ฐํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
security-events | GitHub ์ฝ๋ ๊ฒ์ฌ ๋ฐ Dependabot ๊ฒฝ๊ณ ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด security-events: read ์ด(๊ฐ) ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ Dependabot ๊ฒฝ๊ณ ๋ฅผ ๋์ดํ๋๋ก ํ์ฉํ๊ณ security-events: write ์ด(๊ฐ) ์ฝ๋ ๊ฒ์ ๊ฒฝ๊ณ ์ ์ํ ์
๋ฐ์ดํธํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ์ฌ์ฉ ๊ถํ"์์ "'์ฝ๋ ๊ฒ์ ๊ฒฝ๊ณ '์ ๋ํ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ถํ" ๋ฐ "'Dependabot ๊ฒฝ๊ณ '์ ๋ํ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ถํ"์ ์ฐธ์กฐํ์ธ์. |
statuses | ์ปค๋ฐ ์ํ ์์
ํฉ๋๋ค. ์๋ฅผ ๋ค์ด statuses:read ์ด(๊ฐ) ์ง์ ๋ ์ฐธ์กฐ์ ๋ํ ์ปค๋ฐ ์ํ ๋์ดํ๋๋ก ํ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ "GitHub ์ฑ์ ํ์ํ ๊ถํ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์. |
Defining access for the GITHUB_TOKEN
permissions
permissions
ํค ๋ด์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ถํ์ ๊ฐ์ผ๋ก read
, write
, none
์ ์ง์ ํ์ฌ GITHUB_TOKEN
์ด ํ์ฉํ ์ก์ธ์ค๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
permissions:
actions: read|write|none
attestations: read|write|none
checks: read|write|none
contents: read|write|none
deployments: read|write|none
id-token: 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
์ผ๋ก ์ค์ ๋ฉ๋๋ค.
๋ค์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๊ถํ์ ๋ํ read-all
๋๋ write-all
์ก์ธ์ค ์ค ํ๋๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
permissions: read-all
permissions: write-all
๋ค์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๊ถํ์ ๋ํ ์ฌ์ฉ ๊ถํ์ ์ฌ์ฉํ์ง ์๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
permissions: {}
Changing the permissions in a forked repository
๋ํ permissions
ํค๋ฅผ ์ฌ์ฉํ์ฌ ํฌํฌ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์ฝ๊ธฐ ๊ถํ์ ์ถ๊ฐ ๋ฐ ์ ๊ฑฐํ ์ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ฐ๊ธฐ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. ์ด ๋์์ ์์ธ๋ ๊ด๋ฆฌ ์ฌ์ฉ์๊ฐ GitHub Actions ์ค์ ์ ๋์ด์ค๊ธฐ ์์ฒญ์์ ์ํฌํ๋ก์ ์ฐ๊ธฐ ํ ํฐ ๋ณด๋ด๊ธฐ ์ต์
์ ์ ํํ ๊ฒฝ์ฐ์
๋๋ค. ์์ธํ ๋ด์ฉ์ "๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ GitHub Actions ์ค์ ๊ด๋ฆฌ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
Setting the GITHUB_TOKEN
permissions for all jobs in a workflow
You can specify permissions
at the top level of a workflow, so that the setting applies to all jobs in the workflow.
Example: Setting the GITHUB_TOKEN
permissions for an entire workflow
์ด ์์ ์์๋ ์ํฌํ๋ก์ ๋ชจ๋ ์์
์ ์ ์ฉ๋๋ GITHUB_TOKEN
์ ๋ํด ์ค์ ๋๋ ์ฌ์ฉ ๊ถํ์ ๋ณด์ฌ ์ค๋๋ค. ๋ชจ๋ ๊ถํ์๋ ์ฝ๊ธฐ ์ก์ธ์ค ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค.
name: "My workflow"
on: [ push ]
permissions: read-all
jobs:
...
Setting the GITHUB_TOKEN
permissions for a specific job
ํน์ ์์
์ ๊ฒฝ์ฐ jobs.<job_id>.permissions
๋ฅผ ์ฌ์ฉํ์ฌ GITHUB_TOKEN
์ ๋ถ์ฌ๋ ๊ธฐ๋ณธ ์ฌ์ฉ ๊ถํ์ ์์ ํ๋ฉด ํ์์ ๋ฐ๋ผ ์ก์ธ์ค๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ์ฌ ํ์ํ ์ต์ ์ก์ธ์ค๋ง ํ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ "์๋ ํ ํฐ ์ธ์ฆ"์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์์
์ ์ ๋ด์์ ์ฌ์ฉ ๊ถํ์ ์ง์ ํ์ฌ ํ์ํ ๊ฒฝ์ฐ ๊ฐ ์์
์ GITHUB_TOKEN
์ ๋ํด ๋ค๋ฅธ ์ฌ์ฉ ๊ถํ ์งํฉ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋๋ ์ํฌํ๋ก์ ๋ชจ๋ ์์
์ ๋ํ ์ฌ์ฉ ๊ถํ์ ์ง์ ํ ์ ์์ต๋๋ค. ์ํฌํ๋ก ์์ค์์ ์ฌ์ฉ ๊ถํ์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ permissions
๋ฅผ ์ฐธ์กฐํ์ธ์.
Example: Setting the GITHUB_TOKEN
permissions for one job in a workflow
์ด ์์ ์์๋ ์ด๋ฆ์ด stale
๋ก ์ง์ ๋ ์์
์๋ง ์ ์ฉ๋๋ GITHUB_TOKEN
์ ๋ํด ์ค๋ช
๋๋ ์ฌ์ฉ ๊ถํ์ ๋ณด์ฌ ์ค๋๋ค. issues
๋ฐ pull-requests
๊ถํ์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ๋ถ์ฌ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๊ถํ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5