![[z/OS]](../images/ngzos.gif)
Java 스레드 ID 및 운영 체제 스레드 ID
Java™ 스레드 ID 및 운영 체제 스레드 ID를 동기화하도록 옵션을 지정할 수 있습니다.
Enterprise JavaBeans(EJB)는 Java EE(Java Platform, Enterprise Edition) 역할을 EJB 메소드 호출과 연관시키는 메소드 레벨 RunAs 역할 스펙을 지원합니다. EJB 메소드는 지정된 보안 역할과 연관된 권한을 사용하여 실행됩니다. 이 권한은 사용자 ID를 사용하여 지정된 역할에 맵핑됩니다. 일반적으로 이 ID는 웹 기반 및 Java EE 런타임에 의해 인식되며 현재 디스패치 스레드와 연관됩니다. 이 ID는 Java EE 보안에 해당 자원 및 기능에 대한 액세스만 관리합니다. 실제 OS 스레드 ID는 EJB RunAs 역할 선택의 영향을 받지 않으므로 보통 서버의 ID가 됩니다.
OS ID 스레드를 설정하면 Java EE 역할 ID 및 OS 스레드(SyncToOSThread)가 동기화됩니다. 이는 OS 스레드 ID가 EJB 메소드 호출 중에 Java EE 역할 ID와 연관됨을 의미합니다(애플리케이션 어셈블러 및 배치자는 스레드 ID를 특정 Bean 메소드의 RunAs ID로 설정하여 RunAs ID와 운영 체제 스레드를 연관시킴). 이 연관은 파일 및 데이터베이스 관리 시스템에 대한 액세스와 같은 z/OS® 시스템 서비스 요청에 호출자 또는 보안 역할 ID(서버 영역 ID)가 사용됨을 의미합니다. 이 연관(또는 동기화)을 사용 또는 사용 안함으로 설정하도록 z/OS용 WebSphere® Application Server Java EE 서버를 구성할 수 있습니다. 기본 설정은 설치된 운영프로그램의 배치 디스크립터에서 RunAs ID 설정에 대한 OS 스레드 ID에 관계없이 운영 체제 스레드에서 ID를 수정할 수 있는 기능을 사용 불가능하게 하는 것입니다. 애플리케이션 설치 프로그램이 동기화를 사용 가능하게 하지 않을 경우 RunAs ID를 운영 체제 스레드로 설정하는 메소드가 no_permission 오류로 실패합니다.
RACF®(Resource Access Control Facility)를 사용하여 허용된 OS 스레드에 대한 동기화를 위해 FACILITY(및 선택적으로 SURROGAT) 클래스 프로파일을 정의하여 Java 스레드 ID 및 운영 체제 스레드 ID를 동기화하는 옵션의 스펙을 완료합니다. 그러면 WebSphere Application Server 구성의 RACF 관리자가 Java EE 역할 ID 및 OS 스레드 동기화(SyncToOSThread)를 허용하는 사용 권한을 제어할 수 있습니다.
- WebSphere Application Server 및 z/OS 스레드 ID 동기화 사용 가능
- 애플리케이션 SyncToOSThread가 허용되는지 여부를 지정합니다. 이 보안 옵션이 선택된 경우(즉, true가 지정된 경우) 애플리케이션이 지정한 SyncToOSThread가 적용된 후 EJB 및 웹 애플리케이션 SyncToOSThread 스펙에 의해 표시된 대로 EJB 및 웹 컨테이너에 의해 수행됩니다. 기본값은 false 또는 사용 불가능입니다.
- 연결 관리자 RunAs 스레드 ID 사용 가능
- res-auth=container를 지정하는 자원 참조에서 연결을 확보할 때 연결 관리자가 현재 Java EE 프린시펄을 OS 스레드에 동기화하는지 여부를 지정합니다. 기본값은 false 또는 사용 불가능입니다.
- True - Java EE 프린시펄 또는 ID가 EJB 또는 웹 애플리케이션에서 호출되는 모든 요청에 대해 OS 스레드에 동기화되도록 지정합니다.
- False - Java EE 프린시펄 애플리케이션 또는 ID가 EJB 또는 웹 애플리케이션에서 호출되는 모든 요청에 대한 OS 스레드에 동기화되지 않도록 지정합니다. 이 값이 기본값입니다.
- 로컬 OS
- LDAP
- 사용자 정의
- 첫 번째 메소드가 설정될 때의 초기값
- 기본적으로, 서블릿 서비스 메소드 및 EJB 비즈니스 메소드의 호출은 정책 속성의 실행 도구 필드를 다르게 지정하지 않으면
내재적으로 호출자(RunAsCaller)로서 실행합니다. EJB 클라이언트 애플리케이션은 항상 서버(RunAsServer)로
실행됩니다. 참고: 웹 애플리케이션의 경우, 보안 제한사항을 지정하지 않으면 애플리케이션을 인증되지 않은 사용자 ID로 실행할 수 있습니다.
- Java EE ID(지정된 대로 실행)에 대한 메소드 대표 변경사항
- 컨테이너 관리 자원 권한이 있는 자원 참조(res-auth=container)에서 애플리케이션을 확보할 때 연결 관리자가 현재 Java EE ID를 OS 스레드에 동기화합니다. SynchToOSThread로 표시된 EJB 메소드는 Java EE 역할 ID가 OS 스레드에 동기화되도록 합니다.
- WSSubject.doAs()
- 이 설정은 WSSubject.doAs()를 수행하여 주제를 원격 조치와 연관시킬 필요 없이 스레드에 대한 원격 호출에 주제를 연관시킬 때 유동성을 제공합니다.
- JSP(JavaServer Pages) 컴파일
- 웹 컨테이너 JSP JSP 컴파일은 서버에 대해 SyncToOSThread가 사용 가능한 경우(security_EnableSyncToOSThread=1) 서버의 ID를 수정합니다.
- Stateful 보조 저장소 액세스
- EJB 컨테이너 JSP stateful 활성화는 SyncToOSThread가 사용 가능한 경우 서버의 ID를 변경합니다. 항상 서버의 ID를 사용하여 EJB Stateful 세션 보조 저장소에 액세스하십시오.
- 웹 애플리케이션 다시 로드
- 웹 컨테이너가 웹 애플리케이션을 다시 로드할 때 SyncToOSThread가 웹 애플리케이션에 대해 사용 가능할 경우 서버 ID를 변경합니다.
- 연결 관리자 요청
- 자원 참조에서 res-auth=application을 지정할 경우, 스레드 ID는 임시로 서버 ID로 설정됩니다.