Secret 및 환경 변수 관리
GitHub Actions의 Secret, 변수, 환경을 안전하게 사용해 자격 증명이 코드에 포함되지 않도록 하고 배포를 제어해 보세요.
Secret 및 환경 변수 관리은(는) CoddyKit의 무료 CI/CD with GitHub Actions & DevOps Pipelines 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CI/CD with GitHub Actions & DevOps Pipelines 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CI/CD with GitHub Actions & DevOps Pipelines 강의에는 총 4개의 강의가 포함되어 있습니다.
비밀 값에 주의해야 하는 이유
파이프라인은 레지스트리와 클라우드 대상에 접근하려면 토큰과 암호가 필요합니다. 이를 하드코딩하면 저장소에 접근할 수 있는 누구에게나 노출됩니다. 이를 막아 주는 것이 바로 비밀 값입니다.
비밀 값이 저장되는 곳
저장소, 조직 또는 환경 설정에서 비밀 값을 추가합니다. 비밀 값은 저장된 상태에서 암호화되며, 작업 흐름에는 마스킹된 값으로만 노출됩니다.
비밀 값 사용하기
secrets 컨텍스트를 통해 비밀 값을 참조한 다음, 환경 변수나 작업 입력값으로 단계에 전달합니다. 여기서는 비밀 값이 배포 스크립트에 제공됩니다.
steps:
- name: Deploy
env:
API_TOKEN: ${{ secrets.API_TOKEN }}
run: ./deploy.sh비밀 값은 마스킹됩니다
GitHub는 로그에서 비밀 값을 ***로 자동 마스킹합니다. 그렇더라도 비밀 값을 출력하거나 저장해서는 안 됩니다. 인코딩과 같은 변환은 마스킹을 우회하여 비밀 값을 유출할 수 있습니다.
변수와 비밀 값 비교
지역이나 빌드 플래그처럼 민감하지 않은 설정에는 vars 컨텍스트를 통한 변수를 사용하십시오. 변수는 사용자 인터페이스에 표시되므로 비밀이 아니라면 문제가 되지 않습니다.
env:
REGION: ${{ vars.AWS_REGION }}기본 저장소 인증 토큰
모든 실행에는 저장소에 인증하기 위한 자동 GITHUB_TOKEN이 제공됩니다. permissions 키를 사용하여 토큰의 범위를 엄격하게 제한하십시오. 이것이 최소 권한 원칙입니다.
permissions:
contents: read
pull-requests: write환경
스테이징이나 프로덕션과 같은 환경은 비밀 값과 보호 규칙을 그룹화합니다. 배포가 실행되기 전에 필수 검토자, 대기 타이머, 브랜치 제한 등을 적용할 수 있습니다.
jobs:
deploy:
environment: production
runs-on: ubuntu-latest필수 검토자
보호된 환경을 사용하면 지정된 검토자가 승인할 때까지 배포 작업이 일시 중지됩니다. 이는 프로덕션 앞에 의도적으로 배치한 사람의 승인 관문입니다.
포크된 PR의 안전성
포크된 PR에서 시작된 작업 흐름에는 비밀 값이 절대 전달되지 않으므로, 신뢰할 수 없는 기여자가 비밀 값을 훔칠 수 없습니다. 포크된 PR에 비밀 값이 필요하지 않도록 지속적 통합을 설계하십시오.
비밀 값 교체
모든 비밀 값을 교체할 수 있는 값으로 취급하십시오. 값이 유출되거나 만료되면 설정에서 업데이트하기만 하면 됩니다. 다음 실행에서 새 값이 사용되므로 코드를 변경할 필요가 없습니다.
모범 사례 요약
운영 지침은 다음과 같습니다. 민감한 값에는 비밀 값을 사용하고, 나머지에는 변수를 사용하며, GITHUB_TOKEN의 범위를 엄격하게 제한하고, 환경으로 프로덕션을 보호하며, 비밀 값을 로그에 기록하지 마십시오.
빠른 확인
비밀 값과 변수 중 무엇을 어디에 사용해야 하며, 무엇을 가리거나 표시해야 할까요?
복습
이제 비밀 값과 변수를 안전하게 관리할 수 있습니다. 값을 암호화하여 저장하고, secrets 컨텍스트를 통해 읽으며, 토큰의 범위를 제한하고, 환경을 거치는 승인 관문으로 배포를 보호합니다.
자주 묻는 질문
“Secret 및 환경 변수 관리” 강의는 무료인가요?
네 — “Secret 및 환경 변수 관리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CI/CD with GitHub Actions & DevOps Pipelines 강의 전체를 잠금 해제할 수 있습니다. CI/CD with GitHub Actions & DevOps Pipelines 강의에는 총 4개의 강의가 포함되어 있습니다.
“Secret 및 환경 변수 관리”에서 뭘 배우나요?
GitHub Actions의 Secret, 변수, 환경을 안전하게 사용해 자격 증명이 코드에 포함되지 않도록 하고 배포를 제어해 보세요. 브라우저에서 직접 실행하는 실습 코드로 CI/CD with GitHub Actions & DevOps Pipelines을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
CI/CD with GitHub Actions & DevOps Pipelines을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 CI/CD with GitHub Actions & DevOps Pipelines은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Secret 및 환경 변수 관리” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 CI/CD with GitHub Actions & DevOps Pipelines 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 CI/CD with GitHub Actions & DevOps Pipelines 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- CI/CD와 DevOps란 무엇인가요?
- GitHub Actions 핵심 개념
- 첫 번째 GitHub 워크플로
- Secret 및 환경 변수 관리