z/OS Connect를 위한 보안 구성
z/OS Connect 애플리케이션에는 인증되고 zosConnectAccess 역할의 권한이 부여된 사용자가 액세스할 수 있습니다. 서비스 정의 레벨에서 그룹 권한 부여를 구성할 수 있습니다. 그룹 권한 부여는 SAF 및 LDAP 그룹 유형에 대해 지원됩니다.
이 태스크 정보
z/OS Connect 애플리케이션에 액세스하려면 사용자는 우선 인증되어야 합니다.
z/OS Connect에 필요한 기본 인증 메커니즘은 CLIENT_CERT입니다. z/OS Connect 애플리케이션에 액세스하려면 사용자에게 zosConnectAccess 역할의 권한이 부여되어야 합니다. 필요한 전송 메커니즘은 HTTPS입니다.
requireSecure 및 requireAuth 속성 정의를 설정하여 보안 제한조건 없이 실행하도록 z/OS Connect를 구성할 수 있습니다. 이 속성은 zosConnectManager 요소 아래에서 정의되어 모든 구성된 서비스에 적용되거나 특정 서비스에 대한 zosConnectService 요소 아래에서 정의됩니다. 속성이 zosConnectService 요소 아래와 글로벌로 zosConnectManager 요소 아래에서 모두 정의되는 경우에는 zosConnectService 아래에서 정의된 값이 사용됩니다. 해당 속성에 대한 자세한 정보는 zosConnectManager 및 zosConnectService를 침조하십시오.
더 좋은 레벨의 보안을 제공하기 위해 z/OS Connect는 SAF 또는 LDAP을 통해 구성할 수 있는 그룹 권한을 기반으로 액세스를 제한하는 기능을 제공합니다. 이를 위해 z/OS Connect는 세 가지 레벨의 권한을 정의합니다.
- 관리자 - 관리자 권한이 있는 사용자는 서비스를 조회하고 서비스에 대해 조작 태스크를 수행하고 서비스를 호출할 수 있는 권한이 있습니다.
- 조작 - 조작 권한이 있는 사용자는 서비스에 대해 중지, 시작 등의 태스크를 수행할 수 있는 권한이 있지만 서비스를 호출할 수 있는 권한은 없습니다.
- 호출 - 호출 권한이 있는 사용자는 서비스를 호출할 수 있지만 다른 권한은 없습니다.
z/OS Connect는 com.ibm.wsspi.zos.connect.Interceptor() SPI를 구현하는 권한 부여 인터셉터를 제공합니다. 이 인터셉터는 SAF와 LDAP을 둘 다 지원합니다. 이 인터셉터는 getGroupsforUser() 보안 API를 내부적으로 사용하여 현재 사용자가 속한 그룹을 판별한 후 이 그룹을 서비스 정의 또는 글로벌 정의에서 제공된 그룹과 비교합니다.
z/OS Connect가 제공한 권한 부여 인터셉터가 사용되는 경우, 사용자와 연관된 RACF 또는 LDAP 그룹 이름도 이전에 글로벌 또는 서비스 정의 레벨에서 언급한 그룹과 연관될 수 있습니다. 글로벌 레벨에서 이는 <zosConnectManager> 구성 요소 아래에 정의될 수 있습니다. 이 레벨에서 정의되는 속성에는 globalAdminGroup, globalOperationsGroup 및 globalInvokeGroup이 포함됩니다. 구성되면 구성된 모든 서비스에 적용됩니다. 추가 세분화를 원하는 경우, 그룹을 <zosConnectService> 구성 요소 아래의 서비스 레벨에서 구성할 수도 있습니다. 이 레벨에서 정의되는 속성은 adminGroup, operationsGroup 및 invokeGroup입니다. 이 값이 지정된 경우에는 글로벌로 정의된 값을 대체합니다.
- 사용자가 권한 검사를 통과함
- 서비스 정보가 리턴되는 것을 방해하는 다른 조건이 없음
예를 들어, 서비스 레벨에서 정의된 권한 부여 인터셉터가 있는 다음 구성이 주어진 경우:
사용자 "USR1" 그룹: ADMINS1, ADMINS2
사용자 "USR2" 그룹: OPERATS1
사용자 "USR3" 그룹: ADMINS2, OPERATS1
<!-- z/OS Connect global configuration. It applies to all services. -->
<zosConnectManager globalAdminGroup="ADMINS1" globalOperationsGroup="OPERATS1" globalInvokeGroup="INVOKES1"/>
<!-- Interceptor configuration -->
<zosConnectInterceptors id="interceptorList1" interceptorRef="zosConnectAuthorizationInterceptor"/>
<authorizationInterceptor id="zosConnectAuthorizationInterceptor"/>
<!--Service 1-->
<zosConnectService serviceName="service1" serviceRef="service1Ref" adminGroup="ADMINS2" operationsGroup="OPERATS2" interceptorsRef="interceptorList1" .../>
<!--Service 2-->
<zosConnectService serviceName="service2" serviceRef="service2Ref" operationsGroup="OPERATS2" interceptorsRef="interceptorList1" .../>
<!--Service 3-->
<zosConnectService serviceName="service3" serviceRef="service3Ref" adminGroup="ADMINS1" interceptorsRef="interceptorList1" .../>
service1 | service2 | service3 | |
---|---|---|---|
USR1 | X | X | X |
USR2 | -- | -- | X |
USR3 | X | -- | X |