Justin-book

인증·인가 및 로그 정책 (Security & Authentication)

2025-10-27

요약

  • 백엔드는 시스템 보안의 최전선이다.
  • 본 문서는 인증·인가, 암호화, 로그 정책을 표준화한다.
  • 목표: 안전한 접근 제어 + 감사 가능한 로깅 + 최소한의 권한
항목내용
인증JWT + OAuth2 병행
인가RBAC/ABAC 기반
암호화bcrypt + Vault 기반 Secret
로깅민감정보 비포함, 감사로그 분리

1. 인증(Authentication)

방식설명
JWT토큰 기반 인증 (Access + Refresh)
OAuth2외부 인증 연동 (Google, GitHub 등)
Session내부 관리용 세션 인증 (관리자 콘솔 등)
flowchart LR A[Client Login] --> B[Auth Server 발급] B --> C[Access Token + Refresh Token] C --> D[Resource Server 검증]

2. 인가(Authorization)

방식설명
RBAC(Role-Based Access Control)역할 기반 접근 제한
ABAC(Attribute-Based Access Control)속성 기반 정책
Scope 기반API 단위 세분화 권한
role: admin
scopes:
  - user.read
  - user.write

3. 암호화 및 시크릿 관리

항목방식
비밀번호bcrypt / Argon2
API KeyVault / Secret Manager 관리
DB 연결 정보.env 분리
토큰 저장Secure Cookie 또는 Header-only

4. 로깅 정책

항목원칙
민감정보마스킹 또는 비로그
접근로그모든 인증 시도 기록
에러로그Stacktrace + Request Context
감사로그관리자 행동 별도 저장