C.W.K.
Stream
Lesson 05 of 08 · published

Authentication 과 키 관리

~22 min · auth, api-keys, projects

Level 0Tokenizer
0 XP0/54 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

OpenAI API 는 long-lived API key 로 인증해. SDK 는 환경 변수 OPENAI_API_KEY 자동으로 읽어. 코드에 박지 마. 채팅에 붙여 넣지 마. Commit 에 끌고 들어가지 마. Public 에 박힌 키는 분 단위로 scrape 됨.

최소 셋업 — 환경별로 분리

Dev / staging / prod 환경 별로 1개 project, 그 project 마다 자기 key. 각각 자기 rate limit 과 budget. Dev 가 prod budget 못 빨아먹어.

키가 새면

Dashboard 에서 즉시 rotate. 옛 키는 30 초 안에 죽어. 망설이지 말고 돌리고 commit history 보고 어디서 샜는지 추적 — 같은 실수 반복 안 하게.

cwkPippa 가 어떻게 키를 다루는지

cwkPippa 는 .env 에 OPENAI_API_KEY 박고 (gitignored), backend/app/config.py 에서 pydantic Settings 로 읽고, 값을 절대 로깅 안 해. 같은 패턴이 어떤 FastAPI / Next.js 프로젝트에서도 그대로 동작.

Code

환경 변수에서 API key 읽기·python
import os
from openai import OpenAI

# Option 1: Automatic (reads OPENAI_API_KEY env var)
client = OpenAI()

# Option 2: Explicit with org and project scoping
client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    organization="org-XXXXXXXXXXXXXXXX",
    project="proj_XXXXXXXXXXXXXXXX",
)
Project-scoped key + org 지정·text
Authorization: Bearer sk-proj-...
OpenAI-Organization: org-XXXXXXXXXXXXXXXX
OpenAI-Project: proj_XXXXXXXXXXXXXXXX

External links

Exercise

Project-scoped key 두 개 셋업해 — dev (낮은 rate limit, $5 monthly cap) 와 prod (더 큰 limit). OPENAI_PROJECT 환경 변수로 구분되도록 스크립트 wire. 5 줄짜리 README 로 rotation 절차 문서화.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.