코드스테이츠_국비교육/[Section4]

62.01_[Spring Security] Spring Security 개요_22.11.18

생각없이 해도 생각보다 좋다. 2022. 11. 21. 13:51

>현재 학습용 애플리케이션의 문제

>Spring Security
: Spring MVC 기반 애플리케이션의 인증(Authentication)과 인가(Authorization or 권한 부여) 기능을 지원하는 보안 프레임워크
: Spring MVC 기반 애플리케이션에 보안을 적용하는 사실상 표준으로 사용된다.

>Spring Security로 강화할 수 있는 보안 요소

  1. 다양한 유형의 사용자 인증 기능 적용 가능
    -폼 로그인 인증
    -토큰 기반 인증
    -OAuth 2 기반 인증
    -LDAP 인증
  2. 애플리케이션 사용자의 역할(Role)에 따른 권한 레벨 적용 가능
  3. 애플리케이션에서 제공하는 리소스에 대한 접근 제어 가능
  4. 민감 정보에 대한 데이터 암호화
  5.  SSL 적용(Secure Sockets Layer)
    • SSL : 이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술
  6. 일반적으로 알려진 웹 보안 공격 차단

+a : SSO, 클라이언트 인증서 기반 인증, 메서드 보안, 접근 제어 목록

>Spring Security 용어 정리
-Pricipal(주체)
: 애플리케이션에서 작업을 수행하는 개체(사용자, 디바이스, 시스템 등)
: 일반적으로 인증 프로세스가 성공적으로 수행된 사용자의 계정 정보를 의미함.
-Authentication(인증)
: 애플리케이션 사용자가 본인이 본인임을 증명하는 절차
: 사용자를 식별하기 위한 정보를 Credential(신원 증명 정보)라고 함.
-Authorization(인가, 권한 부여)
: 애플리케이션의 특정 리소스에 접근할 수 있게 허가하는 과정
: Authentication이 정상적으로 수행된 사용자에게 하나 이상의 권한(authority)을 부여함
: 반드시 Authentication(인증)과정이 선행되어야 하고, 권한은 일반적으로 역할 형태로 부여됨.
-Access Control(접근 제어)
: 사용자가 애플리케이션 리소스에 접근하는 행위를 제어하는 것