본문 바로가기
Cloud/CICD

[CICD] Github Token 생성

by Tenma2 2026. 3. 3.
ArgoCD가 GitHub 저장소의 YAML 파일을 읽어와 GitOps 방식으로 배포하려면
GitHub 접근 토큰(PAT) 이 필요합니다.

이 글에서는 보안적으로 더 안전한 Fine-grained Token 발급 방법을 정리합니다.

1. 어떤 토큰을 선택해야 할까?


GitHub에서는 두 가지 방식의 토큰을 제공합니다.

  • 추천: Fine-grained tokens
    → 특정 저장소에만 권한을 줄 수 있는 최신 방식 (보안성 높음)
  • 간편: Tokens (classic)
    → 계정 전체 저장소에 광범위한 권한을 부여하는 기존 방식

=> 운영 환경에서는 Fine-grained 방식 사용을 권장합니다.

 

 


2. Repository 접근 범위 설정


토큰 생성 화면에서 Repository access를 설정합니다.

  • 선택: Only select repositories
  • 이유:
    ArgoCD가 내 GitHub의 모든 프로젝트를 읽을 필요는 없습니다.
    현재 GitOps 용도로 사용하는 EKS_GitOps 저장소만 지정하는 것이 보안적으로 안전합니다.

최소 권한 원칙 (Principle of Least Privilege)을 적용하는 것이 핵심입니다.

 

 

 

 


3. 필수 권한(Permissions) 설정


ArgoCD는 저장소의 YAML 파일을 읽기만 하면 되기 때문에 쓰기 권한은 필요하지 않습니다.

반드시 설정해야 할 권한

  • Contents: Read-only
    → ArgoCD가 Kubernetes 매니페스트(YAML)를 읽어오기 위해 필요
  • Metadata: Read-only (기본값 유지)

그 외 권한은 모두 비활성화하는 것을 권장합니다.

 

 

 

 

 

 


보안 주의사항 (중요)


토큰은 비밀번호와 동일합니다.

  • GitHub PAT는 절대 블로그, 노션, 코드 저장소에 노출하면 안 됩니다
  • 노출 시 즉시 GitHub에서 Revoke(폐기) 해야 합니다
  • 가능하면:
    • 만료 기간 설정
    • ArgoCD에서는 Kubernetes Secret으로 관리
    • CI/CD 환경에서는 Secret Manager 사용

 

ArgoCD와 GitHub 연동 구조 이해하기


ArgoCD는 Git 저장소를 "Single Source of Truth"로 삼습니다.

동작 흐름은 다음과 같습니다:

  1. GitHub 저장소 (EKS_GitOps)
  2. ArgoCD가 PAT로 인증 후 YAML 파일 조회
  3. Kubernetes(EKS)에 자동 반영

이 구조는 Git 변경이 곧 배포가 되는 진정한 GitOps 방식입니다.

 

운영 환경에서 ArgoCD를 사용할 때 가장 중요한 것은

최소 권한 설정
Fine-grained Token 사용
토큰 철저한 보안 관리

GitOps는 자동화만큼이나 보안 설계가 핵심입니다.
처음 설정 단계에서 제대로 구성해두면, 이후 운영이 훨씬 안정적이고 안전해집니다.

 

 

'Cloud > CICD' 카테고리의 다른 글

[CICD] GitOps 환경구축 #1 (Github Actions)  (0) 2026.02.20
[CICD] GitOps 환경구축 (ECR)  (0) 2026.02.15
[CICD] Local GitOps 환경 구축 #2  (0) 2026.02.14
[CICD] Local GitOps 환경 구축 #1  (0) 2026.02.13