2.5. 선언적 보안 및 자카르타 인증

선언적 보안은 컨테이너를 사용하여 보안을 관리하여 보안 문제를 애플리케이션 코드와 분리하는 방법입니다. 컨테이너에서는 파일 권한 또는 사용자, 그룹 및 역할을 기반으로 권한 부여 시스템을 제공합니다. 일반적으로 이 접근 방식은 프로그래밍 방식의 보안보다 뛰어납니다. 이를 통해 애플리케이션 자체는 보안에 대한 책임을 모두 얻을 수 있습니다. JBoss EAP는 보안 하위 시스템에서 보안 도메인을 사용하여 선언적 보안을 제공합니다.

Jakarta Authentication은 사용자 인증 및 권한 부여를 위해 설계된 Java 패키지 집합을 포함하는 선언적 보안 API입니다. API는 표준 PAM(Pluggable Authentication Modules) 프레임워크의 Java 구현입니다. 사용자 기반 권한을 지원하기 위해 Jakarta EE 액세스 제어 아키텍처를 확장합니다. JBoss EAP 보안 하위 시스템은 실제로 Jakarta Authentication API를 기반으로 합니다.

Jakarta Authentication은 보안 하위 시스템의 기반이므로 인증은 플러그 방식으로 수행됩니다. 이를 통해 Java 애플리케이션은 Kerberos 또는 LDAP와 같은 기본 인증 기술과 독립적으로 유지할 수 있으며 보안 관리자가 다양한 보안 인프라에서 작업할 수 있습니다. 보안 인프라와의 통합은 보안 관리자 구현을 변경하지 않고 수행할 수 있습니다. Jakarta Authentication이 사용하는 인증 스택의 구성만 변경하면 됩니다.