Authorization in Spring Security: permissions, roles and beyond by Daniel Garnier Moiroux
- 발표자는 Broadcom Spring 팀의 Daniel Garnier Moiroux로, Spring Security 오픈소스와 상용 제품 개발에 중점을 둡니다. 🧑💻
- 이 강연은 2022년 인증(Authentication) 강연의 후속으로, Spring Security 6(곧 7)의 권한 부여(Authorization)에 초점을 맞춥니다. 🔄
spring-boot-starter-security 추가 시 모든 엔드포인트가 기본적으로 보호되며, 개발용 임시 사용자/비밀번호가 제공됩니다. 🔒
SecurityFilterChain 빈과 authorizeHttpRequests()를 통해 URL 기반 접근 규칙(예: permitAll(), authenticated(), hasRole())을 설정할 수 있습니다. 🌐
UserDetailsService를 구현하여 사용자 정의 사용자(역할, 이메일 등)를 관리하고 세분화된 권한 부여를 가능하게 합니다. 👤
hasRole("ADMIN")을 사용하여 요청 수준(requestMatchers) 및 메서드 수준(@PreAuthorize)에서 역할 기반 접근 제어(RBAC)를 구현합니다. 🔑
@EnableMethodSecurity와 @PreAuthorize 어노테이션을 통해 특정 서비스/리포지토리 메서드에 대한 세밀한 보안 제어가 가능합니다. 🎯
- 권한 부여 시스템 설계(역할, 권한, 속성)는 기술 도구 사용법만큼 중요하며, 견고한 시스템 구축의 핵심입니다. 🏗️
- 기본 생성 비밀번호는 개발용이며, 프로덕션 환경에서는 적절한 보안 구성을 사용해야 합니다. ⚠️