다루는 내용
- 액추에이터 원격 셸에 접속하기
- 액추에이터 보안
원격 셸을 이용해 접속하기(DEPRECATED)
엔드포인트를 이용한 방법 말고도 원격 셸을 이용하면 작동 중인 애플리케이션의 내부를 알 수 있다. 스프링 부트는 CRaSH를 내장하고 있는데 이 셸은 어떤 자바 애플리케이션에서든 내장할 수 있다. 또 스프링 부트는 액추에이터의 엔드포인트와 거의 동일한 기능을 스프링 부트에 특화된 명령으로 제공하려고 CRaSH를 확장했다.
쩝... 대략 18년 이후부터 deprecated 되었나보다. 이런 방법이 있었다~
액추에이터 사용자화하기
- 엔드포인트 ID 변경하기
management:
endpoints:
shutdown:
id: kill
- 엔드포인트 활성화/비활성화하기
management:
endpoints:
metrics:
enabled: false
- 사용자 정의 메트릭과 게이지 추가하기
등 다양하게 사용자정의하여 사용할 수 있다. 하지만 매트릭스 모니터링 툴인 Prometheus와 Grafana 오픈소스가 잘 되어있으므로 대안을 찾아보자! (https://brunch.co.kr/@springboot/734)
액추에이터 엔드포인트 보안
액추에이터 엔드포인트는 민감한 정보를 많이 포함하고 있다. 따라서 권한이 있는 관리자만 접근할 수 있도록 액추에이터 보안을 적용해야 한다. 다른 URL 경로처럼 스프링 시큐리티로 보안을 적용하면 된다.
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/").access("hasRole('READER')")
.antMatchers("/mgmt/**").access("hasRole('ADMIN')") // 보안 적용
.antMatchers("/**").permitAll()
.and()
.formLogin()
.loginPage("/login")
.failureUrl("/login?error=true");
}
위처럼 스프링 시큐리티 configuration에 접근 제한을 할 수 있다.
'Develop > Spring˙Spring Boot' 카테고리의 다른 글
[Spring] 컴포넌트 탐색, 의존관계 주입과 서비스 로케이터 (0) | 2023.03.07 |
---|---|
[Spring Boot] 애플리케이션 배포하기 (0) | 2023.02.18 |
[Spring Boot] 액추에이터로 내부 들여다보기 - 1 (0) | 2023.02.07 |
[Spring Boot] 스프링 부트 테스트하기 (0) | 2023.02.05 |
[Spring Boot] 구성을 사용자화하기 (0) | 2023.02.03 |