[python] python-dotenv를 사용한 보안 설정

파이썬은 강력하고 유연한 프로그래밍 언어이지만, 보안 설정을 위해서는 추가적인 작업이 필요합니다. 암호나 API 키와 같은 보안 정보는 소스 코드에 직접 하드코딩하지 않는 것이 중요합니다. 이러한 보안 정보를 외부 파일에 저장하고 환경 변수로 설정하는 방법이 일반적으로 사용됩니다.

여기서는 python-dotenv라이브러리를 사용하여 파이썬에서 보안 설정을 어떻게 수행하는지 살펴보겠습니다.

1. python-dotenv란?

python-dotenv.env 파일로부터 환경 변수를 로드하는 파이썬 라이브러리입니다. .env 파일에는 보안 정보와 다른 설정 변수를 저장할 수 있습니다. 이 라이브러리는 .env 파일을 읽고 해당 변수를 환경 변수로 등록해주는 기능을 제공합니다.

2. python-dotenv 설치

먼저 python-dotenv를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

pip install python_dotenv

3. .env 파일 생성

프로젝트 루트 디렉토리에 .env 파일을 생성합니다. 이 파일에 보안 정보 및 다른 설정 변수를 저장할 수 있습니다. 예를 들어, 다음과 같이 .env 파일을 작성할 수 있습니다.

API_KEY=your_api_key_here
DB_PASSWORD=your_db_password_here

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

이제 파이썬 코드에서 .env 파일에 저장된 환경 변수를 사용할 수 있습니다. 먼저, python-dotenv를 import 합니다.

from dotenv import load_dotenv

그런 다음 .env 파일을 로드합니다.

load_dotenv()

이제 .env 파일에 저장된 환경 변수를 사용할 수 있습니다. 예를 들어, API_KEY 변수의 값을 얻으려면 다음과 같이 하면 됩니다.

import os

api_key = os.getenv("API_KEY")
print(api_key)

5. 보안 정보 관리하기

보안 정보를 .env 파일에 저장하는 것은 일반적으로 좋은 방법입니다. 그러나 실제로는 .env 파일이 소스 코드 저장소에 저장되지 않도록 주의해야 합니다. .env 파일을 저장소에서 무시하거나 암호화하여 보안 정보가 노출되지 않도록 해야 합니다.

또한 .env 파일의 권한을 제한하여 다른 사용자가 접근하지 못하도록 해야 합니다.

참고 자료