Skip to main content

이 버전의 GitHub Enterprise Server는 다음 날짜에 중단됩니다. 2026-08-25. 지원되지 않는 릴리스는 지원되지 않습니다. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. GitHub Enterprise Server의 향상된 성능, 향상된 보안 및 새로운 기능은 업그레이드 프로세스의 오버뷰 참조하세요. 업그레이드에 대한 도움이 필요하면 GitHub Enterprise 지원에 문의하세요.

워크플로에서 인증에 GITHUB_TOKEN 사용

GITHUB_TOKEN를 사용하여 GitHub Actions를 대신해 인증하는 방법을 알아봅니다.

이 자습서에서는 작업에 토큰을 전달하고, API 요청을 수행하고, 보안 자동화에 대한 사용 권한을 구성하는 예제를 포함하여 워크플로에서 인증 GITHUB_TOKEN 에 사용하는 GitHub Actions 방법을 안내합니다.

참조 정보는 GitHub Actions에 대한 워크플로 구문을(를) 참조하세요.

워크플로에서 GITHUB_TOKEN 사용

${{ secrets.GITHUB_TOKEN }} 와 같이 시크릿을 참조하는 표준 구문을 사용하여 GITHUB_TOKEN를 사용할 수 있습니다. 토큰을 GITHUB_TOKEN 작업에 대한 입력으로 전달하거나 인증된 GitHub API 요청을 만드는 데 사용하는 예제입니다.

중요

워크플로가 GITHUB_TOKEN을 작업에 명시적으로 전달하지 않더라도 작업은 github.token 컨텍스트를 통해 GITHUB_TOKEN에 액세스할 수 있습니다. 좋은 보안 사례로, 항상 GITHUB_TOKEN에 부여된 권한을 제한하여 필요한 최소 액세스 권한만 갖도록 해야 합니다. 자세한 내용은 GitHub Actions에 대한 워크플로 구문을(를) 참조하세요.

예제 1: 입력으로 GITHUB_TOKEN 전달

이 예제 워크플로는 GitHub CLI를 사용하며, 이 경우 GITHUB_TOKEN 입력 매개 변수의 값으로 GH_TOKEN가 필요합니다.

YAML
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 사용하여 문제를 만듭니다.

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 http(s)://HOSTNAME/api/v3/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에 최소한의 액세스 권한을 부여해야 합니다.

사용 가능한 권한 목록과 매개 변수가 있는 이름을 보려면 개인용 액세스 토큰 관리을(를) 참조하세요.

이 문서의 앞부분에 있는 워크플로 예제 두 개는 워크플로 수준과 작업 수준에서 사용 중인 permissions 키를 보여 줍니다.

추가 권한 부여

GITHUB_TOKEN에서 사용할 수 없는 권한이 필요한 토큰이 필요하면 GitHub App를 만들고 워크플로 내에서 설치 액세스 토큰을 생성하세요. 자세한 내용은 GitHub Actions 워크플로에서 GitHub 앱을 사용하여 인증된 API 요청 만들기을(를) 참조하세요. 대신 personal access token를 생성한 다음 리포지토리에 시크릿으로 저장하고, ${{ secrets.SECRET_NAME }} 구문을 사용해 워크플로에서 해당 토큰을 사용할 수 있습니다. 자세한 내용은 개인용 액세스 토큰 관리GitHub Actions에서 비밀 사용을(를) 참조하세요.

다음 단계