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

2023. 4. 4. 20:37·개발중/Spring Security
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
'개발중/Spring Security' 카테고리의 다른 글
  • [스프링 시큐리티] - 필터 체인
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932) N
      • 개발중 (634) N
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18) N
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Git 저장소
    springboot
    docker
    네트워크 관리사 요약
    BackendDevelopment
    네트워크 관리사 2급
    리눅스 마스터
    파이썬
    파이썬 알고리즘
    java
    리눅스 1급 요약
    REST API
    redis
    Spring
    네트워크 관리사 2급 실기
    쿠버네티스 스터디
    VUE
    git
    알고리즘
    리눅스 마스터 1급 요약
    리눅스 마스터 1급
    리눅스 마스터 요약
    네트워크 관리사 실기
    리눅스 마스터 1급 정리
    쿠버네티스
    네트워크 관리사 학점
    스프링
    jpa
    네트워크 관리사
    네트워크 관리사 자격증
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
웹 애플리케이션 서버와 인가 서버를 분리하여 관리할 경우 장단점 ( OpenID Connect, OAuth 2.0)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.