[python] 파이썬에서 데이터베이스 접속 정보 보호하기

데이터베이스에 연결할 때 보안은 매우 중요합니다. 파이썬에서 데이터베이스 접속 정보를 안전하게 보호하는 방법에 대해 알아보겠습니다.

1. 환경 변수 사용

데이터베이스 접속 정보를 코드 내에 하드코딩하지 말고, 환경 변수를 이용해 보호하세요. os.environ을 사용하여 접속 정보를 환경 변수에 저장하고, 코드에서는 환경 변수를 참조하여 접속합니다.

import os
import psycopg2

db_host = os.environ.get('DB_HOST')
db_user = os.environ.get('DB_USER')
db_password = os.environ.get('DB_PASSWORD')
db_name = os.environ.get('DB_NAME')

conn = psycopg2.connect(
    host=db_host,
    user=db_user,
    password=db_password,
    dbname=db_name
)

2. dotenv 모듈 사용

python-dotenv 모듈을 사용하여 .env 파일에 데이터베이스 접속 정보를 저장하고, 코드에서는 해당 파일을 읽어와 접속합니다.

from dotenv import load_dotenv
import os
import psycopg2

load_dotenv()

db_host = os.environ.get('DB_HOST')
db_user = os.environ.get('DB_USER')
db_password = os.environ.get('DB_PASSWORD')
db_name = os.environ.get('DB_NAME')

conn = psycopg2.connect(
    host=db_host,
    user=db_user,
    password=db_password,
    dbname=db_name
)

3. 암호화

데이터베이스 접속 정보를 암호화하여 저장하고, 암호화된 정보를 사용하여 데이터베이스에 연결합니다. 이를 위해 암호화 모듈을 사용하거나 관리되는 키(Managed Keys) 서비스를 활용할 수 있습니다.

안전한 데이터베이스 연결을 위해 위의 방법들을 활용해 보세요!