발행일: 2026-10-06(화) 11:44
홈›도서›하루 30분 n8n ④›크리덴셜 보안과 시크릿 관리
DAY 10★★☆

크리덴셜 보안과 시크릿 관리

📖 이론10분
🛠️ 실습15분
🎯 미션5분

"도구를 만드는 자가 도구에 종속되지 않는다."

— 마셜 맥루한 (Marshall McLuhan, 미디어 이론가)
🎯 오늘의 학습 목표
  • n8n 크리덴셜 암호화 방식(AES-256)을 이해하고 암호화 키를 안전하게 관리할 수 있다.
  • 환경변수 기반 크리덴셜 방식의 장점을 설명하고 적용할 수 있다.
  • DB 크기를 확인하는 명령어를 실행할 수 있다.
크리덴셜 암호화 원리

n8n은 크리덴셜을 데이터베이스에 AES-256으로 암호화해서 저장합니다. 암호화에 쓰는 키가 .env의 N8N_ENCRYPTION_KEY예요. 이 키를 잃어버리면 모든 크리덴셜을 새로 입력해야 합니다. N8N_ENCRYPTION_KEY 백업 위치 추천: 1Password, Bitwarden 같은 비밀번호 관리자 / 회사 보안 문서함 / 암호화된 파일로 Google Drive 보관

환경변수 기반 크리덴셜 (.env에 추가)
dotenv
COMPANY_DB_HOST=db.mycompany.com
COMPANY_DB_PASSWORD=super_secret_password
OPENAI_API_KEY=sk-...
Code 노드에서 환경변수 참조
javascript
// 환경변수로 민감한 정보 참조
const dbPassword = process.env.COMPANY_DB_PASSWORD;
const openaiKey = process.env.OPENAI_API_KEY;
💡 환경변수 기반 방식의 장점: 크리덴셜이 n8n DB에 저장되지 않아서, n8n 자체가 해킹당해도 중요 비밀번호는 안전합니다.
DB 크기 확인
bash
docker compose exec postgres psql -U n8n_user n8n_db \
  -c "SELECT pg_size_pretty(pg_database_size('n8n_db'));"
🛠️ DAY 10 실습
Step 1N8N_ENCRYPTION_KEY 백업
  1. cat ~/n8n/.env | grep N8N_ENCRYPTION_KEY 로 현재 키 확인
  2. 1Password, Bitwarden, 또는 안전한 문서에 키 저장
  3. 저장 완료 확인 (나중에 분실 시 복구 불가)
Step 2환경변수 기반 크리덴셜 설정
  1. .env에 자주 쓰는 API 키 1개 추가 (OPENAI_API_KEY 등)
  2. docker compose restart n8n
  3. Code 노드에서 process.env.OPENAI_API_KEY 로 참조 테스트
Step 3DB 크기 모니터링
  1. DB 전체 크기 확인 명령 실행
  2. 결과 메모 (이후 비교 기준점)
  3. 1GB 이상이면 실행 기록 정리 계획 수립
🚀 DAY 10 미션

N8N_ENCRYPTION_KEY를 안전한 곳에 백업하고, 환경변수 기반 크리덴셜 방식으로 API 키 1개를 설정하세요.

☑️ 미션 체크리스트
  • N8N_ENCRYPTION_KEY 안전한 곳에 백업 완료
  • 환경변수 기반 크리덴셜 1개 설정 완료
  • Code 노드에서 process.env 로 정상 참조 확인
  • DB 크기 확인 완료
💡 힌트: N8N_ENCRYPTION_KEY는 절대 변경하지 마세요. 변경하면 기존 크리덴셜을 모두 새로 입력해야 합니다.
🎯 성공 기준: 암호화 키가 안전하게 백업되고 환경변수 기반 크리덴셜이 정상 동작하는 상태
← 이전
인증 설정 완전 가이드
다음 →
웹훅 보안과 접근 제어
← 목차로 돌아가기