[스프링] 스프링 시큐리티와 Oozie 웹 인터페이스 보안 설정

이번 포스트에서는 스프링 시큐리티를 활용하여 Oozie 웹 인터페이스의 보안을 설정하는 방법에 대해 알아보겠습니다.

목차

  1. 시작하기
  2. 스프링 시큐리티 설정
  3. Oozie 웹 인터페이스 보안 설정
  4. 마무리

시작하기

Oozie는 워크플로와 코디네이터를 관리하고 실행하기 위한 오픈 소스 워크플로 코디네이터 시스템입니다. Oozie 웹 인터페이스에 스프링 시큐리티를 연동하여 보안을 강화할 수 있습니다.

스프링 시큐리티 설정

먼저, 스프링 시큐리티를 프로젝트에 추가합니다. pom.xml에 필요한 의존성을 추가하고, 설정 파일을 생성하여 스프링 시큐리티를 구성합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

스프링 시큐리티를 구성하는 설정 파일에서는 인증인가에 필요한 내용을 구현합니다.

Oozie 웹 인터페이스 보안 설정

Oozie의 웹 인터페이스에서 스프링 시큐리티가 적용되도록 하려면, WebSecurityConfigurerAdapter를 상속받은 커스텀 클래스를 작성하여 보안을 설정합니다. Oozie의 웹 리소스에 대한 접근 제어 및 권한 부여를 구현할 수 있습니다.

@Configuration
@EnableWebSecurity
public class OozieWebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/oozie/**").hasRole("ADMIN")
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }
}

위 코드는 /oozie/**로 시작하는 URL 패턴에 대해 ADMIN 권한을 가진 사용자만 접근을 허용하도록 구성되어 있습니다.

마무리

이렇게 스프링 시큐리티를 이용하여 Oozie 웹 인터페이스의 보안을 설정할 수 있습니다. 보다 높은 수준의 보안이 필요한 경우, 추가적인 설정과 접근 제어 규칙을 정의할 수 있습니다.

기존 Oozie 웹 인터페이스에 스프링 시큐리티를 통합하여 보안을 강화하면 사용자 및 리소스에 대한 안전을 더욱 확보할 수 있습니다.

참고 자료