본문으로 건너뛰기
배포와 운영 기초집LESSON 12

GitHub Secrets와 토큰을 안전하게 다루는 원칙

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

12강. GitHub Secrets와 토큰을 안전하게 다루는 원칙

1. 이번 강의에서 해결할 문제

자동 배포에 인증 값이 필요하다고 토큰을 workflow에 직접 쓰면 저장소와 로그에 노출됩니다. 현재 Pages 공식 action에는 사용자 PAT가 필요하지 않음을 먼저 확인합니다.

2. 학습 목표

3. 핵심 개념

GitHub Secret은 저장소·환경·조직 범위에서 만들고 workflow가 명시적으로 참조할 때만 전달됩니다. 마스킹은 실수 방지에 도움을 주지만 모든 변형 출력을 보장하지 않으므로 비밀을 출력하지 않는 것이 원칙입니다. 현재 Pages workflow는 저장소가 제공하는 단기 GITHUB_TOKEN 권한으로 배포하며 사용자 PAT나 SSH 개인 키를 YAML에 넣지 않습니다.

GitHub Actions Secrets 공식 문서의 범위와 명시적 참조 원칙을 확인합니다.

4. 단계별 실습

1. PowerShell

실행 위치: 저장소 루트

실행 전 확인: 실제 Secret 값은 조회하거나 출력하지 않습니다.

대상: workflow의 비밀·권한 참조

PowerShell
Select-String -Path .github\workflows\*.yml -Pattern "secrets\.|GITHUB_TOKEN|permissions:|pages:|id-token:"

예상 결과: 현재 Pages workflow의 최소 권한이 보이고 사용자 비밀 값은 나타나지 않습니다.

2. GitHub 웹 화면

실행 위치: Settings → Secrets and variables → Actions

실행 전 확인: 이 과정의 Pages 배포에는 새 Secret이 필요하지 않으며 실제 서비스 가입·토큰 발급을 요구하지 않습니다.

대상: 가상 선택 기능용 EXAMPLE_SERVICE_TOKEN 이름

GitHub 웹 화면
1. Secret 이름·사용 환경 설계
2. 최소 권한·짧은 만료 정책 확인
3. 값은 화면·문서·PR에 복사하지 않기
4. 사용하지 않는 Secret 제거 계획 기록

예상 결과: 실제 값을 만들지 않아도 Secret의 범위와 수명 주기를 설명할 수 있습니다.

5. 배포·운영 흐름이 동작하는 이유

Secret은 runner 실행 시 필요한 step 환경에만 주입할 수 있고, 최소 권한 토큰은 유출 시 피해 범위를 줄입니다. 공식 Pages action은 OIDC와 저장소 기본 토큰을 사용해 장기 개인 토큰 저장을 피합니다.

6. 자주 하는 실수와 안전한 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

GitHub Secrets와 토큰을 안전하게 다루는 원칙 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“GitHub Secrets와 토큰을 안전하게 다루는 원칙”에서 오류나 데이터 손실을 줄이는 선택은 무엇인가요?
  2. 문제 2“GitHub Secrets와 토큰을 안전하게 다루는 원칙”에서 ‘Secret 값을 echo로 점검’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

12강. GitHub Secrets와 토큰을 안전하게 다루는 원칙 미완료 상태