WZSSAD를 사용한 z/OS 보안 자원 액세스
WZSSAD(WLP z/OS® System Security Access Domain)는 Liberty 서버에 부여되는 권한을 참조합니다. 이 권한은 사용자 인증 및 권한 부여 시 서버가 조회할 수 있는 SAF(System Authorization Facility) 애플리케이션 도메인 및 자원 프로파일을 제어합니다.
예를 들어, 두 개의 Liberty 서버 인스턴스(하나는 프로덕션용, 다른 하나는 테스트용)를 설정하며 프로덕션 및 테스트 간에 서로 다른 역할 액세스 권한을 원하는 경우에는 두 개의 서로 다른 시스템 보안 액세스 도메인을 설정할 수 있습니다.
Liberty 서버는 비-관리자 또는 권한 없는 사용자가 구성하고 실행할 수 있는 권한 없는 프로그램입니다. 따라서 사용자가 서버를 활용하여 명시적으로 권한이 부여되지 않은 보안 조작을 실행하지 못하도록 방지하는 것이 시스템 보안 및 무결성 용도로 중요합니다.
- 사용자 인증
- Java™ EE 역할에 주제 권한 부여
- 주제에 기타 SAF 자원에 대한 권한 부여
사용자 인증
서버는 APPL 클래스에서 APPLID라는 자원을 정의하여 구성한 특정 SAF 도메인에 대해 사용자를 인증합니다. 도메인에 대해 사용자를 인증하려면, 사용자는 APPL 클래스의 APPLID 자원에 대한 읽기 액세스 권한이 있어야 합니다.또한 APPL 클래스가 활성 상태일 때마다 인증되지 않은 사용자(기본적으로 WSGUEST)도 APPL 클래스의 APPLID 자원에 대한 읽기 액세스 권한이 필요합니다.
서버가 사용하는 APPLID 자원 이름은 <safCredentials> 구성 요소의 profilePrefix 속성으로 지정됩니다. 이 요소를 지정하지 않으면, BBGZDFLT의 기본 profilePrefix가 사용됩니다.
<safCredentials profilePrefix="BBGZDFLT"/>
// Define the BBGZDFLT APPLID to RACF.
RDEFINE APPL BBGZDFLT UACC(NONE)
// Activate the APPL class.
//If not active, the domain is not restricted, which means anyone can authenticate to it.
SETROPTS CLASSACT(APPL)
//All users to be authenticated by the server must have READ access to the APPLID in the APPL class:
PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(UserID)
//The unauthenticated user ID requires READ access to the APPLID in the APPL class:
PERMIT BBGZDFLT CLASS(APPL) ACCESS(READ) ID(WSGUEST)
RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
PERMIT BBG.SECPFX.BBGZDFLT CLASS(SERVER) ACCESS(READ) ID(serverUserId)
Java EE 역할에 주제 권한 부여
profilePrefix="BBGZDFLT"
Application resource name = "MYAPP"
Application role name = "ADMIN"
Mapped profile name = "BBGZDFLT.MYAPP.ADMIN"
추가 정보는 Liberty: SAF 프로파일에 역할을 맵핑하는 방법 제어의 내용을 참조하십시오.
EJBROLE profile name = "BBGZDFLT.ADMIN"
HLQ = "BBGZDFLT"
RDEFINE SERVER BBG.SECPFX.BBGZDFLT UACC(NONE)
PERMIT BBG.SECPFX.BBGZDFLT CLASS(SERVER) ACCESS(READ) ID(serverUserId)
예제에서는 SAF 역할 맵퍼가
맵핑된 프로파일의 HLQ를 profilePrefix로 설정하기 때문에, 동일한 프로파일 BBG.SECPFX.BBGZDFLT는
APPLID 인증 권한 및 EJBROLE 프로파일 권한 부여 권한 모두를 제어합니다.주제에 기타 SAF 자원에 대한 권한 부여
Java EE 애플리케이션은 EJBROLE 이외의 SAF 클래스에 대한 액세스 제어 검사를 수행합니다. WZSSAD는 서버가 권한을 부여할 수 있는 EJBROLE 외부의 SAF 클래스를 제한합니다. 이렇게 하면 권한 없는 사용자나 애플리케이션이 권한 부여된 SAF 서비스의 서버 사용을 이용하지 못하게 되어 사용자나 애플리케이션이 권한 부여되거나 권한 부여받지 못한 비-EJBROLE SAF 클래스의 자원 프로파일에 관한 정보를 발견하지 못하게 됩니다.
RDEFINE SERVER BBG.SECCLASS.FACILITY UACC(NONE)
PERMIT BBG.SECCLASS.FACILITY CLASS(SERVER) ACCESS(READ) ID(serverUserId)