스케줄러 태스크 사용자 권한
스케줄러 서비스는 실행 시 태스크에 Java™ EE(Java Platform, Enterprise Edition) 서비스 컨텍스트 정보를 전파하기 위해 Concurrency Utilities for Java EE 지연 시작 메커니즘을 사용합니다. WebSphere® Application Server에 빌드된 관리 보안 메커니즘의 JAAS 보안 컨텍스트를 사용하여 애플리케이션을 보안하려는 경우 스레드에서 올바른 신임 정보를 사용하여 각 태스크를 작성하십시오.
태스크는 다음 메소드를 사용하여 지정된 보안 신임 정보로
실행됩니다.
- 스레드에서 JAAS(Java Authentication and Authorization Service) 보안 컨텍스트를 사용하여 태스크를 작성했습니다. 동시성 문서의 지연 시작 및 보안 주제를 참조하십시오.
- TaskInfo 오브젝트에서 setAuthenticationAlias 메소드 사용.
- BeanTaskInfo 태스크 TaskHandler EJB 메소드에서 지정된 보안 ID 사용.
스케줄러 서비스는 실행 시 태스크에 Java EE 서비스 컨텍스트 정보를 전파하기 위해 Concurrency Utilities for Java EE 지연 시작 메커니즘을 활용합니다. 전파되는 서비스 컨텍스트 정보 분량은 스케줄러가 참조하는 작업 관리자 구성 오브젝트의 서비스 컨텍스트 설정에서 제어합니다. 예를 들어, 보안 및 국제화 서비스 컨텍스트를 사용할 수 있습니다. 이러한 서비스 컨텍스트를 전파하도록 애플리케이션 서버를 구성하는 방법의 세부사항은 동시성에 대한 정보를 참조하십시오.
Java Authentication and Authorization Service 보안 컨텍스트
제품에 빌드된 관리 보안 메커니즘의 JAAS 보안 컨텍스트를 사용하여 애플리케이션을 보안하려는 경우 스레드에서 올바른 신임 정보를 사용하여 각 태스크를 작성하십시오. 각 태스크에 올바른 신임 정보가 포함된 후에는 보안 문제 없이 관리 보안을 사용 안함으로 설정한 후 다시 사용 가능하게 할 수 있습니다. 스케줄러 태스크 작성 시 보안 컨텍스트를 설정하지 않고, 나중에 대상 애플리케이션에서 보안을 활성화하면 보안 예외나 오류 메시지가 표시될 수 있습니다(예: SECJ0053E). 서로 다른 서버에 있는 두 개 이상의 스케줄러(클러스터된 스케줄러 또는 중복된 스케줄러)가 동일한 테이블에 액세스하고 있으며 보안 설정이 서로 다른 경우 이 오류가 나타날 수 있습니다.다음과 같은 조건이 참일 경우,
JAAS 보안 컨텍스트는 설정되지 않습니다.
- 관리 보안이 사용 안함으로 설정됩니다.
- 관련된 스케줄러 구성에 맞게 구성된 WorkManager에서 보안 컨텍스트 정책이 사용 불가능합니다.
- 신임 정보는 스레드에 설정되어 있지 않습니다. 예를 들어, 스케줄된 태스크를 작성하는 데 사용된 엔터프라이즈 Bean 또는 Servlet의 보안은 유지되지 않거나 태스크는 WASScheduler MBean으로 작성됩니다.
태스크 작성 시 이전에 언급한 조건 중 하나라도
참이고 애플리케이션 서버 또는 애플리케이션을 활성화해야 할 경우
각 태스크에 대해 다음 단계를 완료해야 합니다.
- 스케줄러 API 찾기 또는 가져오기 메소드를 사용하여 태스크를 찾으십시오.
- Scheduler.cancel() API를 사용하여 태스크를 취소하십시오.
- 보안을 사용 가능으로 설정한 Scheduler.create() 메소드를 사용하여 태스크를 다시 작성하십시오. 찾기 또는 가져오기 메소드를 사용하여 스케줄러에서 검색한 태스크를 제출하면 새 태스크 ID가 자동으로 생성됩니다.
우선순위 보안 순서.
이전에 기록한 대로, 올바른 사용자 신임 정보로 실행할 태스크를 확인하는 세 가지 방법이 있습니다. 추가로 각 TaskInfo 구현은 표준 메커니즘을 대체하는 자체적인 사용자 정보를 제공하는 고유한 방법을 사용할 수 있습니다. 여러 메소드를 사용하면 다음 목록을 참조하여 어떠한 보안 메커니즘을 적용할지 결정할 수 있습니다.
BeanTaskInfo- Enterprise Java Bean 파일의 process() 메소드에 설정된 TaskHandler 보안 ID
- TaskInfo 인터페이스에서 setAuthenticationAlias 메소드로 설정한 인증 별명
- JAAS 보안 컨텍스트
- TaskInfo 인터페이스에서 setAuthenticationAlias 메소드로 설정한 인증 별명
- MessageTaskInfo 인터페이스의 setUsername 및 setPassword 메소드. 자세한 정보는 더 이상 사용되지 않는 기능을 참조하십시오.