Skip to main content
Claude Code GitHub Actions는 기본적으로 Claude API를 호출합니다. 대신 자신의 클라우드 계정을 통해 추론을 라우팅하려면 Claude Code GitHub Action의 provider 입력을 설정하고 워크플로우의 OpenID Connect(OIDC) 토큰을 신뢰하도록 클라우드를 구성합니다. 워크플로우는 해당 토큰으로 인증되므로 저장소에 장기 클라우드 자격 증명을 저장할 필요가 없습니다.
이 페이지는 GitHub Actions 설정을 기반으로 합니다. 이미 워크플로우 파일과 anthropics/claude-code-action 단계를 알고 있다고 가정하며, 클라우드 제공자가 변경하는 부분만 다룹니다.

제공자 선택하기

Claude Code GitHub Action은 세 가지 제공자를 지원하며, 아래의 설정 단계는 클라우드 측 구성에서만 다릅니다. 조직에서 이미 Claude 모델 액세스 권한이 있는 제공자를 사용합니다. anthropics/claude-code-action 단계의 with: 블록에서 하나의 입력으로 Claude Code GitHub Action에 사용할 제공자를 알려줍니다:
  • Amazon Bedrock: use_bedrock: "true"
  • Google Cloud의 Agent Platform: use_vertex: "true"
  • Microsoft Foundry: use_foundry: "true"
통합 설정 아래의 완전한 워크플로우 예제에는 각 제공자에 대한 입력이 이미 포함되어 있습니다.

필수 조건

시작하기 전에 다음이 필요합니다:
  • Claude Code GitHub Action이 실행되는 저장소에 대한 관리자 액세스 권한(GitHub App 설치 및 비밀 추가)
  • 클라우드 계정에서 ID 리소스를 생성할 권한: AWS의 IAM 역할 및 OIDC ID 제공자, Google Cloud의 Workload Identity Federation 리소스 및 서비스 계정, 또는 Azure의 Microsoft Entra 애플리케이션
  • 제공자의 Claude 모델 액세스:
    • Amazon Bedrock: Claude 모델에 대한 액세스 권한 부여. 이 페이지의 예제에서 us. 모델 ID와 같은 교차 지역 추론 프로필은 해당 지역 그룹의 모든 지역에서 액세스 권한이 부여되어야 합니다. Amazon Bedrock의 Claude Code 참조
    • Google Cloud의 Agent Platform: Agent Platform API가 활성화되고 Claude 모델에 액세스할 수 있는 프로젝트. Google Cloud의 Agent Platform의 Claude Code 참조
    • Microsoft Foundry: Claude 모델 배포가 있는 Foundry 리소스. Microsoft Foundry의 Claude Code 참조

통합 설정하기

필수 조건 외에도 네 가지를 생성합니다: Claude Code GitHub Action을 위한 GitHub ID, 클라우드 측 신뢰 구성, 저장소 비밀, 그리고 워크플로우 파일입니다. 아래 단계는 각각을 안내합니다.
1

GitHub ID 선택하기

Claude Code GitHub Action은 GitHub ID를 통해 커밋을 푸시하고 댓글을 게시합니다. 빠른 설정은 이를 위해 공식 Claude GitHub App을 설치합니다. 클라우드 제공자를 사용할 때는 ID를 직접 선택합니다:
  • 공식 Claude GitHub App: 저장소에 설치하거나, 이미 설치되어 있으면 다음 단계로 건너뜁니다
  • 사용자 정의 GitHub App: Claude Code GitHub Action이 사용하는 세 가지 권한만 원할 때 자신의 앱을 생성합니다(공식 앱의 전체 세트 대신)
  • GitHub의 자동 GITHUB_TOKEN: 생성하거나 설치할 앱이 없지만, GitHub는 이를 사용하여 만든 커밋에서 CI 워크플로우를 트리거하지 않습니다
네 번째 단계의 워크플로우 예제는 사용자 정의 앱으로 인증합니다. 해당 단계에서는 다른 두 옵션에 대해 변경할 사항도 설명합니다.사용자 정의 앱을 생성하려면 새 GitHub App을 등록하되 이 통합에서 사용하지 않으므로 웹훅을 비활성화합니다. 세 가지 저장소 권한을 부여합니다:
  • Contents: 읽기 및 쓰기
  • Issues: 읽기 및 쓰기
  • Pull requests: 읽기 및 쓰기
앱을 등록한 후 개인 키를 생성하고 다운로드한 .pem 파일을 보관하고, 앱의 설정 페이지에서 App ID를 기록하고, Claude Code GitHub Action이 실행되는 저장소에 앱을 설치합니다. 세 번째 단계에서 키와 ID를 비밀로 추가합니다.
2

클라우드 인증 구성하기

GitHub가 워크플로우에 발급하는 OIDC 토큰을 신뢰하도록 클라우드를 구성하여 각 워크플로우 실행이 단기 클라우드 자격증명을 얻도록 합니다. 각 탭의 글머리 기호는 생성할 항목을 요약하고, 각 탭은 콘솔 수준 단계에 대한 클라우드 공급업체의 가이드로 연결됩니다.
OIDC ID 제공자 생성에 대한 AWS 가이드에 따라 AWS 계정에서 신뢰 구성을 생성합니다:
  • 제공자 URL https://token.actions.githubusercontent.com 및 대상 sts.amazonaws.com을 사용하여 GitHub OIDC ID 제공자 추가
  • 해당 제공자를 웹 ID로 신뢰하는 IAM 역할을 생성하고 IAM 구성의 범위가 지정된 호출 정책을 연결합니다. 이 정책은 bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream, bedrock:ListInferenceProfiles, bedrock:GetInferenceProfile 및 두 가지 aws-marketplace 구독 작업을 부여합니다
  • 역할의 신뢰 정책을 저장소로 제한합니다. repo:your-org/your-repo:*와 같은 주체 조건을 사용합니다. 청구 형식은 GitHub의 OIDC 강화 가이드를 참조합니다
역할의 ARN을 기록합니다. 다음 단계에서 비밀로 추가합니다.
3

저장소 비밀 추가하기

Claude Code GitHub Action이 실행되는 저장소에서 제공자에 대한 비밀을 추가하고, 첫 번째 단계에서 사용자 정의 GitHub App을 생성한 경우 두 가지 앱 비밀을 추가합니다. GitHub의 GitHub Actions에서 비밀 사용하기 가이드를 참조합니다.
4

워크플로우 파일 생성하기

제공자에 대한 워크플로우 파일(예: .github/workflows/claude.yml)을 생성합니다. 각 예제는 @claude 언급에 응답하고, 사용자 정의 앱으로 GitHub에 인증하며, id-token: write 권한을 포함합니다. GitHub는 클라우드 제공자가 자격증명으로 교환하는 OIDC 토큰을 발급하기 위해 이 권한이 필요합니다.첫 번째 단계에서 다른 GitHub ID를 선택한 경우 예제를 조정합니다:
  • 공식 Claude GitHub App: GitHub App 토큰 생성 단계와 github_token 줄 삭제
  • GitHub의 자동 토큰: 토큰 생성 단계 삭제 및 github_token 줄을 github_token: ${{ secrets.GITHUB_TOKEN }}으로 변경
공개 저장소에서 모든 사용자의 트리거 구문이 포함된 댓글이 이 워크플로우를 시작합니다. 자격증명 단계는 Claude Code GitHub Action이 댓글 작성자의 쓰기 액세스를 확인하기 전에 실행되므로, 작업은 권한이 없는 사용자를 거부하지만 워크플로우가 App 토큰을 생성하고 클라우드 제공자에 로그인한 후에만 거부합니다. 이는 감사 로그 항목을 남기고 Actions 분을 소비합니다. 이러한 실행을 피하려면 자격증명 단계 전에 댓글 작성자의 쓰기 액세스를 확인하는 단계를 추가합니다.
aws-region 값을 자신의 값으로 바꿉니다. 자격증명 단계는 이를 AWS_REGION으로 내보내므로 작업의 나머지 부분에서 사용할 수 있습니다.
Bedrock 모델 ID에는 us.와 같은 교차 지역 추론 프로필 접두사가 포함됩니다. 모델 액세스 권한을 부여한 지역 그룹의 접두사를 사용합니다.
모든 제공자에서 claude_args--max-turns를 추가하여 실행 길이와 비용을 제한할 수 있습니다. 비용 관리를 참조합니다.
5

설정 테스트하기

이슈 또는 PR 댓글에서 @claude를 언급한 다음 저장소의 Actions 탭에서 실행을 확인합니다. Claude는 동일한 이슈 또는 PR의 댓글로 응답합니다.

문제 해결

실패한 실행은 일반적으로 두 가지 위치 중 하나에서 중단됩니다:
  • 인증 오류: 일반적으로 OIDC 구성 오류입니다. 워크플로우에 id-token: write 권한이 포함되어 있는지, 신뢰 구성의 저장소 조건이 저장소와 정확히 일치하는지, 워크플로우의 비밀 이름이 추가한 이름과 일치하는지 확인합니다
  • 트리거 및 CI 문제: Claude Code GitHub Action이 Claude API를 호출할 때와 동일하게 동작합니다. 메인 페이지의 문제 해결 섹션 및 Claude Code GitHub Action의 FAQ를 참조합니다

다음 단계