피드로 돌아가기
Dev.toSecurity
원문 읽기
OAuth 2.0 및 OIDC 기반의 Multi-tenant 격리 구조를 통한 신뢰 기반 identity 아키텍처 설계
SSO Is More Than "Log In Once"
AI 요약
Context
단순 로그인 공유를 넘어선 보안적 신뢰 체계 구축의 필요성 증대. 특히 Multi-tenant 환경에서 Tenant 간 경계 침범을 방지하고, 클라이언트 애플리케이션이 사용자 비밀번호에 접근하지 않는 안전한 인증 위임 구조 설계가 요구됨.
Technical Solution
- OAuth 2.0 Authorization Code Flow와 PKCE(S256) 도입을 통한 Authorization Code 탈취 및 Replay Attack 원천 차단
- Identity Provider(IdP) 중심의 Session 관리와 HttpOnly/SameSite=Lax 쿠키 적용으로 브라우저 기반 세션 보안 강화
- client_id 기반의 Tenant 자동 식별 및 Token 내 tenant_id claim 포함을 통한 조직 간 논리적 격리 구현
- RS256 서명 기반의 JWT 발행 및 JWKS 엔드포인트를 통한 분산 검증 구조로 IdP와 클라이언트 간의 결합도 감소
- Redis를 활용한 단기 Transaction 및 Session 저장과 PostgreSQL 기반의 영구 Identity 데이터 관리로 읽기/쓰기 성능 최적화
- Clean Architecture 적용을 통해 OAuth 프로토콜 로직과 저장소 기술을 분리하여 보안 테스트 용이성 확보
실천 포인트
1. PKCE를 Public/Confidential 클라이언트 모두에 적용하여 코드 가로채기 방어 여부 검토
2. Token 검증 시 Signature 외에 Issuer, Audience, Expiration, Tenant, Nonce를 모두 확인하는지 확인
3. Refresh Token의 Hash 저장 및 사용 시 Rotation 정책 적용 여부 검토
4. Authentication(인증)은 공유하되 Authorization(인가)은 각 애플리케이션별로 개별 평가하는 로직 구현