![[z/OS]](../images/ngzos.gif)
z/OS 보안에서 분배 ID 필터 구성
분배 ID를 SAF(System Authorization Facility) 사용자에게 맵핑하려면 먼저 WebSphere® Application Server용 z/OS® 보안 제품에서 분배 ID를 구성해야 합니다.
SAF 클래스 RACMAP의 분배 ID 필터는 분배 사용자 이름 및 분배 사용자 이름의 영역 이름으로 구성됩니다. 다수의 분배 ID를 한 명의 SAF 사용자에게 맵핑하도록 필터를 구성하거나 일대일 맵핑을 가질 수 있습니다.
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>'))
REGISTRY(NAME('<distributedRealmName>')) WITHLABEL('<someLabel>')
<SAFUser> 요소는 z/OS 보안 제품의 SAF 사용자이고 <distributedUserId>는 분배 ID이며 <distributedRealmName>은 분배 ID의 영역 이름이며 <someLabel>은 이 분배 ID 필터를 설명하는 텍스트 필드입니다.
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
SETROPTS RACLIST(IDIDMAP) REFRESH
SAF 사용자에 분배 사용자 맵핑:
로컬이 아닌 OS 레지스트리를 구성한 경우 LDAP(Lightweight Directory Access Protocol) 사용자와 같은 분배 사용자를 SAF 사용자로 맵핑할 수 있습니다. SAF 사용자로 맵핑할 때 WebSphere Application Server가 사용하는 분배 사용자 이름은 WSCredential.getUniqueSecurityName() API가 리턴하는 값입니다. 이 메소드는 구성된 사용자 레지스트리에 적용될 때 고유 사용자 이름을 리턴합니다. LDAP의 경우 이 이름은 전체 식별 이름(DN)입니다. 사용자 정의 구성에서 이 이름은 사용자 정의 레지스트리의 getUniqueUserId() API가 리턴하는 값입니다. 연합 저장소의 경우 이 이름은 가상 멤버 관리자의 uniqueName 특성입니다.
WebSphere Application Server가 사용하는 분배 영역 이름은 WSCredential.getRealmName() API에 의해 판별됩니다. 리턴되는 영역 이름은 구성되는 사용자 레지스트리에 따라 다릅니다. LDAP의 경우 영역 이름은 ldapHostName:ldapPortNumber입니다. 사용자 정의 레지스트리의 경우 getRealm() 메소드가 구현에서 리턴하도록 구성한 값입니다. 연합 저장소의 경우 영역 이름은 연합 저장소 패널의 영역 이름 필드에서 지정한 영역입니다.
RACMAP ID(USER1) MAP USERDIDFILTER(NAME('CN=LDAPUser1,o=ibm,c=us'))
REGISTRY(NAME('ccwin12.austin.ibm.com:389'))
WITHLABEL('Mapping LDAP LDAPUser1 to USER1')
RACMAP ID(USER3) MAP USERDIDFILTER(NAME('CustomUser3'))
REGISTRY(NAME('customRealm')) WITHLABEL('Mapping custom CustomUser3 to USER3')
RACMAP ID(USER5) MAP USERDIDFILTER(NAME('uid=wimUser5,o=defaultWIMFileBasedRealm
')) REGISTRY(NAME('defaultWIMFileBasedRealm')) WITHLABEL('Mapping custom wimUser5 to USER5')
SAF 사용자에 Kerberos 프린시펄 맵핑:
z/OS 운영 체제에 Kerberos 인증 메커니즘으로 로컬 OS 레지스트리가 구성되어 있는 경우 Kerberos 사용자를 SAF 사용자로 맵핑하려고 할 수 있습니다. 이 경우 분배 ID는 Kerberos 프린시펄 이름입니다. 분배 영역 이름은 KDC의 Kerberos 영역 이름입니다.
kerberosUser@KRB390.IBM.COM to the SAF user WSADMIN:
RACMAP ID(WSADMIN) MAP USERDIDFILTER(NAME('kerberosUser'))
REGISTRY(NAME('KRB390.IBM.COM')) WITHLABEL('Mapping Kerberos kerberosUser to WSADMIN')
한 SAF 사용자에 여러 분배 ID 맵핑:
RACMAP ID(ACCT) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('accountingUnit.acme.ibm.com:389'))
WITHLABEL('Mapping accounting users to ACCT')
RACMAP ID(ACCT2) MAP USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('accountingUnit.acme.ibm.com:389'))
WITHLABEL('Mapping US accounting users to ACCT2')
인증서 및 식별 이름을 SAF 사용자로 맵핑
RACMAP ID(ACCT3) MAP USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Mapping certificate or distinguished names to ACCT3')
기본 분배 ID 필터 작성:
다른 어느 필터에서도 찾을 수 없는 분배 ID를 RESTRICTED 속성이 있는 SAF 사용자로 맵핑하는 기본 필터를 정의하려고 할 수 있습니다.
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('*')) WITHLABEL('The default filter')
인증된 사용자에 대한 RACMAP 필터 변경사항 활성화:
사용자가 레지스트리로 인증하는 경우 이 사용자도 인증 캐시에 추가됩니다. z/OS 보안 제품에서 RACMAP 필터에 대한 변경사항은 이 사용자가 인증 캐시에서 제거될 때까지 적용되지 않습니다.
이러한 변경사항이 즉시 적용되도록 하려면 업데이트할 서버에서 SecurityAdmin Mbean을 호출하십시오. purgeUserFromAuthCache 조작을 호출하여 한 명의 특정 사용자를 제거하거나 clearAuthCache 조작을 호출하여 인증 캐시에서 모든 사용자를 제거할 수 있습니다. 서버가 다시 시작되면 인증 캐시도 지워집니다.
Mbean 및 그 조작에 대한 세부사항은 SecurityAdmin MBean 정의 테이블의 내용을 참조하십시오.
예를 들어, 분배 ID LDAPUser1이 SAF 사용자로 맵핑되지 않고 역할이 보호하는 서블릿에 로그인하려고 시도합니다. 사용자 ID 및 비밀번호가 유효하므로 이 사용자는 인증되고 인증 캐시에 추가됩니다. 그러나 LDAPUser1은 SAF 사용자로 맵핑되지 않기 때문에 기본 비인증 ID WSGUEST가 권한 부여에 사용됩니다.
WSGUEST에는 서블릿 역할에 대한 권한이 부여되지 않으므로 LDAPUser1은 서블릿에 액세스할 수 없습니다. 그러면 z/OS 보안 관리자가 LDAPUser1을 SAF 사용자 USER1에 맵핑하는 RACMAP 필터를 정의합니다. LDAPUser1은 이 ID가 인증 캐시에서 제거될 때까지 서블릿에 액세스할 수 없습니다.
RACMAP 명령에 대한 자세한 정보는 z/OS 보안 서버 RACF® 명령 언어 참조의 내용을 참조하십시오.