[z/OS]

SAF(System Authorization Facility) 클래스 및 프로파일

RACF®(Resource Access Control Facility) 또는 SAF(System Authorization Facility)를 사용하는 경우 다음을 고려해야 합니다.
  1. 엔터프라이즈 Bean, 웹 애플리케이션, 서블릿에 대해 역할 사용
  2. RACF 클래스 프로파일 사용
    1. CBIND를 사용하여 서버 및 서버 내 오브젝트 액세스
    2. SERVER를 사용하여 하위(servant) 영역을 통해 제어기 액세스
    3. STARTED를 사용하여 시작 프로시저와 사용자 ID 및 그룹 연관
    4. APPL을 사용하여 서버의 애플리케이션에 대한 인증된 사용자의 액세스 제한
    5. FACILITY를 사용하여 OS 스레드에 동기화 허용을 사용하는 권한을 구축하고 JAAS 맵핑 로그인 모듈을 사용하여 SAF ID에 대한 분산 ID의 맵핑 허용.
    6. SURROGAT를 사용하여 선택적으로 'OS 스레드에 동기화 허용'을 사용하는 권한 설정
  3. Sysplex에서 다중 보안 구성 작성
  4. 새 서버에 대한 새 사용자 ID 및 프로파일 생성
  5. 미니멀리스트 프로파일 사용

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(또는 동일한 보안 제품)에서 사용하여 서버 자원을 보호하는데 사용된 보안 메커니즘을 이해하는 것이 중요합니다. 또한 보안 환경을 관리하기 위한 기술도 이해해야 합니다.

WebSphere Application Server for z/OS 자 원을 보호하는 RACF 프로파일은 다음 클래스를 사용합니다.
  1. CBIND: 서버 및 서버 오브젝트에 액세스하려면 이 클래스를 사용하십시오.
  2. SERVER: 하위(servant) 영역에 따라 제어기에 액세스하려면 이 클래스를 사용하십시오.
  3. STARTED: 사용자 ID 및 그룹과 시작 프로시저를 연관시키려면 이 클래스를 사용하십시오.
  4. APPL: 서버에서 실행 중인 애플리케이션에 대한 인증된 사용자의 액세스를 제한하려면 이 클래스를 사용하십시오.
  5. FACILITY: 다음을 수행하려면 이 클래스를 사용하십시오.
    • 사용자 ID 및 그룹을 OS 스레드에 동기화 허용 옵션과 연관
    • JAAS 맵핑 로그인 모듈을 사용하여 분산 ID를 SAF ID에 맵핑하도록 허용되는 보안 구성 제어
  6. SURROGAT: 사용자 ID 및 그룹과 OS 스레드에 동기화 허용 옵션을 연관시키려면 이 선택적 클래스를 사용하십시오.
자세한 정보는 운영 체제 및 애플리케이션 레벨에 대한 SAF(System Authorization Facility) 고려사항의 내용을 참조하십시오.

WebSphere Application Server for z/OS에서 사용된 RACF 프로파일에 관한 기본 정보는 SAF-기반 인증에서 찾을 수 있습니다. 이 섹션은 CBIND, SERVER, FACILITY, SURROGAT 및 STARTED 클래스 프로파일에 대한 일부 추가 세부사항을 추가합니다.

사용자 ID 및 그룹 ID

애플리케이션 서버용 프로파일 작성 시, BBOCBRAK 작업은 RACF 명령을 생성합니다. 셀, 배치 관리자, 작업 관리자 또는 관리 에이전트에 대한 프로파일을 작성할 때 작업 이름은 BBODBRAJ입니다. 사용자 정의 모드에 대한 프로파일을 작성할 때는 작업 이름이 BBOMBRAJ입니다. 다음 정보를 입력하십시오.
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 클래스 프로파일 사용

Application Server와 이들 서버의 오브젝트에 대한 액세스를 보호하기 위한 두 가지 형식 및 레벨의 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)
“SAF 프로파일 접두부”를 사용 중인 경우, CBIND 프로파일은 다음과 같이 “profilePrefix”에 의해 규정됩니다.
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) 
CBIND 프로파일은 Java 애플리케이션 클라이언트 및 기타 WebSphere Application Server 서버로부터 WebSphere Application Server for z/OS 서버, WebSphere Application Server 플러그인을 실행하는 웹 서버를 포함하여 서버의 오브젝트에 대한 액세스를 제어합니다. 서버 액세스의 경우 다음을 입력하십시오.
CB.CBIND.<cluster>
CB.CBIND.<SAF profile prefix>.<cluster> 
서버 내 오브젝트 액세스의 경우 다음을 입력하십시오.
CB.<cluster> CB.<SAF profile prefix>.<cluster> 

SERVER 클래스 프로파일 사용

현재 서버 제어기에 대한 액세스를 보호하기 위한 두 가지 형식의 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) 
WebSphere z/OS 프로파일 관리 도구 또는 zpmt에서 두 포맷이 사전 정의되며 이 중 하나는 실제로 런타임 시 필요합니다. 필수 포맷은 DAE(Dynamic Application Environment)의 가용성을 기반으로 WebSphere Application Server for z/OS Runtime에서 동적으로 판별됩니다. 다음 명령은 정적 애플리케이션 환경을 사용하는 제어기에 대한 액세스를 제공합니다.
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 클래스 프로파일 사용

사용자 ID 및 그룹 ID를 제어기에 지정하는 데 사용되는 다음과 같은 세 가지 형식의 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
 
STARTED 클래스 프로파일은 다앙한 WebSphere Application Server for z/OS 영역에 사용자 아이디를 지정하기 위해 생성됩니다. 해당 영역은 다음과 같습니다.
  • 디먼
  • 배치 관리자(제어기 및 하위(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(System Authorization Facility) 권한 > Configure > SAF 프로파일 접두부에서 SAF 프로파일 접두부를 설정하십시오. 그러면 security.xml 파일에 다음 특성을 작성합니다.

xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix"
value="<profile_prefix>"  required="false"/> 
SAF 프로파일 접두부 ID가 설정될 때 다음 프로파일 정의 및 검사가 영향을 받습니다.
표 1. SAF 프로파일 접두부 ID가 설정될 때 영향을 받는 프로파일 정의 및 검사.

이 테이블은 SAF 프로파일 접두부 ID가 설정될 때 영향을 받는 프로파일 정의 및 검사를 나열합니다.

클래스 SAF 프로파일 접두부 없음 SAF 프로파일 접두부 있음
CBIND
  • CB.clustername
  • CB.BIND.clustername
  • CB.<profilePrefix>.clustername
  • CB.BIND.<profilePrefix>.clustername
EJBROLE ApplicationRoleName <profilePrefix>.ApplicationRoleName
APPL CBS390 <profilePrefix>

새 서버를 위한 새 사용자 ID 및 프로파일 생성

각 새 애플리케이션 서버에 대한 고유 사용자 ID를 사용하려면, RACF 데이터베이스에 이 사용자, 그룹 및 프로파일을 정의해야 합니다.

WebSphere z/OS 프로파일 관리 도구 또는 zpmt 명령 사용을 통해, BBOWBRAK 멤버(또는 프로파일 유형에 따라 BBODBRAK) 작업의 대상 .DATA 파티션된 데이터 세트의 사본을 편집하고 다음 항목을 새 사용자, 그룹 및 고유 New_server 이름과 New_cluster 이름 프로파일로 변경해야 합니다.
  • 새 서버의 고유 사용자 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 옵션)

FACILITY 및 SURROGAT 클래스 프로파일은 OS 스레드에 동기화 허용 옵션 및 연결 관리자 실행 도구 스레드 ID 옵션 사용을 통해 RACF 관리자를 제어할 수 있게 합니다.
주의: 이 프로파일이 RACF 에서 정의되지 않으면, 스레드에 대한 동기화는 허용되지 않으며 RACF 관리자는 서버 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)가 대상 사용자에 대한 보안 환경을 설정하도록 권한 부여되었는지 확인하는데 사용됩니다.
    • 클래스 프로파일 확인은 유사한 기능을 수행하는 다른 제품에서 일관성을 유지합니다.
FACILITY 및 SURROGAT 클래스 프로파일의 형식과 사용은 다음과 같습니다.
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)
참고: 클러스터링이 정의되지 않은 경우, 클러스터 축약 이름은 서버의 일반 축약 이름입니다. 또한 액세스 검사의 성능을 향상시키도록 SURROGAT 클래스 프로파일을(RACLISTed) 메모리 테이블에 배치해야 합니다.
<CR user ID>CONTROL 액세스 권한이 있는 경우, OS 스레드에 동기화 허용을 요청하는 개별 사용자 ID에 동기화가 허용됩니다. <CR user ID>READ 액세스 권한이 있는 경우, OS 스레드에 동기화 허용을 요청하는 개별 사용자 ID에 SURROGAT 클래스 프로파일이 정의되어 있어야 하며 SR(Servant Region)에 READ 액세스 권한도 있어야 합니다. 예를 들어 SY1의 셀 약칭, BBOC001의 클러스터 약칭(서버 일반 약칭), CBSYMCR의 CR user ID, CBSYMSR의 SR user ID, JavaEEID의 Run-As user ID에서 실행하는 애플리케이션을 갖는 시스템을 가정하십시오. 'OS 스레드에 동기화 허용' 제어를 설정하려면 다음 명령을 사용합니다.
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 클래스 프로파일 사용(신뢰 애플리케이션 사용)

FACILITY 클래스 프로파일은 RACF 관리자가 신뢰성 있는 애플리케이션의 사용을 제어할 수 있도록 합니다. 신뢰성 있는 애플리케이션을 사용하려면 다음 FACILITY 클래스 프로파일을 정의하고 제어기 영역 사용자 ID에 해당 프로파일에 READ 액세스를 부여해야 합니다.
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) 통신에서 고려할 디지털 서명이 적습니다.
동일한 사용자 ID 및 그룹으로 여러 서버가 실행되는 경우 한 서버에서 애플리케이션으로 인한 문제점이 발생하여 고유 서버 및 기타 서버의 구성을 손상시킬 수 있으므로(예: 보안 설정 해제) 애플리케이션을 보다 면밀하게 모니터해야 하는 필요성이 줄어듭니다.

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_safclasses
파일 이름:csec_safclasses.html