7.마이크로서비스 보안

마이크로 서비스 보안

  • 인증/인가

  • 스프링 클라우드 보안 + OAuth2

  • 스프링 클라우드 보안 + OAuth2 + JWT활용한 방식

OAuth 2.0 소개

  • 토큰 기반의 보안 프레임워크

  • 제 3자 서비스(구글, 페북 등)에서 자신을 인증할 수 있음

  • 외부에서 -> 토큰 주면 -> 인증서비에서 유효성 검사

  • 인증 후 -> 사용자의 요청 -> 매번 자격증명을 하지 않고도 사용자를 인증

  • OAuth2의 진정한 힘은 쉽게 외부(페북, 구글...)와 통합이 가능

  • 자격증명을 외부업체의 서비스에 계속 전달하지 않고도 그 서비스에서 사용자 인증과 인가를 수행 가능

4개의 컴포넌트

  • 보호자원(protected resource)

    • 보호하려는 자원, 여기서는 마이크로 서비스

    • 인증된 사용자만 엑세스 할 수 있게

  • 자원 소유자(resource owner)

    • 식별 가능한 애플리케이션 이름 시크릿 키 받음

    • 시크릿키 -> OAuth2 토큰을 인증할 때 전달되는 자격증명의 일부

  • 애플리케이션(app)

    • 사용자를 대신하여 호출할 애플리케이션

    • 프록시 같은 개념, or 중간 매개체

  • OAuth2 인증서버(OAuth2 authentication server)

    • 애플리케이션과 소비될 서비스(자원) 사이의 중개자

    • 애플리케이션 -> 모든서비스 접근 -> 자격증명 전달 없이 사용자 인증

인증체계

  • 패스워드 (password)

  • 클라이언트 자격증명 (client credential)

  • 인가 코드 (authorization code)

  • 암시적 (implicit)

Last updated