{"meta":{"title":"워크플로에서 인증에 GITHUB_TOKEN 사용","intro":"GitHub Actions를 대신하여 GITHUB_TOKEN을 사용하여 인증하는 방법을 알아봅니다.","product":"GitHub Actions","breadcrumbs":[{"href":"/ko/actions","title":"GitHub Actions"},{"href":"/ko/actions/tutorials","title":"자습서"},{"href":"/ko/actions/tutorials/authenticate-with-github_token","title":"GITHUB_TOKEN을 사용하여 인증"}],"documentType":"article"},"body":"# 워크플로에서 인증에 GITHUB_TOKEN 사용\n\nGitHub Actions를 대신하여 GITHUB_TOKEN을 사용하여 인증하는 방법을 알아봅니다.\n\n이 자습서에서는 작업에 토큰을 전달하고, API 요청을 수행하고, 보안 자동화에 대한 사용 권한을 구성하는 예제를 포함하여 GitHub Actions 워크플로에서 인증에 `GITHUB_TOKEN`을 사용하는 방법을 안내합니다.\n\n참조 정보는 [GitHub Actions에 대한 워크플로 구문](/ko/actions/reference/workflow-syntax-for-github-actions#permissions)을(를) 참조하세요.\n\n## 워크플로에서 `GITHUB_TOKEN` 사용\n\n다음과 같이 비밀을 참조하는 데 표준 구문을 사용하면 `GITHUB_TOKEN`을 사용할 수 있습니다. `${{ secrets.GITHUB_TOKEN }}`.\n`GITHUB_TOKEN`을 사용하는 예시는 토큰을 작업에 대한 입력으로 전달하거나 인증된 GitHub API 요청을 만드는 데 사용합니다.\n\n> \\[!IMPORTANT]\n> 워크플로가 `GITHUB_TOKEN`을 작업에 명시적으로 전달하지 않더라도 작업은 `github.token` 컨텍스트를 통해 `GITHUB_TOKEN`에 액세스할 수 있습니다. 좋은 보안 사례로, 항상 `GITHUB_TOKEN`에 부여된 권한을 제한하여 필요한 최소 액세스 권한만 갖도록 해야 합니다. 자세한 내용은 [GitHub Actions에 대한 워크플로 구문](/ko/actions/reference/workflow-syntax-for-github-actions#permissions)을(를) 참조하세요.\n\n### 예제 1: 입력으로 `GITHUB_TOKEN` 전달\n\n이 예제 워크플로는 `GH_TOKEN` 입력 매개 변수의 값으로 `GITHUB_TOKEN`이 필요한 [GitHub CLI](/ko/actions/using-workflows/using-github-cli-in-workflows)를 사용합니다.\n\n```yaml copy\nname: Open new issue\non: workflow_dispatch\n\njobs:\n  open-issue:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      issues: write\n    steps:\n      - run: |\n          gh issue --repo ${{ github.repository }} \\\n            create --title \"Issue title\" --body \"Issue body\"\n        env:\n          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n### 예제 2: REST API 호출\n\n```\n          `GITHUB_TOKEN`은 인증된 API 호출을 수행하는 데 사용할 수 있습니다. 이 예제 워크플로는 GitHub REST API를 사용하여 이슈를 만듭니다.\n```\n\n```yaml\nname: Create issue on commit\n\non: [ push ]\n\njobs:\n  create_issue:\n    runs-on: ubuntu-latest\n    permissions:\n      issues: write\n    steps:\n      - name: Create issue using REST API\n        run: |\n          curl --request POST \\\n          --url https://api.github.com/repos/${{ github.repository }}/issues \\\n          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \\\n          --header 'content-type: application/json' \\\n          --data '{\n            \"title\": \"Automated issue for commit: ${{ github.sha }}\",\n            \"body\": \"This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \\n\\n The commit hash was: _${{ github.sha }}_.\"\n            }' \\\n          --fail\n```\n\n##\n\n```\n          `GITHUB_TOKEN`에 대한 권한 수정\n```\n\n워크플로 파일의 `permissions` 키를 사용하여 전체 워크플로 또는 개별 작업에 대한 `GITHUB_TOKEN`의 권한을 수정할 수 있습니다. 이렇게 하면 워크플로 또는 작업에 필요한 최소 권한을 구성할 수 있습니다. 적절한 보안 사례로, `GITHUB_TOKEN`에 최소한의 액세스 권한을 부여해야 합니다.\n\n사용 가능한 권한 목록과 매개 변수가 있는 이름을 보려면 [개인용 액세스 토큰 관리](/ko/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#account-permissions)을(를) 참조하세요.\n\n이 문서의 앞부분에 있는 워크플로 예제 두 개는 워크플로 수준과 작업 수준에서 사용 중인 `permissions` 키를 보여 줍니다.\n\n## 추가 권한 부여\n\n```\n          `GITHUB_TOKEN`에서 사용할 수 없는 권한이 필요한 토큰이 필요한 경우, GitHub App을 만들고 워크플로 내에서 설치 액세스 토큰을 생성할 수 있습니다. 자세한 내용은 [AUTOTITLE](/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](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) 및 [AUTOTITLE](/actions/security-guides/using-secrets-in-github-actions)을(를) 참조하세요.\n```\n\n## 다음 단계\n\n* [GITHUB\\_TOKEN](/ko/actions/concepts/security/github_token)\n* [GitHub Actions에 대한 워크플로 구문](/ko/actions/reference/workflow-syntax-for-github-actions#permissions)"}