본문 바로가기

개발중/Spring Security

웹 애플리케이션 서버와 인가 서버를 분리하여 관리할 경우 장단점 ( OpenID Connect, OAuth 2.0)

728x90
반응형
웹 애플리케이션 서버와 인가 서버를 분리하여 관리할 경우 장단점

 

최근에 웹 애플리케이션 서버와 인가 서버를 분리하여 관리하는 방식에 대해 알아보았습니다. 이전에는 스프링 시큐리티를 사용하여 하나의 웹 애플리케이션에서 인증과 인가를 처리했습니다. 하지만, OpenID Connect와 OAuth 2.0과 같은 최신 인증 프로토콜을 공부하면서 인증 사용자 통합과 인증 서버 분리의 장단점을 알아보았습니다.

 

장점

보안 강화

인가 서버를 별도로 관리하면 웹 애플리케이션 서버와 인증 데이터를 격리할 수 있어 보안을 향상시킬 수 있습니다. 인가 서버가 다른 시스템과 분리되어 있으면, 공격자가 웹 애플리케이션 서버에 침투해도 인증 데이터에 액세스하기 어렵습니다.

중앙 집중식 인증 관리

인가 서버를 중앙에서 관리하면 여러 애플리케이션에서 동일한 인증 체계를 사용할 수 있습니다. 이로 인해 개발자와 관리자는 인증 및 권한 부여 로직을 한 곳에서 관리할 수 있어 효율성이 향상됩니다.

확장성

웹 애플리케이션 서버와 인가 서버를 분리하면, 각 서버에 대한 확장성과 성능 최적화가 더 쉬워집니다. 각 서버를 독립적으로 확장하거나 업그레이드할 수 있어, 전체 시스템의 안정성을 유지하면서 성능을 향상시킬 수 있습니다.

유연성

인가 서버를 별도로 관리하면 기존 시스템에 새로운 인증 방식을 쉽게 추가하거나 교체할 수 있습니다. 이로 인해 애플리케이션 서버에 변경을 적용할 필요 없이 인증 체계를 업데이트할 수 있습니다.

단점

추가적인 복잡성

웹 애플리케이션 서버와 인가 서버를 분리하면 시스템의 전체 복잡성이 증가할 수 있습니다. 관리, 모니터링, 디버깅 등의 작업이 더 어려워질 수 있으며, 시스템 간 통신에 대한 추가적인 고려가 필요합니다.

성능 오버헤드

인가 서버와 웹 애플리케이션 서버 간의 통신으로 인한 지연 시간이 발생할 수 있습니다. 또한, 인증 및 권한 부여 요청을 처리하는 데 필요한 추가적인 네트워크 리소스가 있을 수 있습니다.

 

운영 및 유지 보수 비용

웹 애플리케이션 서버와 인가 서버를 분리하면 서버 관리, 유지 보수 및 업데이트에 대한 추가적인 비용이 발생할 수 있습니다. 각 서버의 운영 및 보안을 위해 더 많은 리소스와 시간을 투자해야 할 수도 있습니다.

통합의 어려움

웹 애플리케이션 서버와 인가 서버를 분리하면 서로 다른 시스템 간의 통합 및 상호 작용이 더 복잡해질 수 있습니다. 이로 인해 개발 및 테스트 과정에서 문제가 발생할 가능성이 있으며, 신규 개발자가 시스템을 이해하고 작업하는 데 더 많은 시간이 소요될 수 있습니다.

분리된 웹 애플리케이션 서버와 인가 서버 구조의 장단점을 고려하여, 시스템의 요구 사항, 보안, 확장성 및 유지 보수 비용 등 여러 요소를 종합적으로 평가한 후 적절한 구조를 선택하는 것이 중요합니다.

 

 

OAuth 2.0 의 장점

안전성

OAuth 2.0은 사용자 자격 증명을 직접 공유하지 않고도 제3자 애플리케이션에 대한 액세스를 부여할 수 있는 안전한 방법을 제공합니다.

이는 사용자의 비밀번호가 애플리케이션에 직접 노출되지 않으므로 보안을 강화합니다.

확장성

OAuth 2.0은 다양한 유형의 애플리케이션과 사용 사례에 적용할 수 있으며, 클라이언트 종류에 따라 여러 가지 인증 흐름을 지원합니다.

사용 편의성

OAuth 2.0을 사용하면 사용자는 계정 생성을 건너뛰고 기존 계정을 통해 여러 애플리케이션에 로그인할 수 있습니다.

이를 통해 사용자가 비밀번호를 기억하거나 별도의 등록 절차를 거치지 않고도 서비스를 이용할 수 있습니다.

 

 

 

 

728x90
반응형

'개발중 > Spring Security' 카테고리의 다른 글

[스프링 시큐리티] - 필터 체인  (2) 2022.01.07