![[z/OS]](../images/ngzos.gif)
SAF(System Authorization Facility) 클래스 및 프로파일
- 엔터프라이즈 Bean, 웹 애플리케이션, 서블릿에 대해 역할 사용
- RACF 클래스 프로파일 사용
- CBIND를 사용하여 서버 및 서버 내 오브젝트 액세스
- SERVER를 사용하여 하위(servant) 영역을 통해 제어기 액세스
- STARTED를 사용하여 시작 프로시저와 사용자 ID 및 그룹 연관
- APPL을 사용하여 서버의 애플리케이션에 대한 인증된 사용자의 액세스 제한
- FACILITY를 사용하여 OS 스레드에 동기화 허용을 사용하는 권한을 구축하고 JAAS 맵핑 로그인 모듈을 사용하여 SAF ID에 대한 분산 ID의 맵핑 허용.
- SURROGAT를 사용하여 선택적으로 'OS 스레드에 동기화 허용'을 사용하는 권한 설정
- Sysplex에서 다중 보안 구성 작성
- 새 서버에 대한 새 사용자 ID 및 프로파일 생성
- 미니멀리스트 프로파일 사용
Enterprise JavaBeans, 웹 애플리케이션 및 서블릿에 대한 역할
역할은 Java™ 플랫폼, Enterprise Edition(Java EE) 애플리케이션과 연관됩니다. 애플리케이션의 모듈은 애플리케이션 역할과 연결되는 역할 참조를 사용하여 역할을 참조합니다. 웹 애플리케이션, 서블릿 또는 EJB 메소드에 대한 액세스는 사용자 또는 호출자를 기반으로 합니다. 역할은 어셈블리 시간에 웹 애플리케이션, 서블릿 또는 엔터프라이즈 Bean과 연관됩니다. Servlet 또는 EJB 메소드를 사용하는 데 필요한 역할은 애플리케이션의 전개 설명자에서 이름이 지정됩니다.
해당 역할이 있는 사용자와 그룹은 EJBROLE 클래스의 RACF 프로파일을 사용하여 결정됩니다(SAF 인증이 선택된 경우). EJBROLE 프로파일의 액세스 목록에 사용자가 있는 경우 이 사용자가 해당 역할을 갖게 됩니다. EJBROLE 프로파일의 액세스 목록에 그룹이 있는 경우 이 그룹의 사용자가 해당 역할을 갖게 됩니다. EJBROLE 프로파일에 ACCESS(READ)가 포함되는 경우 모든 사용자가 해당 역할을 갖게 됩니다.
SAF 프로파일 접두부(이전에 z/OS® 보안 도메인이라고도 함)는 지정된 경우, EJBROLE 프로파일을 확인할 때 z/OS용 WebSphere® Application Server 및 RACF에서 사용되는 접두부가 됩니다. 이는 역할에 대한 WebSphere SAF 프로파일 접두사 레벨의 세분성을 제공합니다.
Test Cell has Security Domain=TEST Production Cell has Security Domain=PROD
예를 들어, 두 셀 모두에 Clerk 역할을 사용하는 애플리케이션이 전개됩니다. 테스트 셀에서는 EJBROLE 프로파일 TEST.Clerk에 대한 READ 액세스 권한이 사용자에게 필요합니다. 프로덕션 셀에서는 EJBROLE 프로파일 PROD.Clerk에 대한 READ 액세스 권한이 사용자에게 필요합니다.
관리자, 구성자, 모니터, 연산자, 전개자, adminsecuritymanager 및 감사자 프로파일이 관리 인증을 위한 RACF EJBROLE 클래스에서 정의됩니다.
Java EE 기반 역할 권한에 SAF를 사용하는 방법에 대한 자세한 정보는 역할 기반 권한에 대한 SAF(System Authorization Facility)을 참조하십시오.
RACF 프로파일 사용
CBIND, SERVER 및 STARTED 클래스를 RACF(또는 동일한 보안 제품)에서 사용하여 서버 자원을 보호하는데 사용된 보안 메커니즘을 이해하는 것이 중요합니다. 또한 보안 환경을 관리하기 위한 기술도 이해해야 합니다.
- CBIND: 서버 및 서버 오브젝트에 액세스하려면 이 클래스를 사용하십시오.
- SERVER: 하위(servant) 영역에 따라 제어기에 액세스하려면 이 클래스를 사용하십시오.
- STARTED: 사용자 ID 및 그룹과 시작 프로시저를 연관시키려면 이 클래스를 사용하십시오.
- APPL: 서버에서 실행 중인 애플리케이션에 대한 인증된 사용자의 액세스를 제한하려면 이 클래스를 사용하십시오.
- FACILITY: 다음을 수행하려면 이 클래스를 사용하십시오.
- 사용자 ID 및 그룹을 OS 스레드에 동기화 허용 옵션과 연관
- JAAS 맵핑 로그인 모듈을 사용하여 분산 ID를 SAF ID에 맵핑하도록 허용되는 보안 구성 제어
- SURROGAT: 사용자 ID 및 그룹과 OS 스레드에 동기화 허용 옵션을 연관시키려면 이 선택적 클래스를 사용하십시오.
WebSphere Application Server for z/OS에서 사용된 RACF 프로파일에 관한 기본 정보는 SAF-기반 인증에서 찾을 수 있습니다. 이 섹션은 CBIND, SERVER, FACILITY, SURROGAT 및 STARTED 클래스 프로파일에 대한 일부 추가 세부사항을 추가합니다.
사용자 ID 및 그룹 ID
CR = Controller Region SR = Servant Region CFG = Configuration (group) server = server short name cluster = generic server (short) name (also called cluster transition name)
<CR_userid> <CR_groupid>, <CFG_groupid> <SR_userid> <SR_groupid>, <CFG_groupid> <demn_userid> <demn_groupid>, <CFG_groupid> <admin_userid> <CFG_groupid> <client_userid> <client_groupid> <ctracewtr_userid> <ctracewtr_groupid>
다음은 사용 권한 및 액세스 레벨과 함께 WebSphere Application Server for z/OS 자원을 보호하는데 사용되는 여러 프로파일입니다.
CBIND 클래스 프로파일 사용
CBIND Class profiles - access to generic servers CB.BIND.<cluster> UACC(READ); PERMIT <CR_group> ACC(CONTROL) CBIND Class profiles - access to objects in servers CB.<cluster> UACC(READ) PERMIT <CR_group> ACC(CONTROL)
CBIND Class profiles - access to generic servers CB.BIND.<profilePrefix>.<cluster> UACC(READ) CBIND Class profiles - access to objects in servers CB.<profilePrefix>.<cluster> UACC(READ)
CB.CBIND.<cluster> CB.CBIND.<SAF profile prefix>.<cluster>
CB.<cluster> CB.<SAF profile prefix>.<cluster>
SERVER 클래스 프로파일 사용
SERVER class profiles – access to controllers using static Application Environments CB.<server>.<cluster> UACC(NONE) PERMIT <SR_userid> ACC(READ) SERVER class profiles – access to controllers using dynamic Application Environments CB.<server>.<cluster>.<cell> UACC(NONE) PERMIT <SR_userid> ACC(READ)
RDEFINE CB.&<server<cluster> UACC(NONE); PERMIT &<SR_userid> ACCESS(READ)이 예에서 server는 서버 이름을, cluster는 클러스터 이름 또는 아직 클러스터가 작성되지 않은 경우 클러스터 상태 전이 이름, SR은 서버 영역에 대한 MVS™ 사용자 ID입니다.
CB.& <server>.&<cluster>.<cell> UACC(NONE); PERMIT &<SR_userid> ACC(READ)이 예에서 server는 서버 이름을, cluster는 클러스터 이름 또는 클러스터가 작성되지 않은 경우 클러스터 상태 전이 이름을 나 타내며, cell은 셀 축약이름, SR은 서버 영역에 대한 MVS 사용자 ID입니다.
SERVER 클래스 프로파일은 하위(servant)가 연관된 제어기에서 인증된 루틴을 호출할 수 있는지 여부를 제어합니다.
CB.<server>.<cluster> CB.<SAF profile prefix>.<server>.<cluster>
CB.<server>.<cluster>.<cell> 22
STARTED 클래스 프로파일 사용
STARTED Class profiles - (MGCRE) - for control regions, daemons, and Node agents <<CR_proc>.<CR_jobname> STDATA(USER(CR_userid) GROUP(CFG_groupid)) <demn_proc>.* STDATA(USER(demn_userid) GROUP(CFG_groupid)) STARTED Class profiles - (ASCRE) - for servant regions and adjuncts <SR_jobname>.<SR_jobname> STDATA(USER(SR_userid) GROUP(CFG_groupid)) STARTED Class profiles for IJP - (MGCRE) <MQ_ssname>.* STDATA(USER(IJP_userid) GROUP(CFG_groupid)) - These IJPs don't exist in WAS 6.1
- 디먼
- 배치 관리자(제어기 및 하위(servant))
- 노드 에이전트
- 애플리케이션 서버(제어기, 하위(servant) 및 인접)
- 관리 에이전트(제어기 및 하위(servant))
- 작업 관리자(제어기 및 하위(servant))
APPL 클래스 프로파일 사용
APPL 클래스 프로파일은 인증된 사용자가 셀에서 모든 애플리케이션을 사용할 수 있는지 여부를 제어합니다. SAF 프로파일 접두부가 지정되는 경우 APPL 클래스 프로파일 이름이 SAF 프로파일 접두부 이름이 됩니다. SAF 프로파일 접두부가 지정되지 않은 경우 APPL 클래스 프로파일 이름은 CBS390입니다. 운영 체제 및 애플리케이션 레벨에 대한 SAF(System Authorization Facility) 고려사항를 참조하십시오.
APPL 클래스 프로파일은 APPL 클래스가 RACF에서 활성일 때와 APPL 프로파일 사용 옵션이 WebSphere에서 사용으로 설정될 때만 효력을 갖습니다. WebSphere 옵션은 관리 콘솔에서 SAF 권한 부여 옵션 패널로 이동하여 APPL 프로파일을 사용하여 서버 액세스 제한 선택란을 설정하여 사용 또는 사용 안함으로 설정할 수 있습니다. 이 설정에 대한 자세한 정보는 z/OS SAF(System Authorization Facility) 권한에 대해 읽으십시오.
셀 안에서 다중 보안 구성 작성
사용자의 엔터프라이즈에서 논리적 WebSphere 보안 도메인을 분리하려면 제공된 셀 내에 고유한 프로파일 세트가 필요할 수 있습니다(예를 들어, 테스트 및 프로덕션 사용자).
z/OS 프로파일 관리 도구, zpmt 명령 또는 관리 콘솔의 SAF 권한 옵션 패널을 사용하여 사용자 정의 중 SAF 프로파일 접두부를 정의할 수 있습니다.
WebSphere Application Server for z/OS 관리 콘솔을 사용하여 에서 SAF 프로파일 접두부를 설정하십시오. 그러면 security.xml 파일에 다음 특성을 작성합니다.
xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix" value="<profile_prefix>" required="false"/>
클래스 | SAF 프로파일 접두부 없음 | SAF 프로파일 접두부 있음 |
---|---|---|
CBIND |
|
|
EJBROLE | ApplicationRoleName | <profilePrefix>.ApplicationRoleName |
APPL | CBS390 | <profilePrefix> |
새 서버를 위한 새 사용자 ID 및 프로파일 생성
각 새 애플리케이션 서버에 대한 고유 사용자 ID를 사용하려면, RACF 데이터베이스에 이 사용자, 그룹 및 프로파일을 정의해야 합니다.
- 새 서버의 고유 사용자 ID를 원하는 경우 세 개의 새로운 사용자를 정의하고
이들을 다음 그룹에 연결하십시오.
- <New_CR_userid> <CR_groupid>, <CFG_groupid>
- <New_SR_userid> <<SR_groupid>, <CFG_groupid>
- <New_ADJUNCT_userid> <<ADJUNCT_groupid>, <CFG_groupid>
- <New_client_userid> <client_groupid>
- 새 클러스터에 대한 CBIND 클래스 프로파일(일반 서버 축약 이름):
- CB.BIND.<New_cluster>
- CB.<New_cluster>
- 새 서버 및 클러스터에 대한 SERVER 클래스 프로파일:
- CB.<New_server>.<New_cluster>
- CB.<New_server>.<New_cluster>.<cell>
- 새 서버의 제어기 및 하위(servant)의 영역에 대한 STARTED
클래스 프로파일:
- <CR_proc>.<New_CR_jobname> STDATA(USER(New_CR_userid) GROUP(CFG_groupid))
- <New_SR_jobname>.* STDATA(USER(New_SR_userid) GROUP(CFG_groupid))
- <New_ADJUNCT_jobname>.* STDATA(USER(New_ADJUNCT_userid) GROUP(CFG_groupid))
FACILITY 및 SURROGAT 클래스 프로파일 사용(OS 스레드에 동기화 허용 옵션 및 연결 관리자 RunAs 스레드 ID 옵션)
- FACILTY 클래스 프로파일 BBO.SYNC.<cell short
name>.<cluster short name>
- WebSphere 제어기가 프로파일에 액세스하지 않으면, OS 스레드에 동기화 허용은 사용 안함으로 설정됩니다.
- WebSphere 제어기가 프로파일에 대한 읽기 액세스 권한이 있는 경우, 'OS 스레드에 동기화 허용'을 사용할 수 있지만, 특정 사용자를 나타내는 보안 환경으로 제한됩니다. SURROGATE 클래스 프로파일이 정의되어야 합니다.
- WebSphere 제어기는 프로파일에 대한 CONTROL 액세스 권한이 있습니다. 'OS 스레드에 동기화 허용'을 사용하여 모든 사용자를 나타내는 보안 환경을 빌드할 수 있습니다. SURROGATE 클래스 프로파일은 확인하지 않습니다.
- SURROGAT 클래스 프로파일 BBO.SYNC.<user ID>
- WebSphere 제어기가 OS 스레드에 동기화 허용을 사용하는 BBO.SYNC.<cell short name>.<cluster short name>의 FACILITY 클래스 프로파일에 읽기 권한만 있는 경우, SURROGAT 클래스 프로파일 검사가 사용되어 WebSphere 하위(servant)가 대상 사용자에 대한 보안 환경을 설정하도록 권한 부여되었는지 확인하는데 사용됩니다.
- 클래스 프로파일 확인은 유사한 기능을 수행하는 다른 제품에서 일관성을 유지합니다.
RDEF FACILITY BBO.SYNC.<cell short name>.<cluster short name> UACC(NONE) PE BBO.SYNC.<cell short name>.<cluster short name> CLASS(FACILITY)ID(<CR user ID>) ACC(READ or CONTROL) RDEF SURROGAT BBO.SYNC.<Run-As user ID> UACC(NONE) PE BBO.SYNC.<Run-As user ID> CLASS(SURROGAT) ID(<SR user ID>) ACC(READ)
RDEF FACILITY BBO.SYNC.SY1.BBOC001 UACC(NONE) PE BBO.SYNC.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ) RDEF SURROGAT BBO.SYNC.J2EEID UACC(NONE) PE BBO.SYNC.J2EEID CLASS(SURROGAT) ID(CBSYMSR) ACC(READ)
FACILITY 클래스 프로파일 사용(신뢰 애플리케이션 사용)
RDEF FACILITY BBO.TRUSTEDAPPS.<cell short name>.<cluster short name> UACC NONE PE BBO.TRUSTEDAPPS.<cell short name>.<cluster short name> CLASS(FACILITY) ID(CR userid) ACC(READ)다음은 모든 서버의 사용자에게 적용되는 일반 예제입니다.
RDEFINE FACILITY BBO.TRUSTEDAPPS.mycell01.**UACC(NONE) PERMIT BBO.TRUSTEDAPPS.mycell01.** CLASS(FACILITY) ID(MYCBGROUP) ACCESS(READ) SETROPTS RACLIST(FACILITY) REFRESH다음은 특정 서버, 즉 셀 축약 이름이 SY1, 클러스터 축약 이름(서버의 일반 축약 이름)이 BBOC001이고 제어기 영역 사용자 ID가 CBSYMCR인 시스템에 대한 예제입니다.
RDEF FACILITY BBO.TRUSTEDAPPS.SY1.BBOC001 UACC NONE PE BBO.TRUSTEDAPPS.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ)
미니멀리스트 프로파일 사용
RACF 데이터 세트에서 사용자, 그룹 및 프로파일의 수를 최소화하려면 하나의 사용자 ID, 하나의 그룹 ID 및 매우 일반적인 프로파일을 동일한 셀의 여러 서버에서 사용할 수 있습니다. 이 기술은 Integral Java Message Service 제공자 및 WebSphere Application Server, Network Deployment 구성에서도 사용될 수 있습니다.
- 정의할 프로파일 정의가 적습니다.
- 프로세스 간 SSL(Secure Sockets Layer) 통신에서 고려할 디지털 서명이 적습니다.