피드로 돌아가기
Dev.toSecurity
원문 읽기
110개 RBAC 및 81개 RLS 시나리오 검증을 통한 Multi-tenant 격리 보장
Auth multi-tenant que prova, não promete: como o GarraIA fecha 110 cenários de RBAC + 81 de RLS antes do beta da Fase 3
AI 요약
Context
핸들러 레벨의 WHERE 절 필터링에 의존하는 기존 SaaS 구조의 Cross-tenant 데이터 유출 위험 식별. 개발자 실수로 인한 보안 허점을 방지하고 LGPD 규정 준수를 위한 감사 가능한 데이터 격리 체계 필요성 대두.
Technical Solution
- Argon2id RFC 9106 기반 해시 도입 및 기존 PBKDF2 사용자를 위한 Transactional Dual-verify 업그레이드 설계
- Role-Action-can() 함수 구조의 Table-driven test를 통한 110가지 RBAC 매트릭스 전수 검증 체계 구축
- Postgres FORCE ROW LEVEL SECURITY 설정을 통한 애플리케이션 계층과 무관한 DB 레벨의 강제적 데이터 격리 구현
- GUC(Global User Configuration) 기반 current_setting('app.current_group_id') 활용 및 Fail-closed 캐스팅 로직 적용
- Testcontainers 기반의 실 Postgres 환경에서 JWT 및 HTTP 레이어까지 포함하는 End-to-End 통합 테스트 수행
실천 포인트
- Multi-tenant 설계 시 Application Layer 필터링 대신 DB RLS 도입 검토 - 권한 매트릭스를 Enum과 Table-driven test로 정의하여 권한 누락 방지 - 레거시 암호화 알고리즘 변경 시 사용자 경험을 해치지 않는 Lazy Upgrade 전략 적용 - Security Compliance 대응을 위해 CI 단계에서 실제 인프라와 동일한 환경의 통합 테스트 자동화