저희 SaaS 솔루션을 도입하려는 한 기업 고객이 내부 보안 규정을 이유로 "사내 고정 IP 대역에서만 우리 회사의 SaaS 환경에 접속할 수 있도록 IP 제한을 걸어 달라"고 요청해 왔습니다.
모든 고객이 같은 서버와 DB를 공유하는 멀티테넌트 구조에서 특정 테넌트에만 IP 접근 제어를 걸려면 인프라 단이나 소스 코드 단에서 어떻게 구현하고 관리해야 하는지 실무적인 접근 방식이 궁금합니다.
답변:
안녕하세요. SaaS 전환지원센터입니다.
멀티테넌트 SaaS 환경에서도 특정 테넌트에 대해서만 허용된 IP 대역에서 접근하도록 제한하는 것은 구현 가능합니다. 일반적으로는 애플리케이션에 단순 조건문을 추가하기보다는 인프라·네트워크 계층과 애플리케이션 계층을 함께 활용하여 접근을 통제하는 방식이 안정적입니다.
우선 고객사별로 허용 IP 대역을 테넌트 설정값으로 관리하고, 사용자가 로그인하거나 주요 요청을 수행할 때 해당 테넌트의 허용 IP와 실제 접속 IP를 비교하는 방식으로 구현할 수 있습니다. 다만 프록시나 로드밸런서를 거치는 환경에서는 실제 클라이언트 IP를 정확하게 식별할 수 있도록 네트워크 구성을 함께 확인해야 합니다. 또한 IP 변경이 발생할 경우 개발자가 직접 소스 코드를 수정하지 않고 관리자 설정을 통해 변경할 수 있도록 구성하는 것이 운영 측면에서 유리합니다.
특히 멀티테넌트 구조에서는 IP 정책이 특정 고객에게만 적용되고 다른 테넌트에는 영향을 주지 않는지를 반드시 검증해야 합니다. 정책 변경 이력과 접근 차단 로그를 남기고, 고객사별 허용 IP 정책을 별도로 관리하면 향후 고객이 증가하더라도 운영하기 수월합니다.
추가로 궁금하신 사항이나 더 자세한 안내가 필요하실 경우, 언제든 문의해 주시기 바랍니다.
감사합니다.