![[z/OS]](../images/ngzos.gif)
SAF-Klassen und -Profile
- Rollen für Enterprise-Beans und Webanwendungen Enterprise und Servlets verwenden
- RACF-Klassenprofile verwenden
- CBIND für den Zugriff auf Server und Objekte in Servern verwenden
- SERVER für den Zugriff auf Controller mit Servant-Regionen verwenden
- STARTED für die Zuordnung von Benutzer-IDs und Gruppen mit gestarteten Prozeduren verwenden
- APPL für die Einschränkung des Zugriffs authentifizierter Benutzer auf Anwendungen im Server verwenden
- Mit FACILITY-Klassenprofilen die Berechtigung für die Aktivierung der Synchronisation mit dem Betriebssystemthread konfigurieren und Zuordnung verteilter Identitäten zu SAF-Identitäten über JAAS-Zuordnungsanmeldemodule zulassen
- Mit SURROGAT-Profilklassen optional die Berechtigung für das Aktivieren der Synchronisation mit dem Betriebssystemthread konfigurieren
- Mehrere Sicherheitskonfigurationen in einem Sysplex erstellen
- Neue Benutzer-IDs und Profile für einen neuen Server generieren
- Minimalprofile verwenden
Rollen für Enterprise JavaBeans, Webanwendungen und Servlets
Java™ EE-Anwendungen (Java, Platform, Enterprise Edition) werden Rollen zugeordnet. Module in den Anwendungen verweisen auf Rollen unter Verwendung der Rollenreferenz, die auf die Anwendungsrolle zeigt. Der Zugriff auf Webanwendungen, Servlets und EJB-Methoden basiert auf dem Benutzer oder Caller. Rollen werden Webanwendungen, Servlets oder Enterprise Beans während der Assemblierung zugeordnet. Die für die Verwendung eines Servlets oder einer EJB-Methode erforderliche Rolle ist in den Anwendungsimplementierungsdeskriptoren angegeben.
Welche Benutzer und Gruppen welche Rollen haben, wird mit RACF-Profilen in der EJBROLE-Klasse bestimmt (sofern die SAF-Berechtigung ausgewählt ist). Wenn ein Benutzer in der Zugriffsliste eines EJBROLE-Profils enthalten ist, hat der Benutzer diese Rolle. Wenn eine Gruppe in der Zugriffsliste eines EJBROLE-Profils enthalten ist, haben die Benutzer in dieser Gruppe diese Rolle. Wenn das EJBROLE-Profil ACCESS(READ) enthält, haben alle Benutzer diese Rolle.
Wenn das SAF-Profilpräfix (das früher als z/OS-Sicherheitsdomäne bezeichnet wurde), angegeben ist, wird es von WebSphere Application Server for z/OS und RACF bei der Prüfung der EJBROLE-Profile eingesetzt. Dies erlaubt eine Differenzierung der Rollen auf der Ebene des WebSphere-SAF-Profilpräfixes.
Die Testzelle hat die Sicherheitsdomäne TEST und die Produktionszelle die Sicherheitsdomäne PROD.
In beiden Zellen ist beispielsweise eine Anwendung mit der Rolle Clerk implementiert. In der Testzelle benötigten die Benutzer Lesezugriff auf das EJBROLE-Profil TEST.Clerk. In der Produktionszelle benötigten die Benutzer Lesezugriff auf das EJBROLE-Profil PROD.Clerk.
Die folgenden Profile werden in der RACF-EJBROLE-Klasse für die Verwaltungsberechtigung definiert: administrator, configurator, monitor, operator, deployer, adminsecuritymanager und auditor.
Der Artikel System Authorization Facility (SAF) für rollenbasierte Berechtigung beschreibt, wie Sie SAF für Java-basierte Rollenberechtigung verwenden.
RACF-Profile verwenden
Es ist wichtig, die Sicherheitsmechanismen zu verstehen, die zum Schutz der Serverressourcen mit den Klassen CBIND, SERVER und STARTED in RACF (oder in Ihrem Sicherheitsprodukt) verwendet werden. Außerdem müssen Sie die Techniken für die Verwaltung der Sicherheitsumgebung verstehen.
- CBIND: Verwenden Sie diese Klasse, um auf Server und auf Objekte in den Servern zuzugreifen.
- SERVER: Verwenden Sie diese Klasse, um auf Controller von Servant-Regionen zuzugreifen.
- STARTED: Verwenden Sie diese Klasse, um Benutzer-IDs und Gruppen gestarteten Prozeduren zuzuordnen.
- APPL: Verwenden Sie diese Klasse, um den Zugriff authentifizierter Benutzer auf Anwendungen, die auf dem Server ausgeführt werden, einzuschränken.
- FACILITY: Verwenden Sie diese Klasse, um
- Benutzer-IDs und Gruppen der Option für die Zulässigkeit der Synchronisation mit dem Betriebssystemthread zuzuordnen,
- zu steuern, welche Sicherheitskonfigurationen verteilte Identitäten mithilfe von Anmeldmodulen für die JAAS-Zuordnung SAF-Identitäten zuordnen dürfen.
- SURROGAT: Verwenden Sie diese optionale Klasse, um Benutzer-IDs und Gruppen der Option für die Zulässigkeit der Synchronisation mit dem Betriebssystemthread zuzuordnen.
Grundlegende Informationen zu den RACF-Profilen, die in WebSphere Application Server for z/OS verwendet werden, finden Sie in der Beschreibung zur SAF-basierten Berechtigung. Dieser Abschnitt enthält zusätzliche Details zu den Profilen der Klassen CBIND, SERVER, FACILITY, SURROGAT und STARTED.
Benutzer-IDs und Gruppen-IDs
CR = Controllerregion SR = Servantregion Region CFG = Konfiguration (Gruppe) server = Kurzname des Servers cluster = generischer Server(kurz)name (auch Clusterübergangsname genannt)
<CR-Benutzer-ID> <CR-Gruppen-ID>, <CFG-Gruppen-ID> <SR-Benutzer-ID> <SR-Gruppen-ID>, <CFG-Gruppen-ID> <demn-Benutzer-ID> <demn-Gruppen-ID>, <CFG-Gruppen-ID> <Administrator-ID> <CFG-Gruppen-ID> <Client-Benutzer-ID> <Client-Gruppen-ID> <ctracewtr-Benutzer-ID> <ctracewtr-Gruppen-ID>
Nachfolgend sind die verschiedene Profile, die zum Schutz der Ressourcen von WebSphere Application Server for z/OS verwendet werden, mit den entsprechenden Berechtigungen und Zugriffsebenen aufgeführt.
CBIND-Klassenprofile verwenden
CBIND-Klassenprofile - Zugriff auf generische Server CB.BIND.<Cluster> UACC(READ); PERMIT <CR-Gruppe> ACC(CONTROL) CBIND-Klassenprofile - Zugriff auf Serverobjekte CB.<Cluster> UACC(READ) PERMIT <CR-Gruppe> ACC(CONTROL)
CBIND-Klassenprofile - Zugriff auf generische Server CB.BIND.<Profilpräfix>.<Cluster> UACC(READ) CBIND-Klassenprofile - Zugriff auf Serverobjekte CB.<Profilpräfix>.<Cluster> UACC(READ)
CB.CBIND.<Cluster> CB.CBIND.<SAF-Profilpräfix>.<Cluster>
CB.<Cluster> CB.<SAF-Profilpräfix>.<Cluster>
SERVER-Klassenprofile verwenden
SERVER Klassenprofile – Zugriff auf Controller mit statischen Anwendungsumgebungen CB.<Server>.<Cluster> UACC(NONE) PERMIT <SR-Benutzer-ID> ACC(READ) SERVER-Klassenprofile – Zugriff auf Controller mit dynamischen Anwendungsumgebungen Environments CB.<Server>.<Cluster>.<Zelle> UACC(NONE) PERMIT <SR-Benutzer-ID> ACC(READ)
RDEFINE CB.&<Server<cluster> UACC(NONE); PERMIT &<SR-Benutzer-ID> ACCESS(READ)Für dieses Beispiel gilt: Server = Servername, Cluster = Clustername oder Cluster-Übergangsname (falls noch kein Cluster erstellt wurde) und SR = die MVS-Benutzer-ID der Serverregion.
CB.& <Server>.&<Cluster>.<Zelle> UACC(NONE); PERMIT &<SR-Benutzer-ID> ACC(READ)Für dieses Beispiel gilt: Server = Servername, Cluster = Clustername oder Cluster-Übergangsname (falls noch kein Cluster erstellt wurde), Zelle = Kurzname der Zelle, und SR = die MVS-Benutzer-ID der Serverregion.
SERVER-Klassenprofile steuern, ob ein Servant berechtigte Routinen im zugeordneten Controller aufrufen kann.
CB.<Server>.<Cluster> CB.<SAF-Profilpräfix>.<Server>.<Cluster>
CB.<Server>.<Cluster>.<Zelle> 22
STARTED-Klassenprofile verwenden
STARTED-Klassenprofile - (MGCRE) - für Steuerregionen, Dämonen und Node Agents <<CR-Prozedur>.<CR-Jobname> STDATA(USER(CR-Benutzer-ID) GROUP(CFG-Gruppen-ID)) <demn-Prozedur>.* STDATA(USER(demn-Benutzer-ID) GROUP(CFG-Gruppen-ID)) STARTED-Klassenprofile - (ASCRE) - für Servant-Regionen und Zusatzregionen <SR-Jobname>.<SR-Jobname> STDATA(USER(SR-Benutzer-ID) GROUP(CFG-Gruppen-ID)) STARTED-Klassenprofile für IJP - (MGCRE) <MQ-SS-Name>.* STDATA(USER(IJP-Benutzer-ID) GROUP(CFG-Gruppen-ID)) - Diese IJPs sind in WAS 6.1 nicht vorhanden.
- Dämon
- Deployment Manager (Controller- und Servantregion)
- Node Agent
- Anwendungsserver (Controller-, Servant- und Zusatzregion)
- Verwaltungsagenten (Controller- und Servantregion)
- Job-Manager (Controller- und Servantregion)
APPL-Klassenprofile verwenden
Ein APPL-Klassenprofil steuert, ob ein authentifizierter Benutzer Anwendungen in der Zelle verwenden kann. Wenn ein SAF-Profilpräfix angegeben ist, ist der Name des APPL-Klassenprofils der Name des SAF-Profilpräfixes. Wenn kein SAF-Profilpräfix angegeben wird, ist der Name des APP-Klassenprofils CBS390. Weitere Informationen hierzu finden Sie im Artikel Hinweise zu SAF für die Betriebssystem- und Anwendungsebenen.
Das APPL-Klassenprofil tritt nur dann in Kraft, wenn die Klasse APPL in RACF aktiv ist und wenn zugleich die Option zur Verwendung des APPL-Profils in WebSphere aktiviert ist. Die WebSphere-Option kann über die Administrationskonsole aktiviert oder inaktiviert werden, indem die Anzeige mit den SAF-Berechtigungsoptionen aufgerufen und das Kontrollkästchen "APPL-Profil verwenden, um den Zugriff auf den Anwendungsserver einzuschränken" ausgewählt wird. Weitere Informationen zu dieser Einstellung enthält der Artikel z/OS-SAF-Berechtigung.
Mehrere Sicherheitskonfigurationen in einer Zelle erstellen
Möglicherweise sind separate Gruppen von Profilen in einer Zelle erforderlich, um die logischen WebSphere-Sicherheitsdomänen in Ihrem Unternehmen zu trennen (z. B. Test- und Produktionsbenutzer).
Sie können während der Anpassung mit dem z/OS Profile Management Tool oder mit dem Befehl zpmt oder über die Anzeige mit den SAF-Berechtigungsoptionen in der Administrationskonsole ein SAF-Profilpräfix definieren.
Verwenden Sie die Administrationskonsole von WebSphere Application Server for z/OS, um über ein SAF-Profilpräfix festzulegen. Dadurch wird die folgende Eigenschaft in der Datei security.xml erstellt.
xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix" value="<Profilpräfix>" required="false"/>
Klasse | Kein SAF-Profilpräfix definiert | SAF-Profilpräfix definiert |
---|---|---|
CBIND |
|
|
EJBROLE | ApplicationRoleName | <Profilpräfix>.ApplicationRoleName |
APPL | CBS390 | <Profilpräfix> |
Neue Benutzer-IDs und Profile für einen neuen Server generieren
Wenn Sie für jeden neuen Anwendungsserver eindeutige Benutzer-IDs verwenden möchten, müssen Sie diese Benutzer, Gruppen und Profile in der RACF-Datenbank definieren.
- Wenn eindeutige Benutzer-IDs für die neuen Server benötigt werden, müssen Sie drei
neue Benutzer definieren und den folgenden Gruppen zuordnen:
- <Neue_CR-Benutzer-ID> <CR-Gruppen-ID>, <CFG-Gruppen-ID>
- <Neue_SR-Benutzer-ID> <<SR-Gruppen-ID>, <CFG-Gruppen-ID>
- <Neue_ZR-Benutzer-ID> <<ZR-Gruppen-ID>, <CFG-Gruppen-ID>
- <Neue_Client-Benutzer-ID> <Client-Gruppen-ID>
- CBIND-Klassenprofile für den neuen Cluster (Kurzname des generischen Servers):
- CB.BIND.<neuer_Cluster>
- CB.<neuer_Cluster>
- SERVER-Klassenprofile für den neuen Server und Cluster:
- CB.<neuer_Server>.<neuer_Cluster>
- CB.<neuer_Server>.<neuer_Cluster>.<Zelle>
- STARTED-Klassenprofile für die Controllerregion und die Servant-Region des neuen
Servers:
- <CR-Prozedur>.<Neuer_CR-Jobname> STDATA(USER(Neue_CR-Benutzer-ID) GROUP(CFG-Gruppen-ID))
- <Neuer_SR-Jobname>.* STDATA(USER(neue_SR-Benutzer-ID) GROUP(CFG-Gruppen-ID))
- <Neuer_ZR-Jobname>.* STDATA(USER(Neue_ZR-Benutzer-ID) GROUP(CFG-Gruppen-ID))
FACILITY- und SURROGAT-Klassenprofile verwenden (Option Synch to OS Thread Allowed und Option connection Manager RunAs Thread Identity)
- FACILTY-Klassenprofil BBO.SYNC.<Kurzname der Zelle>.<Kurzname des Clusters>
- Wenn der WebSphere-Controller keinen Zugriff auf das Profil hat, ist die Option für zulässige Synchronisation mit dem Betriebssystemthread (SyncToOSThread) inaktiviert.
- Wenn der WebSphere-Controller Lesezugriff auf das Profil hat, kann die Option für die Zulässigkeit der Synchronisation mit dem Betriebssystemthread zwar verwendet werden, ist aber auf Sicherheitsumgebungen für bestimmte Benutzer beschränkt. Das SURROGATE-Klassenprofil muss definiert werden.
- Wenn der WebSphere-Controller Steuerungszugriff (CONTROL) auf das Profil hat, kann die Option für die Zulässigkeit der Synchronisation mit dem Betriebssystemthread zum Erstellen von Sicherheitsumgebungen für jeden Benutzer verwendet werden. Das SURROGATE-Klassenprofil wird nicht geprüft.
- SURROGAT-Klassenprofil BBO.SYNC.<Benutzer-ID>
- Wenn der WebSphere-Controller nur Lesezugriff auf das FACILITY-Klassenprofil BBO.SYNC.<Kurzname der Zelle>.<Kurzname des Clusters> hat, das die Option für die Zulässigkeit der Synchronisation mit dem Betriebssystemthread aktiviert, wird das SURROGAT-Klassenprofil geprüft, um sicherzustellen, dass der WebSphere-Servant berechtigt ist, eine Sicherheitsumgebung für den Zielbenutzer einzurichten.
- Die Prüfungen von Klassenprofilen sind mit anderen Produkten, die ähnliche Funktionen ausführen, konsistent.
RDEF FACILITY BBO.SYNC.<Kurzname_der_Zelle>.<Kurzname_des_Clusters> UACC(NONE) PE BBO.SYNC.<Kurzname_der_Zelle>.<Kurzname_des_Clusters> CLASS(FACILITY)ID(<CR-Benutzer-ID>) ACC(READ or CONTROL) RDEF SURROGAT BBO.SYNC.<Run-as-Benutzer-ID> UACC(NONE) PE BBO.SYNC.<RunAs-Benutzer-ID> CLASS(SURROGAT) ID(<SR-Benutzer-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-Klassenprofile verwenden (Gesicherte Anwendungen aktivieren)
RDEF FACILITY BBO.TRUSTEDAPPS.<Kurzname der Zelle>.<Kurzname des Clusters> UACC NONE PE BBO.TRUSTEDAPPS.<Kurzname der Zelle>.<Kurzname des Clusters> CLASS(FACILITY) ID(CR-Benutzer-ID) ACC(READ)Das folgende generische Beispiel kann Benutzer für alle Server sein:
RDEFINE FACILITY BBO.TRUSTEDAPPS.mycell01.**UACC(NONE) PERMIT BBO.TRUSTEDAPPS.mycell01.** CLASS(FACILITY) ID(MYCBGROUP) ACCESS(READ) SETROPTS RACLIST(FACILITY) REFRESHDas folgende Beispiel bezieht sich auf einen bestimmten Server, ein System mit dem Zellenkurznamen SY1, dem Clusterkurznamen (generischer Serverkurzname) BBOC001 und der Benutzer-ID für die Controllerregion CBSYMCR:
RDEF FACILITY BBO.TRUSTEDAPPS.SY1.BBOC001 UACC NONE PE BBO.TRUSTEDAPPS.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ)
Minimalprofile verwenden
Wenn Sie die Anzahl der Benutzer, Gruppen und Profile in den RACF-Daten verringern möchten, können Sie eine Benutzer-ID, eine Gruppen-ID und sehr generische Profile verwenden, damit mehrere Server in derselben Zelle abgedeckt werden. Dieses Verfahren kann auch mit IJP-Konfigurationen (Integral Java Message Service Provider) und Konfigurationen von WebSphere Application Server Network Deployment genutzt werden.
- Sie müssen weniger Profile definieren.
- Sie müssen weniger digitale Zertifikate für die SSL-Kommunikation zwischen Prozessen verwalten.