Spring Boot 공부 일기 <1> - Actuator, Security

이동휘·2024년 8월 5일

Spring Boot

목록 보기
1/21

1. IDE

Intellij

2. 오늘 공부 내용

Actuator, Security

Spring Boot Actuator란?

Spring Boot Actuator - 운영 환경에서 애플리케이션을 모니터링하고 관리하기 위한 기능을 제공

Actuator 설정

프로젝트에 추가

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
}

application.yml 파일에 설정

management:
  endpoints:
    web:
      exposure:
        include: health,info,metrics

Security 추가

프로젝트에 추가

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-security'
}

Security 설정

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
@EnableWebSecurity
public class ActuatorSecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .requestMatchers("/actuator/**").hasRole("ACTUATOR_ADMIN")
            .anyRequest().authenticated()
            .and()
            .httpBasic();
        return http.build();
    }
}

사용자 설정

application.yml 파일에 설정

spring:
  security:
    user:
      name: admin
      password: adminpassword
      roles: ACTUATOR_ADMIN

주요 Actuator 앤드포인트

/actuator/health: 애플리케이션 상태 확인
/actuator/info: 애플리케이션 정보
/actuator/metrics: 다양한 메트릭 정보
/actuator/env: 환경 설정 정보
/actuator/loggers: 로그 레벨 확인 및 변경

정리

Spring Boot Actuator - 애플리케이션을 모니터링을 위한 강력한 도구
Security를 사용해 접근을 제한함으로써, 안전하게 애플리케이션을 모니터링하고 관리할 수 있음
Actuator, Security를 사용해 애플리케이션의 안정성과 성능 향상에 큰 도움이 됨

0개의 댓글