Flask Academy · 강의

환경 변수에서 비밀 정보 불러오기

환경 변수로 키를 소스 코드 밖에 둡니다.

레슨 2/413개 단계

환경 변수에서 비밀 정보 불러오기은(는) CoddyKit의 무료 Flask Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Flask Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Flask Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

비밀 정보를 코드에 넣지 않기

소스 파일에 붙여 넣은 API 키와 비밀번호는 Git에 푸시하는 순간 유출됩니다. 비밀 정보는 저장소에서 완전히 분리하십시오.

12요소 방식의 개념

12요소 방식은 설정을 환경에 저장하므로 코드를 수정하지 않고 어디서나 동일한 코드를 배포할 수 있습니다.

os.environ으로 하나 읽기

os.environ을 사용해 변수를 읽습니다. 키가 없으면 명확한 오류를 발생시키므로 필수 비밀 정보를 다룰 때 유용합니다.

import os
key = os.environ["SECRET_KEY"]

get으로 선택적 값 사용

선택적 설정에는 os.environ.get을 사용하고 대체값을 지정하여 개발 환경에서도 앱이 계속 시작되도록 합니다.

debug = os.environ.get("DEBUG", "0")

설정 클래스에 연결

환경 변수를 Config 클래스 안에서 직접 읽어 모든 환경이 소스 코드가 아닌 시스템에서 비밀 정보를 가져오도록 합니다.

SECRET_KEY = os.environ.get("SECRET_KEY")

셸에서 변수 설정

컴퓨터에서 실행하기 전에 값을 export합니다. 프로세스가 이를 상속하고 Flask가 값을 가져옵니다.

export SECRET_KEY=super-secret

모든 값은 문자열

환경 변수는 문자열로 전달됩니다. Python에서는 "0"도 참으로 취급되므로 숫자와 불리언은 직접 변환해야 합니다.

port = int(os.environ.get("PORT", "5000"))

비밀 정보가 없으면 즉시 실패

운영 환경에서는 비밀 정보가 없을 때 중간에 실패하지 말고 시작 시 충돌해야 합니다. 문제가 즉시 드러나도록 빠르게 실패하십시오.

if not SECRET_KEY:
    raise RuntimeError("SECRET_KEY required")

플랫폼이 설정하는 위치

Heroku, Docker, Kubernetes 같은 호스트는 배포할 때 환경 변수를 주입하므로 이미지 안에 비밀 정보가 남지 않습니다.

강력한 키 생성

SECRET_KEY는 길고 무작위여야 합니다. secrets.token_hex로 생성한 다음 환경 변수로 저장합니다.

import secrets
secrets.token_hex(32)

비밀 정보 기록 금지

비밀 정보가 포함된 설정을 출력하지 마십시오. 대시보드에 로그 한 줄만 잘못 남아도 보호하려던 값이 노출됩니다.

빠른 확인

운영 환경에서 필수 비밀 정보가 누락되면 어떻게 처리해야 할까요?

복습: 환경 비밀 정보

os.environ에서 비밀 정보를 읽고, 선택적 값에는 기본값을 지정하며, 유형을 변환하고, 필수 키가 없으면 빠르게 실패하도록 했습니다. 🔐

무료로 시작

AI 튜터와 함께 Python을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
30
레슨
120

자주 묻는 질문

“환경 변수에서 비밀 정보 불러오기” 강의는 무료인가요?

네 — “환경 변수에서 비밀 정보 불러오기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Flask Academy 강의 전체를 잠금 해제할 수 있습니다. Flask Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“환경 변수에서 비밀 정보 불러오기”에서 뭘 배우나요?

환경 변수로 키를 소스 코드 밖에 둡니다. 브라우저에서 직접 실행하는 실습 코드로 Flask Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Flask Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Flask Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“환경 변수에서 비밀 정보 불러오기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Flask Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Flask Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 환경별 구성 클래스
  2. 환경 변수에서 비밀 정보 불러오기
  3. 개발 환경에서 dotenv 사용하기
  4. 디버그와 기능 플래그 전환하기
← Flask Academy(으)로 돌아가기