GitHub Secrets와 토큰을 안전하게 다루는 원칙
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의 비밀·권한 참조
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 이름
1. Secret 이름·사용 환경 설계
2. 최소 권한·짧은 만료 정책 확인
3. 값은 화면·문서·PR에 복사하지 않기
4. 사용하지 않는 Secret 제거 계획 기록
예상 결과: 실제 값을 만들지 않아도 Secret의 범위와 수명 주기를 설명할 수 있습니다.
5. 배포·운영 흐름이 동작하는 이유
Secret은 runner 실행 시 필요한 step 환경에만 주입할 수 있고, 최소 권한 토큰은 유출 시 피해 범위를 줄입니다. 공식 Pages action은 OIDC와 저장소 기본 토큰을 사용해 장기 개인 토큰 저장을 피합니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
GitHub Secrets와 토큰을 안전하게 다루는 원칙 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.