2024. 9. 23. 09:33ㆍMSA
2024/09/19
※ MSA의 보안 구성(OAuth2 + JWT)에 대해 알아보자.
▶ 보안 개요
● 보안의 중요성
○ 마이크로서비스 아키텍처에서는 각 서비스가 독립적으로 배포되고 통신하기 때문에 보안이 매우 중요하다.
○ 데이터 보호, 인증 및 권한 부여, 통신 암호화 등을 통해 시스템의 보안성을 확보해야 한다.
▶ OAuth2 개요
● OAuth2란?
○ OAuth2는 토큰 기반의 인증 및 권한 부여 프로토콜이다.
○ 클라이언트 애플리케이션이 리소스 소유자의 권한을 얻어 보호된 리소스에 접근할 수 있도록 한다.
○ OAuth2는 네 가지 역할을 정의한다 : 리소스 소유자, 클라이언트, 리소스 서버, 인증 서버
● OAuth2의 주요 개념
○ Authorization Code Grant : 인증 코드를 사용하여 액세스 토큰을 얻는 방식
○ Implicit Grant : 클라이언트 애플리케이션에서 직접 액세스 토큰을 얻는 방식
○ Resource Owner Password Credentials Grant : 사용자 이름과 비밀번호를 사용하여 액세스 토큰을 얻는 방식
○ Client Credentials Grant : 클라이언트 애플리케이션이 자신의 자격 증명을 사용하여 액세스 토큰을 얻는 방식
▶ JWT 개요
● JWT란?
○ JWT(JSON Web Token)는 JSON 형식의 자가 포함된 토큰으로, 클레임(claim)을 포함하여 사용자에 대한 정보를 전달한다.
○ JWT는 세 부분으로 구성된다 : 헤더, 페이로드, 서명
○ JWT는 암호화를 통해 데이터의 무결성과 출처를 보장한다.
○ https://jwt.io/
JWT.IO
JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.
jwt.io
● JWT의 주요 특징
○ 자가 포함 : 토큰 자체에 모든 정보를 포함하고 있어 별도의 상태 저장이 필요 없다.
○ 간결성 : 짧고 간결한 문자열로, URL, 헤더 등에 쉽게 포함될 수 있다.
○ 서명 및 암호화 : 데이터의 무결성과 인증을 보장한다.
'MSA' 카테고리의 다른 글
이벤트 드리븐 아키텍처와 스트림 처리 (1) | 2024.09.24 |
---|---|
분산 추적(Spring Cloud Sleuth) 및 로깅(Zipkin) (2) | 2024.09.24 |
MSA - 서킷 브레이커 (10) | 2024.09.12 |
클라이언트 사이드 로드 밸런싱 - FeignClient와 Ribbon (0) | 2024.09.11 |
MSA - Microservices Architecture란? (1) | 2024.09.09 |