MSA 보안 구성 - OAuth2 + JWT

2024. 9. 23. 09:33MSA

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, 헤더 등에 쉽게 포함될 수 있다.
            ○   서명 및 암호화 : 데이터의 무결성과 인증을 보장한다.