![[z/OS]](../images/ngzos.gif)
Konfiguration der Filter für verteilte Identitäten im z/OS-Sicherheitsprodukt
Bevor den SAF-Benutzern (System Authorization Facility) verteilte Identitäten zugeordnet werden können, müssen zunächst im z/OS-Sicherheitsprodukt für WebSphere Application Server Filter für verteilte Identitäten konfiguriert werden.
Ein Filter für verteilte Identität in der SAF-Klasse RACMAP besteht aus dem Namen des verteilten Benutzers und Realmnamen für den Namen des verteilten Benutzers. Sie können die Filter so konfigurieren, dass sie viele verteilte Identitäten einem einzelnen SAF-Benutzer zuordnen, oder Sie können eine Eins-zu-eins-Zuordnung definieren.
RACMAP ID(<SAFUser>) MAP USERDIDFILTER(NAME('<distributedUserId>'))
REGISTRY(NAME('<distributedRealmName>')) WITHLABEL('<someLabel>')
Das Element <SAF-Benutzer> ist der SAF-Benutzer im z/OS-Sicherheitsprodukt, <verteilte_Benutzer-ID> ist die verteilte Identität, <verteilter_Realmname> ist der Realmname der verteilten Identität und <Bezeichnung> ist ein Textfeld, das diesen Filter für verteilte Identität beschreibt.
SETROPTS CLASSACT(IDIDMAP) RACLIST(IDIDMAP)
SETROPTS RACLIST(IDIDMAP) REFRESH
Verteilte Benutzer den SAF-Benutzern zuordnen:
Wenn Sie eine nicht lokale Betriebssystemregistry konfiguriert haben, können Sie einen verteilten Benutzer, z. B. einen LDAP-Benutzer (Lightweight Directory Access Protocol) einem SAF-Benutzer zuordnen. Der Name des verteilten Benutzers, den WebSphere Application Server für die Zuordnung zu einem SAF-Benutzer verwendet, ist der von der API "WSCredential.getUniqueSecurityName()" zurückgegebene Wert. Diese Methode gibt den eindeutigen Benutzernamen zurück, der für die die konfigurierte Benutzerregistry gilt. Für LDAP ist dies der vollständige definierte Name (DN). Für eine angepasste Konfiguration ist dies der Wert, den die API "getUniqueUserId()" in der angepassten Benutzerregistry zurückgibt. Für eingebundene Repositorys ist dies die Eigenschaft "uniqueName" im Virtual Member Manager.
Der verteilte Realmname, den WebSphere Application Server verwendet, wird von der API "WSCredential.getRealmName()" bestimmt. Der zurückgegebene Realmname ist abhängig von der konfigurierten Benutzerregistry. Für LDAP sieht der Realmname wie folgt aus: "LDAP-Hostname:LDAP-Portnummer". Für eine angepasste Benutzerregistry entspricht der Realmname dem Wert, den Sie in Ihrer Implementierung als Rückgabewert für die Methode "getRealm()" konfiguriert haben. Für eingebundene Repositorys ist der Realmname der Realm, den Sie in der Anzeige für eingebundene Repositorys im Feld für den Realmnamen angegeben haben.
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')
Kerberos-Principals den SAF-Benutzern zuordnen:
Wenn in z/OSBetriebssystemen eine lokale Betriebssystemregistry mit dem Kerberos-Authentifizierungsverfahren konfiguriert ist, können Sie einen Kerberos-Benutzer einem SAF-Benutzer zuordnen. In diesem Fall ist der Name des Kerberos-Principals die verteilte Identität. Der verteilte Realmname ist der Kerberos-Realmname des KDC.
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')
Mehrere verteilte Identitäten einem SAF-Benutzer zuordnen:
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')
Zertifikate und definierte Name den SAF-Benutzern zuordnen
RACMAP ID(ACCT3) MAP USERDIDFILTER(NAME('O=ibm,C=us'))
REGISTRY(NAME('localOSRealm'))
WITHLABEL('Mapping certificate or distinguished names to ACCT3')
Standardfilter für verteilte Identität erstellen:
Eventuell möchten Sie einen Standardfilter definieren, der alle verteilten Identitäten, die in keinem anderen Filter gefunden werden, einem SAF-Benutzer mit dem Attribut RESTRICTED zuordnet.
RACMAP ID(WSGUEST) MAP USERDIDFILTER(NAME('*'))
REGISTRY(NAME('*')) WITHLABEL('The default filter')
RACMAP-Filteränderungen für einen authentifizierten Benutzer aktivieren:
Wenn sich ein Benutzer bei der Registry authentifiziert, wird dieser Benutzer auch dem Authentifizierungscache zugeordnet. Die Änderungen an den RACMAP-Filtern im z/OS-Sicherheitsprodukt werden erst dann wirksam, wenn dieser Benutzer aus dem Authentifizierungscache entfernt wurde.
Wenn diese Änderungen sofort wirksam werden sollen, rufen Sie die MBean "SecurityAdmin" für den Server auf, der aktualisiert werden soll. Sie können entweder die Operation "purgeUserFromAuthCache" ausführen, um einen bestimmten Benutzer zu entfernen, oder Sie können mit der Operation "clearAuthCache" alle Benutzer aus dem Authentifizierungscache entfernen. Der Authentifizierungscache wird außerdem gelöscht, wenn der Server erneut gestartet wird.
Ausführliche Informationen zu der MBean und ihren Operationen finden Sie in der Definitionstabelle der MBean "SecurityAdmin".
Beispiel: Eine verteilte Identität mit dem Namen LDAPUser1 ist keinem SAF-Benutzer zugeordnet und versucht, sich in einem durch eine Rolle geschützten Servlet anzumelden. Da Benutzer-ID und Kennwort gültig sind, wird der Benutzer authentifiziert und dem Authentifizierungscache hinzugefügt. Weil LDAPUser1 aber keinem SAF-Benutzer zugeordnet ist, wird für die Autorisierung eine nicht authentifizierte Standard-ID mit dem Namen WSGUEST verwendet.
LDAPUser1 kann nicht auf das Servlet zugreifen, weil WSGUEST für die Servlet-Rolle nicht berechtigt ist. Der z/OS-Sicherheitsadministrator definiert in diesem Fall einen RACMAP-Filter, um LDAPUser1 dem SAF-Benutzer USER1 zuzuordnen. LDAPUser1 kann jedoch erst dann auf das Servlet zugreifen, wenn diese ID aus dem Authentifizierungscache entfernt wird.
Weitere Informationen zum Befehl RACMAP finden Sie in der Veröffentlichung z/OS Security Server RACF Command Language Reference.