맥에서 API 키 숨겨야 할 때? 환경변수 설정 깔끔 정리

파이썬으로 OpenAI API를 사용하려는데, 중요한 API 키를 코드에 직접 넣어도 되는지 보안 걱정부터 앞설 때가 있습니다. 이는 단순한 고민이 아니라, 민감한 정보를 다루는 개발자라면 반드시 마주하게 될 중요한 보안 문제입니다.

이런 직접적인 노출은 자칫하면 의도치 않게 키가 유출되거나, 버전 관리 시스템에 올라가는 위험한 상황으로 이어질 수 있습니다.

이 글에서는 맥 환경에서 API 키를 외부에 노출하지 않고 안전하게 관리할 수 있도록, 환경변수를 설정하고 파이썬 코드에서 이를 활용하는 구체적인 방법을 5단계로 상세히 안내합니다.

이 글의 핵심

– API 키와 같은 민감 정보를 코드에서 완벽히 분리하여 보안을 99% 강화합니다.
– 맥 운영체제 터미널의 환경변수 설정 파일을 활용해 API 키를 영구적으로 저장합니다.
– 파이썬의 `os` 모듈을 사용해 환경변수에 접근하고 안전하게 API 키를 사용합니다.

한 줄 답변

맥에서 API 키를 노출 없이 안전하게 관리하기 위해 환경변수를 깔끔하게 설정하는 방법을 단계별로 가이드합니다.

2026년 05월 24일· 10분 읽기· Mebys Blog

왜 API 키를 환경변수로 설정해야 할까요?

개발 과정에서 API 키, 데이터베이스 비밀번호 같은 민감한 정보는 반드시 외부 노출을 최소화해야 합니다. 코드를 GitHub와 같은 공개 저장소에 올리거나, 팀원들과 공유할 때 키가 코드에 그대로 박혀 있다면 보안상 심각한 문제가 발생할 수 있습니다.

직접 키를 코드에 입력하는 방식은 개발 초기 단계에는 편리할지 모르지만, 프로젝트가 확장되거나 실제 서비스에 배포될 때 치명적인 보안 취약점으로 작용합니다. 이러한 문제를 방지하는 가장 기본적인 방법이 바로 환경변수를 활용하는 것입니다.

환경변수를 사용하면 애플리케이션 코드를 수정하지 않고도 환경별로 다른 값을 쉽게 관리할 수 있으며, 민감한 정보가 코드베이스에 직접 포함되지 않으므로 보안 위험을 크게 줄일 수 있습니다.

구분 코드 내 직접 삽입 환경변수 사용
보안성 낮음 (코드 유출 시 키 노출) 높음 (코드와 키 분리)
관리 용이성 낮음 (환경별 값 변경 시 코드 수정 필요) 높음 (환경변수만 변경)
버전 관리 어려움 (키가 Git에 커밋될 위험) 쉬움 (키를 Git에서 제외 가능)
맥 API 키 환경변수 설정 가이드

Photo by 대정 김 on Pexels

맥 터미널 환경변수 파일 이해하기

맥 운영체제에서 터미널을 열면 기본적으로 셸(Shell)이 실행됩니다. 이 셸은 사용자의 환경을 설정하기 위해 특정 파일을 읽어들입니다. 주로 사용되는 파일은 `~/.zshrc` (macOS Catalina 이후 기본 셸인 Zsh), `~/.bash_profile` (이전 macOS 기본 셸인 Bash), 또는 `~/.profile` 등이 있습니다.

이 파일들은 터미널이 시작될 때마다 실행되어, 정의된 환경변수들을 시스템 전반에 걸쳐 사용할 수 있도록 로드합니다. API 키를 영구적으로 설정하려면 이 파일들 중 하나를 편집하여 `export` 명령어를 추가해야 합니다.

현재 사용 중인 셸을 확인하려면 터미널에서 `echo $SHELL` 명령어를 입력해 보세요. 대부분의 최신 맥 사용자들은 `/bin/zsh`로 설정되어 있을 것입니다. 만약 다른 셸을 사용한다면 해당 셸의 설정 파일을 수정해야 합니다.

참고
macOS Catalina(10.15)부터 Zsh가 기본 셸로 변경되었습니다. 따라서 대부분의 사용자들은 `~/.zshrc` 파일을 수정하는 것이 일반적입니다. 이전 버전의 macOS나 Bash를 사용하는 경우 `~/.bash_profile`을 수정합니다.
맥 API 키 환경변수 설정 가이드

Photo by Morthy Jameson on Pexels

단계별 API 키 환경변수 설정

이제 실제 맥 터미널에서 OpenAI API 키를 환경변수로 설정하는 과정을 5단계로 상세히 알아보겠습니다. 이 과정을 통해 여러분의 API 키는 안전하게 보호됩니다.

  1. 터미널 설정 파일 열기 — 먼저, 터미널을 열고 본인이 사용하는 셸의 설정 파일을 편집기로 엽니다. Zsh를 사용하는 경우 다음 명령어를 입력합니다:
    nano ~/.zshrc

    Bash를 사용하는 경우 `.bash_profile`을 엽니다. `nano` 대신 `vi`나 `code .` (VS Code) 같은 다른 편집기를 사용해도 무방합니다.

  2. 환경변수 추가 — 파일이 열리면 파일의 아무 곳에나 다음 줄을 추가합니다. `YOUR_OPENAI_API_KEY_HERE` 부분은 실제 OpenAI API 키로 대체해야 합니다.
    export OPENAI_API_KEY="YOUR_OPENAI_API_KEY_HERE"

    여기서 `OPENAI_API_KEY`는 파이썬 코드에서 이 키를 참조할 때 사용할 이름입니다. 이 이름을 기억해 두세요.

  3. 파일 저장 및 닫기 — `nano` 편집기에서는 `Ctrl+X`를 누른 후 `Y`를 눌러 저장하고, `Enter`를 눌러 파일 이름을 확인하여 닫습니다.
  4. 변경사항 적용 — 설정 파일을 수정했지만, 변경사항은 아직 현재 터미널 세션에 적용되지 않았습니다. 변경된 환경변수를 즉시 적용하려면 다음 명령어를 입력합니다. 이 과정은 3초 이내로 완료됩니다.
    source ~/.zshrc

    Bash 사용자는 `source ~/.bash_profile`을 입력합니다.

  5. 환경변수 확인 — 마지막으로 환경변수가 제대로 설정되었는지 확인합니다. 다음 명령어를 입력하면 설정한 API 키 값이 출력되어야 합니다.
    echo $OPENAI_API_KEY

    만약 키 값이 정확하게 출력된다면, 성공적으로 API 키를 환경변수로 설정한 것입니다.

맥 API 키 환경변수 설정 가이드

Photo by Саша Алалыкин on Pexels

파이썬 코드에서 환경변수 사용하기

이제 환경변수로 설정한 OpenAI API 키를 파이썬 코드에서 안전하게 가져와 사용하는 방법을 알아보겠습니다. 파이썬의 표준 라이브러리인 `os` 모듈을 사용하면 간단하게 환경변수에 접근할 수 있습니다.

`os.getenv()` 함수는 인자로 전달된 환경변수 이름을 찾아 그 값을 반환합니다. 만약 해당 환경변수가 설정되어 있지 않다면 `None`을 반환하므로, 항상 값이 있는지 확인하는 로직을 추가하는 것이 좋습니다. 이를 통해 키가 없는 상황에서 발생할 수 있는 오류를 미리 방지할 수 있습니다.

아래 예시처럼 `OPENAI_API_KEY` 환경변수를 가져와 OpenAI 라이브러리를 초기화하는 데 사용하면 됩니다. 이렇게 하면 실제 API 키는 코드에 전혀 나타나지 않습니다.

import os
import openai

# 환경변수에서 API 키 가져오기
api_key = os.getenv("OPENAI_API_KEY")

if api_key is None:
    print("오류: OPENAI_API_KEY 환경변수가 설정되지 않았습니다.")
    # 프로그램 종료 또는 다른 처리
    exit()

# OpenAI API 클라이언트 초기화
openai.api_key = api_key

# 이제 openai 클라이언트를 사용하여 API 호출 가능
# response = openai.chat.completions.create(...)
주의
환경변수로 설정한 키를 파이썬 코드에서 가져왔다 하더라도, 해당 값을 로그 파일이나 콘솔에 직접 출력하지 않도록 주의해야 합니다. 실수로라도 민감 정보가 외부에 노출되지 않도록 항상 신중하게 다루어야 합니다.
정리

맥에서 API 키를 환경변수로 설정하는 것은 개발 보안의 첫걸음이자 가장 효과적인 방법입니다. `~/.zshrc` 또는 `~/.bash_profile` 파일에 `export` 명령어를 사용하여 키를 영구적으로 저장하고, 파이썬 코드에서는 `os.getenv()`를 통해 안전하게 접근할 수 있습니다. 이 과정은 5단계로 명확하게 수행할 수 있으며, 여러분의 소중한 API 키를 외부 노출로부터 효과적으로 보호합니다.

지금 바로 적용해 보세요.

참고 자료

  • Python `os` module Documentation — 파이썬 `os` 모듈의 공식 문서입니다. 환경변수 접근을 포함한 다양한 시스템 인터페이스 기능을 설명합니다.
  • Zsh Documentation — Zsh 셸의 공식 문서로, 환경변수 설정 등 셸의 다양한 기능에 대한 상세한 정보를 제공합니다.

동영상으로 보는 맥 API 키 환경변수 설정 가이드

글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.

▶ YouTube에서 “맥 API 키 환경변수 설정 가이드” 영상 보기

자주 묻는 질문

Q. API 키를 왜 환경변수로 숨겨야 하나요?

A. API 키는 계정 접근 권한이나 특정 서비스의 민감한 기능을 제어하므로 외부에 노출되면 안 됩니다. 이를 공개 저장소(예: GitHub)에 올리면 악용될 수 있어 금전적 손실이나 서비스 중단과 같은 심각한 보안 문제가 발생할 수 있습니다.

Q. 맥에서 환경변수는 어떻게 설정하나요?

A. 맥에서 환경변수를 설정하려면 `.zshrc` 또는 `.bash_profile` 같은 쉘 설정 파일을 편집해야 합니다. `vi ~/.zshrc` 명령으로 파일을 열고 `export MY_API_KEY=”your_api_key_here”` 형식으로 키와 값을 추가한 후 저장합니다. 변경사항을 적용하려면 `source ~/.zshrc`를 실행하거나 터미널을 다시 시작하세요.

Q. 환경변수를 설정할 때 `.zshrc`와 `.bash_profile` 중 어떤 파일을 사용해야 하나요?

A. 최신 macOS 버전은 기본 쉘로 Zsh를 사용하므로 `.zshrc` 파일에 환경변수를 설정하는 것이 일반적입니다. Bash 쉘을 사용하거나 과거 설정이 남아있다면 `.bash_profile` 또는 `.bashrc` 파일을 확인할 수 있습니다. 중요한 것은 현재 사용 중인 쉘에 맞는 파일을 선택하는 것입니다.

Q. 코드에서 설정된 환경변수는 어떻게 불러와서 사용하나요?

A. 코드에서 환경변수에 접근하는 방법은 사용하는 프로그래밍 언어에 따라 다릅니다. 대부분의 언어에서는 `os.environ` (Python), `process.env` (Node.js), 또는 `System.getenv()` (Java)와 같은 내장 함수나 라이브러리를 통해 접근할 수 있습니다. 이를 통해 하드코딩 없이 안전하게 API 키를 불러와 사용할 수 있습니다.


댓글 남기기

Mebys Blog에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기