보안 권한 제공자 문제점 해결 팁
이 문서는 JACC(Java™ Authorization Contract for Containers) 권한 제공자를 사용하는 중에 발생할 수 있는 문제를 설명합니다. Tivoli® Access Manager는 권한 제공자로 WebSphere® Application Server와 번들화됩니다. 그러나 자체 권한 제공자에 플러그인할 수도 있습니다.
JACC(Java Authorization Contract for Containers) 권한 제공자로서의 Tivoli Access Manager
- JACC 구성이 실패할 수 있습니다.
- JACC 구성 후 서버가 시작에 실패할 수 있습니다.
- 애플리케이션이 적절하게 배치되지 않을 수 있습니다.
- Tivoli Access Manager를 구성한 후 startServer 명령이 실패하거나 JACC 구성 해제 후 완벽한 설치 제거가 이루어지지 않았습니다.
- HPDIA0202w Access Manager에 알 수 없는 사용자 이름이 제공되었음 오류가 발생할 수 있습니다.
- HPDAC0778E 지정된 사용자 계정이 유효하지 않음(invalid)으로 설정됨 오류가 발생할 수 있습니다.
- WASX7017E: InsuranceServicesSingle.jacl 파일을 실행하는 동안 예외가 수신되었음 오류가 발생할 수 있습니다.
- JACC를 사용하는 경우 애플리케이션에 액세스 중 액세스 거부 예외
- HPDBA0219E: SSL 연결에서 데이터를 읽는 중에 오류가 발생되었음이 발생할 수 있습니다.
포트 세트에 사용 가능한 포트가 없음 오류가 발생할 수 있습니다.
JACC(Java Authorization Contract for Containers) 권한 제공자에 대한 외부 제공자
JACC의 구성이 실패할 수 있음
JACC를 구성하는 데 문제점이 있는 경우 다음 항목을 확인하십시오.
- 매개변수가 올바른지 확인하십시오. 예를 들어, TAM_Policy_server_hostname:7135 뒤의 수가 아닌 TAM_Authorization_server_hostname:7136 뒤의 수를 원합니다(예: TAM_Authorization_server_hostname:7136:1).
- "서버에 접속할 수 없음"과 같은 메시지가 표시되면 Tivoli Access Manager 서버의 호스트 이름 또는 포트 번호가 올바르지 않거나 Tivoli Access Manager 서버가 시작되지 않았을 수 있습니다.
- sec_master 사용자의 비밀번호가 정확한지 확인하십시오.
- SystemOut.log 파일을 확인하고 AMAS 문자열을 검색하여 오류 메시지가 있는지 확인하십시오.
JACC 구성 후 서버가 시작에 실패할 수 있음
JACC가 구성된 후 서버가 시작되지 않으면 다음 항목을 확인하십시오.
- WebSphere Application Server 및 Tivoli Access Manager가 같은 LDAP(Lightweight Directory Access Protocol) 서버를 사용하는지 확인하십시오.
- "Policy Director 인증에 실패함" 메시지가 표시되면 다음을 확인하십시오.
- WebSphere Application Server LDAP server ID가 Tivoli Access Manager JACC 구성 패널의 "관리자"와 같습니다.
- Tivoli Access Manager 관리자 식별 이름(DN)이 올바른지 확인하십시오.
- Tivoli Access Manager 관리자의 비밀번호가 만료되지 않았는지 및 유효한지 확인하십시오.
- 계정이 Tivoli Access Manager 관리자에 유효한지 확인하십시오.
- socket
can't be opened for xxxx(xxxx는 숫자임)와 같은 메시지가 표시되면 다음 조치를 수행하십시오.
- profile_root/etc/tam 디렉토리로 이동하십시오.
- 배치 관리자가 시작에 실패한 경우 xxxx를 amwas.commomconfig.properties 파일 및 amwas*cellName_dmgr.properties 파일의 사용 가능한 포트 번호로 변경하십시오. 노드가 시작에 실패한 경우 xxx를 amwas*cellName_nodeName_.properties 파일의 사용 가능한 포트 번호로 변경하십시오. 애플리케이션 서버가 시작에 실패한 경우 amwas*cellname_nodeName_serverName.properties 파일에서 xxxx를 변경하십시오.
애플리케이션이 적절하게 배치되지 않을 수 있음
Save를 클릭하면 정책 및 역할 정보가 Tivoli Access Manager 정책에 전파됩니다. 이 프로세스 완료에는 얼마간의 시간이 걸릴 수 있습니다. 저장에 실패하는 경우 애플리케이션을 설치 제거한 다음 다시 설치하십시오.
애플리케이션이 설치된 후 액세스하려면 저장 후 애플리케이션이 시작될 때까지 기본적으로 30초 동안 대기해야 합니다.
startServer 명령이 실패할 수 있음
Tivoli Access Manager를 구성한 후 startServer 명령이 실패하거나 JACC 구성 해제 후 완벽한 설치 제거가 이루어지지 않았습니다.
- WebSphere Application Server에서 Tivoli Access
Manager 특성 파일을 제거하십시오. N개의 서버가 정의된(예: server1, server2) WebSphere Application Server, Network Deployment(ND)
환경에 있는 각 애플리케이션 서버의 경우입니다.
다음 파일을 제거해야 합니다.
install_root/tivoli/tam/PdPerm.properties install_root/tivoli/tam/PdPerm.ks profile_root/etc/tam/*
다음 파일을 제거해야 합니다.
profile_root/etc/pd/PolicyDirector/PDPerm.properties profile_root/etc/pd/PolicyDirector/PdPerm.ks profile_root/etc/tam/*
- 보안 구성을 지우는 유틸리티를 사용하여 시스템을 Tivoli Access Manager에 대한 JACC 제공자를 구성하기 전의 상태로 되돌리십시오. 이 유틸리티는
security.xml 파일에서 Tivoli Access
Manager 권한 테이블 항목을 제거할 뿐만 아니라 모든 PDLoginModuleWrapper 항목을 제거하여
Tivoli Access
Manager에 대한 JACC 제공자를 효과적으로 제거합니다. 이 유틸리티를 실행하기 전에 security.xml 파일을 백업하십시오.
다음 명령을 입력하십시오.
install_root/java/jre/bin/java -classpath "install_root/lib/AMJACCProvider.jar:CLASSPATH" com.tivoli.pd.as.jacc.cfg.CleanSecXML fully_qualified_path/security.xml
다음 명령을 입력하십시오.
java -Djava.version=1.5 -classpath "app_server_root/lib/AMJACCProvider.jar:CLASSPATH" com.tivoli.pd.as.jacc.cfg.CleanSecXML fully_qualified_path/security.xml
"HPDIA0202w: Access Manager에 알 수 없는 사용자 이름이 제공되었음"
AWXJR0008E Failed to create a PDPrincipal for principal mgr1.:
AWXJR0007E A Tivoli Access Manager exception was caught. Details are:
"HPDIA0202W An unknown user name was presented to Access Manager."
이 문제점은 MS Active Directory에 대해 호스트 이름이 구성될 때 이 호스트 이름이 Tivoli Access Manager에서
사전정의된 한계를 초과함으로 인해 발생할 수 있습니다. WebSphere Application Server에서 호스트 이름의 최대 길이는 46자를 초과할 수 없습니다. 호스트 이름이 완전하지 않은지 확인하십시오. 호스트 이름에 호스트 도메인이 포함되지 않도록 머신을 구성하십시오.
- Tivoli Access
Manager 명령 프롬프트가 표시되도록 명령행에 다음 정보를 입력하십시오.
pdadmin administrator_name 프롬프트가 표시됩니다. 예를 들어 다음과 같습니다.pdadmin -a administrator_name -p administrator_password
pdadmin -a administrator1 -p passw0rd
- pdadmin 명령 프롬프트에서 다음 정보를 입력하여 LDAP 사용자 레지스트리의 사용자를
Tivoli Access Manager로 가져오십시오.
예를 들어, 다음과 같습니다.user import user_name cn=user_name,o=organization_name,c=country
user import jstar cn=jstar,o=ibm,c=us
user modify user_name account-valid yes
예를 들어, 다음과 같습니다.user modify jstar account-valid yes
LDAP에서 Tivoli Access Manager로 그룹을 가져오는 방법에 대한 정보는 Tivoli Access Manager 문서의 내용을 참조하십시오.
"HPDAC0778E: 지정된 사용자의 계정이 유효하지 않음(invalid)으로 설정됨"
AWXJR0008E Failed to create a PDPrincipal for principal mgr1.:
AWXJR0007E A Tivoli Access Manager exception was caught.
Details are: "HPDAC0778E The specified user's account is set to invalid."
user modify user_name account-valid yes
예를 들어, 다음과 같습니다.user modify jstar account-valid yes
"HPDJA0506E: 올바르지 않은 인수: ACL 항목의 널 또는 0 길이 사용자 이름 필드"
AWXJR0035E An error occurred while attempting to add member,
cn=agent3,o=ibm,c=us, to role AgentRole
HPDJA0506E Invalid argument: Null or zero-length user name field for
the ACL entry
이 오류를 정정하려면 Tivoli Access Manager에 대한 보안 역할에 맵핑할 사용자를 작성하거나 가져오십시오. 보안 정책 정보 전파에 대한 자세한 정보는 권한 제공자에 대한 문서의 내용을 참조하십시오.
WASX7017E: "InsuranceServicesSingle.jacl" 파일을 실행하는 동안 예외가 수신되었음
WASX7017E: Exception received while running file "InsuranceServicesSingle.jacl";
exception information: com.ibm.ws.scripting.ScriptingException: WASX7111E:
Cannot find a match for supplied option:
"[RuleManager, , , cn=mgr3,o=ibm,c=us|cn=agent3,o=ibm,c=us, cn=ManagerGro
up,o=ibm,c=us|cn=AgentGroup,o=ibm,c=us]" for task "MapRolesToUsers"
$AdminApp MapRolesToUsers 태스크 옵션은 Tivoli Access Manager가 권한 서버로 사용되는 경우 더 이상 유효하지 않습니다. 오류를 정정하려면 MapRolesToUsers를 TAMMapRolesToUsers로 변경하십시오.
JACC를 사용하는 경우 애플리케이션에 액세스 중 액세스 거부 예외
AWXJR0044E: The access decision for Permission, {0}, was denied because either the
PolicyConfiguration or RoleConfiguration objects did not get created successfully at
application installation time. RoleConfiguration exists = {false}, PolicyConfiguration
exists = {"false"}.
애플리케이션에 대해 액세스 거부 예외를 예상하지 못한 경우 SystemOut.log 파일을 확인하여 보안 정책 정보가 제공자에게 올바르게 전파되었는지 확인하십시오.
애플리케이션의 보안 정책 정보가 제공자에게 성공적으로 전파되는 경우 메시지 키 SECJ0415I와 함께 감사 명령문이 표시됩니다. 그러나 제공자에게 보안 정책 정보를 전파하는 중에 문제점이 발생한 경우(예: 네트워크 문제점, JACC 제공자를 사용할 수 없음) SystemOut.log 파일에 메시지 키 SECJ0396E(설치 중) 또는 메시지 키 SECJ0398E(수정 중)와 함께 오류 메시지가 포함됩니다. JACC 제공자에 대한 보안 정책 전파 실패로 인해 애플리케이션의 설치가 중지되지 않습니다. 또한 실패의 경우에 저장 조작 중에 예외 또는 오류 메시지가 표시되지 않습니다. 이 실패의 원인이 되는 문제점이 수정되면 애플리케이션 다시 설치 없이 propagatePolicyToJaccProvider 도구를 실행하여 제공자에게 보안 정책 정보를 전파하십시오.
"HPDBA0219E: SSL 연결에서 데이터를 읽는 중에 오류가 발생함"
WebSphere Application Server, Network Deployment(ND)에서 애플리케이션을 설치하고 Tivoli Access Manager에서 관리 노드를 사용으로 설정하면 dmgr SystemOut.log에 오류 메시지(HPDBA0219E)가 표시될 수 있습니다.
이 오류가 발생하면 배치된 애플리케이션의 보안 정책 데이터가 즉시 사용 가능하지 않을 수 있습니다. 정책 데이터는 Tivoli Access Manager의 서버 복제 시간을 기반으로 사용 가능합니다. 이 시간은 모든 업데이트가 완료된 후 30초로 기본값 설정됩니다. 최신 정책 데이터가 사용 가능하도록 하려면 pdadmin 콘솔에 로그온하여 server replicate를 입력하십시오.
![[z/OS]](../images/ngzos.gif)
"포트 세트에 사용 가능한 포트가 없음" 오류가 발생할 수 있음
Tivoli Access Manager를 JACC 제공자로 사용하고 관리 콘솔 또는 wsadmin 스크립트를 사용하여 WebSphere Application Server를 중지하는 경우 Tivoli Access Manager에 대해 실행되는 정리 프로세스가 있습니다. WebSphere Application Server가 정리 프로세스를 완료할 수 없습니다.
WebSphere Application Server는 새로운 프로세스 각각에 대해 다른 포트 번호를 사용합니다. 결과적으로 애플리케이션 서버는 Tivoli Access Manager 서버에 연결할 포트 번호가 부족해지고 "포트 세트에 사용 가능한 포트가 없음" 오류가 표시됩니다.
이 오류가 발생하면 WebSphere Application Server 프로세스에 사용 가능한 포트를 수동으로 정리해야 합니다.