
Today I Learn ✍🏼
- 오늘 하루 가장 인상 깊었던 배움에는 뭐가 있었지?
- 그 배움까지 다가가는데 어떤 어려움이 있었지?
- 그 어려움을 해결하기 위한 나의 시도들은 무엇이 있었지?
- 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지?
- 이 상태에서 이후 더 나은 내가 되려면 무엇을 보완하지?
Spring Security? OAuth2 ?
Spring Security
- 애플리케이션의 보안 전반을 관리하는 강력한 프레임워크
- OAuth2를 포함한 다양한 인증 및 권한 부여 방법을 지원
OAuth2
- 특정한 인증 및 권한 부여 시나리오에서 사용되는 표준 프로토콜
Spring Security
- 목적: Spring Security는 애플리케이션 전반에 걸친 보안 설정을 담당합니다. 인증(authentication)과 권한 부여(authorization) 기능을 통해 애플리케이션을 보호하는 데 중점을 둡니다.
- 기능:
- 인증(Authentication): 사용자가 애플리케이션에 접근할 때 사용자 정보(ID와 패스워드 등)를 검증합니다.
- 권한 부여(Authorization): 사용자가 애플리케이션 내의 리소스나 기능에 접근할 수 있는 권한이 있는지를 확인합니다.
- 보안 필터: 다양한 보안 필터를 제공하여 요청이 애플리케이션에 도달하기 전에 보안 검사 및 처리를 수행합니다.
- 세션 관리: 세션 기반 인증과 관련된 기능을 제공합니다.
- 기타 보안 기능: CSRF 보호, URL 접근 제어, 메서드 보안, 암호화, 비밀번호 저장 등.
OAuth2
- 목적: OAuth2는 인증 및 권한 부여의 표준 프로토콜로, 특히 API와 같은 리소스 서버에 대한 접근 권한을 제어하는 데 사용됩니다. 주로 제3자 애플리케이션에 사용자 데이터를 안전하게 공유할 수 있도록 합니다.
- 기능:
- 토큰 기반 인증: OAuth2는 액세스 토큰(access token)을 사용하여 리소스 서버에 대한 접근 권한을 관리합니다.
- 역할:
- Resource Owner (자원 소유자): 리소스에 대한 접근 권한을 부여하는 사용자.
- Client (클라이언트): 자원 소유자로부터 권한을 얻어 리소스 서버에 접근하는 애플리케이션.
- Authorization Server (인증 서버): 사용자 인증을 처리하고 액세스 토큰을 발급합니다.
- Resource Server (리소스 서버): 보호된 리소스를 제공하는 서버, 클라이언트는 액세스 토큰을 통해 접근합니다.
- 권한 부여 유형:
- Authorization Code Grant: 웹 애플리케이션에서 주로 사용되는 방식.
- Implicit Grant: 클라이언트 쪽에서 토큰을 직접 받는 방식으로, 주로 SPA에서 사용.
- Resource Owner Password Credentials Grant: 사용자의 ID와 패스워드를 직접 입력하여 토큰을 받는 방식.
- Client Credentials Grant: 클라이언트가 자체 자격 증명으로 리소스 서버에 접근하는 방식
차이점 요약
- 스코프:
- Spring Security는 애플리케이션의 전반적인 보안을 다루는 프레임워크입니다.
- OAuth2는 특정 리소스에 대한 접근 권한을 관리하기 위한 표준 프로토콜입니다.
- 사용 사례:
- Spring Security는 애플리케이션 전반의 보안을 설정하고, 사용자 인증과 권한 부여를 관리하는 데 사용됩니다.
- OAuth2는 외부 애플리케이션이 API를 호출할 수 있도록 토큰을 발급하고, 이를 통해 권한을 부여하는 데 사용됩니다.
- 통합:
- Spring Security는 OAuth2를 지원하며, Spring Security OAuth2 모듈을 통해 OAuth2 인증과 권한 부여를 구현할 수 있습니다.
'학습 기록 (Learning Logs) > Today I Learned' 카테고리의 다른 글
Map 함수 (0) | 2024.08.14 |
---|---|
Redis, Spring (0) | 2024.08.07 |
MSA, Spring Cloud (0) | 2024.08.06 |
DI, IoC (0) | 2024.07.30 |
패키지 위치에 따라 다른 DB가 자동으로 연결되는 법 (0) | 2024.03.03 |