보안 사용 가능 후 오류 발생
보안을 사용 가능하게 한 후 오류가 발생하면 이 정보를 참조하십시오.
- 웹 페이지에 액세스 중 인증 오류 발생
- 웹 페이지에 액세스 중 인증 오류 발생
- 클라이언트와 서버 사이에 코드 페이지가 다른 경우 인증에 실패함
- 오류 메시지: CWSCJ0314E: 현재 Java 2 보안 정책이 잠재적 위반을 보고했습니다.
- Application Server를 시작할 때 CWMSG0508E: JMS 서버 보안 서비스가 사용자 ID를 인증할 수 없습니다: 오류가 SystemOut.log에 표시됩니다.
- 오류 메시지: CWSCJ0237E: 보안을 사용 가능하게 하고 Application Server를 시작한 후 하나 이상의 핵심 LTPAServerObject 구성 속성이 널이거나 사용할 수 없습니다.
AccessControlException이 SystemOut.log에 보고되었습니다.
- 오류 메시지: CWSCJ0336E: 다음의 예외 {1} 때문에 {0} 사용자에 대한 인증이 실패했습니다.
오류 메시지 : 보안 collaborator.java.lang.SecurityException: AuthConfigFactory error: java.lang.ClassNotFoundException: org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl을 초기화하는 동안 예기치 못한 예외가 발생함
오류 메시지: SECJ8032W: AuthConfigFactory가 기본 JASPI 팩토리 구현 클래스를 사용하여 정의되지 않음
- 오류 메시지: SECJ0352E: 다음 {1} 예외로 인해 {0} 패턴에 일치하는 사용자를 가져올 수 없음
- 올바르지 않은 키 또는 토큰 유형으로 인해 LTPA 토큰의 유효성 검증에 실패함
- 프로파일 관리 도구를 사용하여 새 프로파일을 작성하는 경우에 키 오류 생성
- LDAP에서 Tivoli Access Manager를 사용하도록 설정된 보안 애플리케이션에서 일부 보안 역할을 즉시 사용하지 못함
- 도메인 영역을 신뢰하지 않음으로 설정한 후 글로벌 보안 설정을 사용할 수 없음
- 업데이트된 글로벌 보안 영역 이름이 중복됨
- 세션 보안 기능이 켜질 때 오류가 발생할 수 있음
ABEND WITH ABEND EC3 REASON=020F2001
보안 관련 문제점 진단 및 해결에 관한 일반적인 팁은
보안 컴포넌트 문제점 해결
주제를 참조하십시오.
웹 페이지에 액세스 중 인증 오류 발생
- 올바르지 않은 사용자 이름 또는 비밀번호. 사용자 이름과 비밀번호를 검사하고 올바른지 확인하십시오.
- 보안 구성 오류: 사용자 레지스트리 유형이 올바르게 설정되지 않습니다. 관리 콘솔의 관리 보안 설정에 있는 사용자 레지스트리 특성을 확인하십시오. 사용자 레지스트리 특성이 의도한 사용자 레지스트리인지 확인하십시오.
- 내부 프로그램 오류. 클라이언트 애플리케이션이 Java™ 독립형 프로그램인 경우, 이 프로그램은 신임 정보를 올바르게 수집하거나 전송할 수 없습니다.
사용자 레지스트리
구성, 사용자 ID 및 비밀번호가 올바른 것으로 표시되면 WebSphere Application Server 추적을 사용하여 문제점의 원인을
판별하십시오. 보안 추적을 사용 가능으로 설정하려면,
com.ibm.ws.security.*=all=enabled 추적 스펙을 사용하십시오.
웹 페이지에 액세스 중 인증 오류 발생
자원에 대한 액세스 권한이 있어야 하는 사용자에게 액세스 권한이 없으면 구성 단계가 누락되었을 가능성이 있습니다. 관리 역할에 대한 액세스 권한 부여을 검토하십시오.
- 액세스된 웹 자원의 필수 역할을 확인하십시오.
- 권한 테이블을 검사하고 사용자 및 사용자가 속한 그룹에 필수 역할 중 하나가 지정되어 있는지 확인하십시오.
- 웹 자원의 배치 디스크립터에서 웹 자원의 필수 역할을 보십시오.
- 관리 콘솔을 사용하여 웹 자원을 포함하는 애플리케이션의 권한 테이블을 보십시오.
- 필수 역할을 부여 받은 사용자를 테스트하여 사용자가 문제가 발생하는 자원에 액세스할 수 있는지 확인하십시오.
- 사용자에게 필수 역할 중 하나 이상의 역할이 있어야 할 경우, 관리 콘솔을 사용하여 해당 사용자에게 필수 역할을 지정하고 중지한 다음 애플리케이션을 다시 시작하십시오.
사용자에게 필요한 역할이 부여되었지만
보안 자원에 액세스하는 데 계속 실패하면
com.ibm.ws.security.*=all=enabled를 추적 스펙으로 사용하여 보안 추적을 사용 설정하십시오. 추가 솔루션에 대한
추적 정보를 수집하십시오.
클라이언트와 서버 사이에 코드 페이지가 다른 경우 인증에 실패함
클라이언트가 서버와 다른 코드 페이지를 사용하고 기본 인증 도중 사용자 ID 및 비밀번호에 비US-ASCII 문자가 사용되는 경우, 로그인에 실패합니다. HTTP 헤더에 인코드된 데이터를 변환하는 데 필요한 인코딩 메소드 정보가 포함되어 있지 않으므로 서버가 정보를 올바르게 디코드하는 방법을 모릅니다.오류 메시지: CWSCJ0314E: 현재 Java 2 보안 정책이 서버에 대한 잠재적 위반을 보고함
Error Message: CWSCJ0314E: Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. 자세한 정보는 문제점 판별 안내서를 참조하십시오. {0}Permission/:{1}Code/:{2}{3}Stack Trace/:{4}Code Base Location/:{5}Java 보안 관리자 checkPermission 메소드가 SecurityException 예외를 보고했습니다.
보고된 예외는 보안 시스템에 치명적일 수 있습니다. 보안 추적을 켜서 보안 정책을 위반했을 수도 있는 잠재적 코드를 판별하십시오. 위반한 코드를 판별한 후 모든 적용 가능한 Java 2 보안 정책 파일과 애플리케이션 코드를 검사하여, 시도된 조작이 Java 2 보안에 대해 허용되는지 확인해야 합니다.
RAS(Reliability Availability Serviceability) 추적을 디버그 모드로 구성하는 방법을 보려면 구성 추적 및 로깅 문서를 확인하십시오. 또는
- 일반 JVM 인수 분할창의 관리 콘솔에서
- java.security.debug 런타임 플래그를 추가하십시오.
- 유효값은 다음과 같습니다.
- access
- 필수 권한: 코드, 스택 및 코드 기본 위치 등의 모든 디버그 정보 인쇄
- stack
- 필수 권한, 코드 및 스택 등의 디버그 정보 인쇄
- failure
- 필수 권한 및 코드 등의 디버그 정보 인쇄
분할창에 있는 다음 특성을 지정하십시오.
Java 보안 정책의 검토는 http://www.ibm.com/developerworks/java/jdk/security/에서 Java 2 보안 문서를 참조하십시오.
- permission java.io.FilePermission "${user.home}${/}.mailcap", "read";
- permission java.io.FilePermission "${user.home}${/}.mime.types", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mailcap", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mime.types", "read";
오류 메시지: 애플리케이션 서버를 시작할 때 "CWMSG0508E: JMS 서버 보안 서비스가 사용자 ID를 인증할 수 없습니다." 오류가 SystemOut.log에 표시됩니다.
이 오류는 JMS(Java Messaging Service) API 샘플을 설치하고 보안을 사용 가능하게 한 후 발생할 수 있습니다. 해당 JMS 샘플 문서에서 구성 및 실행 페이지의 지시사항에 따라 샘플을 구성하여 WebSphere Application Server 보안에 대한 작업을 수행할 수 있습니다.
설치 프로그램을 실행하고 사용자 정의를 선택한 다음 설치하려는 기능 선택 분할창에 이미 설치된 컴포넌트를 찾아봄으로써 메시지 구동 Bean 샘플의 설치를 확인할 수 있습니다. JMS 샘플이 임베디드 메시징 아래 메시지 구동 Bean 샘플로 표시됩니다.
또한 관리 콘솔을 사용하여 샘플을 포함하는 Application Server의 특성을 열고 이 설치를 확인할 수도 있습니다. MDBSamples를 선택하고 설치 제거를 클릭하십시오.
오류 메시지: CWSCJ0237E: 보안을 사용 설정하고 애플리케이션 서버를 시작한 후 하나 이상의 핵심 LTPAServerObject 구성 속성이 널이거나 사용 가능하지 않음
이 오류 메시지는 LTPA(Lightweight Third Party Authentication)를 인증 메커니즘으로 선택하고 LTPA 키를 생성하지 않아 발생할 수 있습니다. LTPA 키는 LTPA 토큰을 암호화합니다.
- 를 클릭하십시오.
- 임의의 비밀번호를 입력하십시오.
- 비밀번호 확인에 동일한 비밀번호를 입력하십시오.
- 적용을 클릭하십시오.
- 키 생성을 클릭하십시오.
- 저장을 클릭하십시오.
AccessControlException 예외가 SystemOut.log에 보고됩니다.
문제점은 WebSphere Application Server에서 구현되는 API 레벨 보안 프레임워크인 WebSphere Application Server의 Java 2 보안 기능과 관련됩니다. 다음 예제와 유사한 예외가 표시됩니다. 오류 메시지 및 번호는 다양합니다.![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
app_server_root/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
![[z/OS]](../images/ngzos.gif)
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
/WebSphere/V6R1M0/AppServer/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
![[IBM i]](../images/iseries.gif)
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
app_server_root/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
Java 2 보안,
보안을 사용 또는 사용 안함으로 설정하는 방법과 이유, 정책 파일과의 관계 및
정책 파일 편집 방법에 대한 설명은 Information Center 탐색의
Java 2 보안 주제를 참조하십시오. 이 주제에서는 Java 2 보안이
이 제품에서만 사용되는 것은 아니며 개발자가 비즈니스 애플리케이션을 위해
구현할 수도 있음을 설명합니다. 클라이언트가 WebSphere Application Server에서
호스트하는 자원에 액세스하려고 할 때 이 예외가 발생할 경우, 관리자는 개발자와 협력해야 합니다.
- 정책 파일의 구문 오류
- .rar 파일에 번들된 ra.xml 파일의 권한 스펙에 관한 구문 오류. 이 경우는 CICS® 또는 기타 자원에 대한 커넥터 액세스를 지원하는 자원 어댑터에 적용됩니다.
- 애플리케이션에 정책 파일 또는 .rar 파일에 번들된 ra.xml 파일의 권한 스펙에 지정된 권한이 누락되었습니다.
- 클래스 경로가 올바르게 설정되지 않아 SPI(Service Provider Programming Interface)용 resource.xml 파일에 대한 권한이 올바르게 작성되지 않았습니다.
- 애플리케이션이 호출한 라이브러리 또는 애플리케이션에 대한 액세스를 지원하는 doPrivileged 블록이 누락되었습니다.
- 권한이 잘못된 정책 파일에 지정되었습니다.
- 관련된 모든 정책 파일을 점검하여 예외에 표시된 권한(예: java.io.FilePermission)이 지정되었는지 확인하십시오.
- 구문 오류의 세부사항을 보고하는 SystemOut.log 파일에서
관련된 ParserException 예외를 찾으십시오.
예를 들면, 다음과 같습니다.
CWSCJ0189E: 애플리케이션 정책 템플리트를 작성하는 중 ParserException 발생 profile_root/config/cells/cell_name/nodes/node_name/app.policy
CWSCJ0189E: 애플리케이션 정책 템플리트를 작성하는 중 ParserException 발생 /WebSphere/V6R1M0/AppServer1/profiles/profile_name/config/cells/cell_name/nodes/node_name/app.policy.
CWSCJ0189E: 애플리케이션 정책 템플리트를 작성하는 중 ParserException 발생 profile_root/config/cells/cell_name/nodes/node_name/app.policy
여기에서:이 예외는 com.ibm.ws.security.util.ParserException: line 18: expected ';', found 'grant'입니다.V6R1M0는 사용 중인 WebSphere Application Server 버전을 표시합니다.
- cell_name은 셀 이름을 표시합니다.
- profile_name은 프로파일 이름을 표시합니다.
- node_name은 노드 이름을 표시합니다.
- CWSCJ0325W: 정책 파일에 지정된 permission 권한이 대응되지 않습니다와 유사한 메시지를 찾으십시오.
- 권한이 없는 메소드를 판별하려면 호출 스택을 점검하십시오.
이 메소드의 클래스 경로를 식별하십시오. 메소드를 식별하기 어려운 경우
Java2 보안 보고서를 사용 가능하게 하십시오.
com.ibm.ws.security.core.*=all=enabled를 지정하거나 Java property.java.security.debug 특성을 지정하여 RAC 추적 구성 java.security.debug 특성의 유효한 값은 다음과 같습니다
- access
- 필수 권한: 코드, 스택 및 코드 베이스 위치 등의 모든 디버그 정보 인쇄
- stack
- 필수 권한: 코드 및 스택 등의 디버그 정보 인쇄
- failure
- 필수 권한 및 코드 등의 디버그 정보 인쇄
- 보고서에 다음이 표시됩니다.
- 권한
- 누락된 권한
- Code
- 문제점이 있는 메소드
- Stack Trace
- 액세스 위반이 발생한 위치
- CodeBaseLocation
- 각 스택 프레임의 세부사항
일반적으로 권한과 코드로 문제점을 충분히 식별합니다. 다음 예에서는 보고서를 설명합니다.
Permission: app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:app_server_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar } Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete ) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:/app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:/app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.)
Permission: /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:/WebSphere/AppServer/installedApps/app1/JrasFVTApp.ear/RasLib.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:/WebSphere/AppServer/lib/securityimpl.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:/WebSphere/AppServer/lib/securityimpl.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.)
Permission: profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:profile_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar } Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete ) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.) Permission: profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:profile_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.) Permission: profile_root /logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission profile_root /logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:profile_root /installedApps/app1/JrasFVTApp.ear/RasLib.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission profile_root /logs/server1/SystemOut_02.08.20_11.19.53.log delete) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.)
여기에서:- app1은 애플리케이션 이름을 표시합니다.
- app_server_root는 WebSphere Application Server WebSphere Application Server, Network Deployment에 대한 설치 루트 디렉토리를 표시합니다.
- profile_root는 시스템에 있는 특정 프로파일의 위치 및 이름을 나타냅니다.
- 프로파일 또는 profile_name은 프로파일의 이름을 나타냅니다.
- server1 또는 server_name은 애플리케이션 서버의 이름을 나타냅니다.
- 메소드가 SPI인 경우, resources.xml 파일을 검사하여 클래스 경로가 올바른지 확인하십시오.
- 모든 정책 파일이 제대로 로드되었는지 또는 각각의 클래스 경로에 부여된 권한을 확인하려면 com.ibm.ws.security.policy.*=all=enabled를 사용하여 추적을 사용 가능하게 하십시오. 로드된 모든 사용 권한은 trace.log 파일에 나열되어 있습니다. app.policy, was.policy 및 ra.xml 파일을 검색하십시오. 클래스 경로에 대한 권한 목록을 확인하려면 classpath에 대한 유효 정책을 검색하십시오.
정책 파일이나 ra.xml 파일에 구문 오류가 있을 경우, policytool을 사용하여 이를 정정하십시오. 구문 오류가 발생할 수 있으므로 정책을 수동으로 편집하지 마십시오.
- 권한이 Unresolved로 나열된 경우, 유효하지 않습니다. 지정된 권한 이름이 올바른지 확인하십시오.
- resource.xml 파일에 지정된 클래스 경로가 올바르지 않을 경우, 정정하십시오.
- 필수 권한이 정책 파일 또는 ra.xml 파일에 존재하지 않을 경우 애플리케이션 코드를 점검하여 이 권한을 추가해야 하는지 확인하십시오. 권한을 추가해야 하는 경우, 적절한 정책 파일 또는 ra.xml 파일에 추가하십시오.
- 해당 자원에 액세스 중인 특정 메소드 이외에는 권한을 부여하지 않은 경우 doPrivileged 블록을 사용하도록 코드를 수정해야 합니다.
권한이 정책 파일 또는 ra.xml 파일에 존재하고 올바르게 로드되었지만 클래스 경로에 목록에 있는 권한이 여전히 없을 경우, 권한의 위치가 올바르지 않을 수도 있습니다. 권한을 지정할 정책 파일 또는 ra.xml 파일을 판별하려면 Information Center 탐색의 Java 2 보안의 내용을 주의해서 읽으십시오.
- permission java.io.FilePermission "${user.home}${/}.mailcap", "read";
- permission java.io.FilePermission "${user.home}${/}.mime.types", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mailcap", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mime.types", "read";
오류 메시지: CWSCJ0336E: 다음 {1} 예외로 인해 {0} 사용자에 대한 인증이 실패함
- 사용자 ID와 비밀번호가 올바른지 확인하십시오.
- 사용자 ID가 레지스트리에 있는지 확인하십시오.
- 기본 식별 이름(DN)이 올바른지 확인하십시오.
- 사용자 필터가 올바른지 확인하십시오.
- 바인드 DN에 대한 바인드 DN 및 비밀번호가 올바른지 확인하십시오. 바인드 DN 및 비밀번호가 지정되지 않았으면, 누락된 정보를 추가한 후 재시도하십시오.
- 호스트 이름 및 LDAP 유형이 올바른지 확인하십시오.
오류 메시지 : 보안 collaborator.java.lang.SecurityException: AuthConfigFactory error: java.lang.ClassNotFoundException: org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl을 초기화하는 동안 예기치 못한 예외가 발생함
# # The fully qualified class name of the default JASPI factory implementation class. # authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry
오류 메시지: SECJ8032W: AuthConfigFactory가 기본 JASPI 팩토리 구현 클래스를 사용하여 정의되지 않음
이 오류 메시지는 JASPI 팩토리 구현이 정의되지 않은 경우에 발생합니다. 기본 JASPI 팩토리 구현이 서버 런타임에 설정되었습니다. 하지만, JASPI는 클라이언트에서 작동하지 않을 수 있습니다.
# # The fully qualified class name of the default JASPI factory implementation class. # authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry
오류 메시지: SECJ0352E: 다음 {1} 예외로 인해 {0} 패턴에 일치하는 사용자를 가져올 수 없음
이 인증 실패 메시지는 외부 사용자 계정 저장소가 손상되었거나 사용 불가능하고 WebSphere Application Server가 저장소에서 사용자 이름을 인증할 수 없는 경우에 표시됩니다. 일반적으로 인증 오류 메시지 뒤에는 문제점의 네이처 또는 근본 원인을 표시하는 추가 정보가 이어집니다. 예를 들면, 다음과 같습니다.Make sure the users matching the pattern exist in the registry. Contact your service representative if the problem persists.
사용자 계정 저장소가 손상되었거나 WebSphere Application Server와 외부 사용자 계정 저장소 사이의 연결이 끊어질 경우, 이 추가 정보는 명확한 사용자 조치를 제공하지 않을 수 있습니다. 이 문서에서 저장소로 부르는 외부 사용자 계정 저장소는 LDAP(Lightweight Directory Access Protocol) 제품일 수 있습니다.- 저장소와 WebSphere Application Server를 둘 다 다시 시작하십시오.
- 저장소에 연결할 수 있는지 테스트하십시오. 연결 시도가 계속 실패하는 경우 저장소를 다시 설치할 필요가 있을 수 있습니다.
- 저장소에 진단이 제공되는 경우 저장소를 다시 설치해야 하는 일을 방지하기 위해
진단을 실행하십시오. 주의: 이전 단계에서 문제점이 해결되지 않은 경우 저장소를 다시 설치해야 할 수 있습니다. 계속하기 전에 구성된 모든 사용자 및 그룹의 전체 목록을 생성하십시오. 다시 설치 후 이들 필드를 다시 채워야 합니다.
- 필요한 경우, 손상된 저장소를 다시 설치하십시오.
- 목록의 사용자 및 그룹을 새로 설치된 저장소에 채워 넣으십시오.
- 저장소와 WebSphere Application Server를 둘 다 다시 시작하십시오.
- 관리 콘솔에서 으로 이동한 뒤 해당되는 사용자 계정 저장소를 선택하십시오. 예를 들어, 독립형 LDAP(Lightweight Directory Access Protocol) 저장소를 사용하는 경우 독립형 LDAP 레지스트리를 선택하십시오.
- 연결 테스트를 클릭하여 저장소에 WebSphere Application Server를 연결할 수 있는지 확인하십시오.
올바르지 않은 키 또는 토큰 유형으로 인해 LTPA 토큰의 유효성 검증에 실패함
LTPA 토큰의 보안 컨텍스트 직렬화 해제가 Validation of LTPA token failed due to invalid keys or token type 메시지를 포함하는 WSSecurityException으로 실패하는 경우 com.ibm.websphere.security.recoverContextWithNewKeys 특성을 true로 설정하십시오.
프로파일 관리 도구를 사용하여 새 프로파일을 작성하는 경우에 키 오류 생성
프로파일 관리 도구 또는 명령행 manageprofiles 유틸리티를 사용하여 새 프로파일을 작성하는 경우, 부분적인 성공 또는 실패를 표시하는 오류 메시지가 표시됩니다. install_dir/logs/manageprofiles/profile_name_create.log 파일에 있는 오류 메시지는 generateKeysforSingleProfile 태스크 또는 generateKeysForCellProfile 태스크의 오류를 가리킬 수 있습니다.
프로파일 작성 도구 및 manageprofiles 유틸리티는 여러 태스크를 호출합니다. generateKeysForSingleProfile 태스크는 독립형 애플리케이션 서버 또는 배치 관리자 프로파일을 작성할 때 호출됩니다. generateKeysForCellProfile 태스크는 셀 프로파일을 작성할 때 호출됩니다. 두 태스크 모두 wsadmin 명령을 호출하는 첫 번째 태스크입니다. 로그에 두 태스크 가운데 하나의 오류가 표시되어도 실제로는 보안 태스크의 오류가 아니라 wsadmin 명령 실패로 인해 오류가 발생했을 수 있습니다.
문제점의 실제 원인을 판별하려면 다음 로그 파일에 제공되는 정보를 검토하십시오.
- install_dir/logs/manageprofiles/profile_name_create.log 파일은 실패의 오류 코드를 표시함
- install_dir/logs/manageprofiles/profile_name/keyGeneration.log 파일
- install_dir/logs/manageprofiles/profile_name/wsadminListener.log 파일
LDAP에서 Tivoli Access Manager를 사용하도록 설정된 보안 애플리케이션에서 일부 보안 역할을 즉시 사용하지 못함
경우에 따라, LDAP에서 Tivoli® Access Manager를 사용하도록 설정된 보안 애플리케이션을 배치할 때 일부 보안 역할을 즉시 사용하지 못할 수 있습니다.
"Exception: java.lang.OutOfMemoryError"
- 최소 및 최대 Java 힙 크기에 더 많은 메모리를 할당하십시오.
- 관리 콘솔에서 을 선택하십시오.
- 를 선택하십시오.
- JVM(Java Virtual Machine)을 선택하십시오.
- 초기 힙 크기를 512MB로, 최대 힙 크기를 1024MB로 설정하십시오.
- 확인, 저장을 차례로 선택하십시오.
- WebSphere Application Server를 다시 시작하십시오.
- WebSphere Application Sever가 중지된 후,
임베디드 Tivoli Access Manager에 대한 성능 조정 특성을 몇 개 추가하십시오.
- config/cells/CELLNAME 디렉토리에 있는
amwas.amjacc.template.properties 파일에
다음 특성을 추가하여 편집하십시오.
com.tivoli.pd.as.jacc.DBRefresh=0 com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes com.tivoli.pd.as.rbpf.NoUncheckedRoles=true
이렇게 하면 임베디드 Tivoli Access Manager를 쉽게 재구성할 수 있습니다.
- 임베디드 Tivoli Access Manager가 이미 구성되었기 때문에
지정된 특성으로 생성된 구성 파일을 업데이트할 수 있습니다. ND(dmgr, NA 및 서버)의 각 WebSphere Application Server 인스턴스에서
profiles/NAME/etc/tam 디렉토리로 이동한 후 다음을 수행하십시오.amjacc.properties로 끝나는 각 파일에 지정된 3가지 특성을 추가하십시오.
com.tivoli.pd.as.jacc.DBRefresh=0 com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes com.tivoli.pd.as.rbpf.NoUncheckedRoles=true
pdperm.properties로 끝나는 각 파일에서 appsvr-dbrefresh 특성을 appsvr-dbrefresh=0으로 업데이트하십시오.
authztable.pdperm.properties로 끝나는 각 파일에서 appsvr-mode 특성을 appsvr-mode=remote로 업데이트하십시오.
- config/cells/CELLNAME 디렉토리에 있는
amwas.amjacc.template.properties 파일에
다음 특성을 추가하여 편집하십시오.
- 셀을 다시 시작하십시오.
도메인 영역을 신뢰하지 않음으로 설정한 후 글로벌 보안 설정을 사용할 수 없음
신뢰 도메인 영역을 추가하고 나중에 관리 콘솔에서 이 영역을 "신뢰하지 않음"으로 설정하기로 결정하는 경우 domain-security.xml 파일에 비어 있는 inboundTrustedAuthenticationRealm 항목이 발생할 수 있습니다. domain-security.xml의 이러한 비어 있는 인바운드 또는 아웃바운드 신뢰 영역 정의는 이 도메인이 글로벌 보안 설정을 사용하지 못하도록 차단합니다.
- 현재 도메인을 제거하십시오.
- 새 도메인을 작성하십시오.
- 잘못된 영역을 "신뢰"로 추가하지 마십시오.
업데이트된 글로벌 보안 영역 이름이 중복됨
글로벌 보안 영역 이름이 업데이트될 때 애플리케이션 보안 도메인의 영역 이름도 동일한 영역 이름으로 업데이트됨
WebSphere Application Server 버전 8.0에서 글로벌 레벨의 인스턴스에 추가하여 다중 보안 도메인 환경에서 도메인 레벨의 고유 연합 저장소 인스턴스를 구성할 수 있습니다. 그러나 연합 저장소 사용자 레지스트리가 글로벌 레벨에서 구성되거나 보안 도메인을 구성한 후 글로벌 레벨에서 영역 이름이 변경되면 연합 저장소를 사용하는 모든 보안 도메인의 영역 이름도 업데이트됩니다. 이로 인해 연합 저장소를 사용하는 모든 도메인이 글로벌 레벨에서 정의되는 연합 저장소를 사용하게 됩니다.
이 문제를 해결하려면 연합 저장소를 작성한 후 연합 저장소를 사용하는 보안 도메인을 원래 영역 이름으로 업데이트하거나 글로벌 레벨에서 영역 이름을 변경하십시오. 보안 도메인에서 연합 저장소를 구성하기 전에 글로벌 레벨의 연합 저장소가 구성되는 경우 이 문제점을 피할 수 있습니다.
세션 보안 기능이 켜질 때 오류가 발생할 수 있음
SESN0008E: 익명으로 인증된 사용자가 {<user>} 사용자가 소유하는 세션에 액세스하려고 시도했습니다.
이 문제를 해결하려면 동일한 사용자 ID를 사용하여 다른 사용자가 로그인하기 전에 이전 사용자가 로그아웃하는지 확인하십시오.

![[z/OS]](../images/ngzos.gif)
ABEND WITH ABEND EC3 REASON=020F2001
보안이 WebSphere Application Server for z/OS 설치 시 즉시 zPMT 대화 상자 또는 ISPF 사용자 정의 대화 상자를 사용하여 사용 가능하지 않은 경우, RACF® 정의가 완전히 생성되지 않습니다. 나중에 관리 콘솔에서 보안을 사용하도록 설정하면, 누락된 RACF 문으로 인해 WebSphere Application Server 제어 영역이 시작되지 않습니다. 이 문제점을 해결하는 자세한 방법을 보려면 APAR PK36598을 검토하십시오.