보안 이벤트 서비스

보안 이벤트 서비스에 대해 설명한다.

1. 개요

SPI 클래스와 디폴트 보안 서비스 구현 클래스로부터 EventHandlingService로 방출되는 표준 보안 이벤트(Security Event)에 대해 설명한다. 이 내용은 jeus.security.spi.EventHandlingService SPI를 구현하여 자신만의 이벤트 핸들링을 개발하는 데 유용하게 참고할 수 있다.

목록의 양식은 다음과 같다.

G.2.X <Event type> = 이벤트 타입
       Source Class: 이벤트가 발생한 클래스
       Event Type: 이벤트 타입
       Event Level: 이벤트 레벨 (FATAL, SERIOUS, WARNING, INFORMATION, DEBUG).
       Event Context: 이벤트 context에 대한 key-value 쌍의 집합.
       Emitted When? 이벤트가  발생하는 조건

보통 이벤트는 이벤트 소스와 같은 도메인에 있는 EventHandlingService들로 방출된다. 그러나, 예외로 security.install.successful과 security.uninstall.attempt 이벤트는 보안 시스템에 설정되어 있는 모든 도메인으로 방출된다.

jeus.security.base.Event 클래스와 jeus.security.spi.EventHandlingService 클래스에 대한 더 자세한 정보는 Javadoc을 참고한다.

2. 이벤트

다음은 표준 보안 이벤트의 목록이다.

security.validation.failed

Source Class

jeus.security.spi.SubjectValidationService

Event Type

security.validation.failed

Event Level

WARNING

Event Context

  • Key : “subject”

  • Value : 유효성 검증이 실패한 jeus.security.base.Subject

Emitted When

SubjectValidationService가 SecurityException을 발생할 때마다

security.authentication.failed

Source Class

jeus.security.spi.AuthenticationService

Event Type

security.authentication.failed

Event Level

WARNING

Event Context

  • Key : “subject”

  • Value : 유효성 검증이 실패한 jeus.security.base.Subject

Emitted When

Subject에 대한 사용자 인증이 실패할 때마다

security.authorization.failed

Source Class

jeus.security.spi.AuthorizationService

Event Type

security.authentication.failed

Event Level

WARNING

Event Context

  • Key : “contextid”

    Value : Permission 체크가 일어난 Context ID

  • Key : “permission”

    Value : 체크될 java.security.Permission

  • Key : “subject”

    Value : 사용자 인증이 실패한 jeus.security.base.Subject

Emitted When

사용자 인증이 실패할 때마다

security.authentication.repository.subject.added

Source Class

jeus.security.spi.AuthenticationRepositoryService

Event Type

security.authentication.repository.subject.added

Event Level

INFORMATION

Event Context

  • Key : “subject”

  • Value : 추가된 jeus.security.base.Subject

Emitted When

AuthenticationRepositoryService에 Subject가 성공적으로 추가될 때마다

security.authentication.repository.subject.removed

Source Class

jeus.security.spi.AuthenticationRepositoryService

Event Type

security.authentication.repository.subject.removed

Event Level

INFORMATION

Event Context

  • Key : “subject”

  • Value : 삭제된 jeus.security.base.Subject

Emitted When

AuthenticationRepositoryService로부터 Subject가 성공적으로 삭제될 때마다

security.authentication.repository.subject.removed.complete

Source Class

jeus.security.spi.AuthenticationRepositoryService

Event Type

security.authentication.repository.subject.removed.complete

Event Level

INFORMATION

Event Context

  • Key : “name”

  • Value : 성공적으로 삭제된 Subject

Emitted When

Subject가 AuthenticationRepositoryService로부터 성공적으로 삭제될 때마다

security.authorization.repository.policy.added

Source Class

jeus.security.spi.AuthorizationRepositoryService

Event Type

security.authorization.repository.policy.added

Event Level

INFORMATION

Event Context

  • Key : “policy”

  • Value : 추가된 jeus.security.base.Policy

Emitted When

AuthorizationRepositoryService에 새로운 Policy가 추가될 때마다

security.authorization.repository.policy.removed

Source Class

jeus.security.spi.AuthorizationRepositoryService

Event Type

security.authorization.repository.policy.removed

Event Level

INFORMATION

Event Context

  • Key : “policy”

  • Value : 삭제된 jeus.security.base.Policy

Emitted When

AuthorizationRepositoryService로부터 Policy 데이터가 삭제될 때마다

security.authorization.repository.policy.removed.complete

Source Class

jeus.security.spi.AuthorizationRepositoryService

Event Type

security.authorization.repository.policy.removed.complete

Event Level

INFORMATION

Event Context

  • Key : “contextid”

  • Value : 저장소로부터 삭제된 java.lang.String 타입의 Context ID

Emitted When

AuthorizationRepositoryService로부터 context id가 삭제될 때마다

security.install.successful

Source Class

jeus.security.spi.SecurityInstaller

Event Type

security.install.successful

Event Level

INFORMATION

Event Context

None

Emitted When

보안 시스템이 성공적으로 설치된 후

security.uninstall.attempt

Source Class

jeus.security.spi.SecurityInstaller

Event Type

security.uninstall.attempt

Event Level

INFORMATION

Event Context

None

Emitted When

보안 시스템이 제거되기 전