Sicherheit für z/OS Connect konfigurieren
Die z/OS Connect-Anwendung kann von authentifizierten Benutzern aufgerufen werden, die ebenfalls für die Rolle "zosConnectAccess" berechtigt sind. Sie können die Gruppenberechtigung auf der Ebene der Servicedefinition konfigurieren. Die Gruppenberechtigung wird für SAF- und LDAP-Gruppentypen unterstützt.
Informationen zu diesem Vorgang
Benutzer müssen authentifiziert werden, bevor sie auf die z/OS Connect-Anwendung zugreifen können.
Der Standardauthentifizierungsmechanismus von z/OS Connect ist CLIENT_CERT. Die Benutzer müssen mit der Rolle "zosConnectAccess" berechtigt sein, damit sie auf die z/OS Connect-Anwendung zugreifen können. Der erforderliche Transportmechanismus ist HTTPS.
Sie können z/OS Connect für eine Ausführung ohne Integritätsbedingungen für die Sicherheit konfigurieren, indem Sie die Definitionen der Attribute "requireSecure" und "requireAuth" festlegen. Diese Attribute werden unter dem Element "zosConnectManager", das für alle konfigurierten Services gilt, oder unter dem Element "zosConnectService" für einen bestimmten Service definiert. Wenn die Attribute unter dem Element "zosConnectService" und global unter dem Element "zosConnectManager" definiert werden, wird der unter "zosConnectService" definierte Wert verwendet. Weitere Informationen zu diesen Attributen finden Sie unter zosConnectManager und zosConnectService
Um eine differenziertere Sicherheitsebene festzulegen, bietet z/OS Connect die Möglichkeit, den Zugriff auf Basis der Gruppenberechtigung einzuschränken, die über SAF oder LDAP konfiguriert werden kann. Dafür definiert z/OS Connect drei Berechtigungsebenen:
- Administrator: Benutzer mit Administratorberechtigung haben die Berechtigung zum Abfragen von Services, zum Ausführen von operativen Tasks für diese Services und und zum Aufrufen der Services.
- Operativ: Benutzer mit operativer Berechtigung können Tasks für die Services ausführen, z. B. die Services stoppen, starten usw. Sie sind jedoch nicht berechtigt, Services aufzurufen.
- Aufrufen: Benutzer mit Aufrufberechtigung können Services aufrufen, haben aber keine andere Berechtigung.
z/OS Connect stellt einen Berechtigungsinterceptor bereit, der die SPI com.ibm.wsspi.zos.connect.Interceptor() implementiert. Dieser Interceptor unterstützt sowohl SAF als auch LDAP. Dieser Interceptor verwendet intern die Sicherheits-API getGroupsforUser(), um zu ermitteln, zu welchen Gruppen der Benutzer gehört, und vergleicht diese Gruppen anschließend mit den in der Servicedefinition oder in der globalen Definition angegebenen Gruppen.
Wenn der von z/OS Connect bereitgestellte Berechtigungsinterceptor aktiviert ist, können die den Benutzern zugeordneten RACF- oder LDAP-Gruppennamen auch jeder Gruppe zugeordnet werden, die vorher auf der Ebene der globalen oder Servicedefinition angegeben ist. Auf globaler Ebene können sie unter dem Konfigurationselement <zosConnectManager> definiert werden. Die auf dieser Ebene definierten Attribute sind globalAdminGroup, globalOperationsGroup und globalInvokeGroup. Wenn sie konfiguriert sind, gelten sie für alle konfigurierten Services. Wenn eine größere Differenzierung erwünscht ist, können die Gruppen auch auf der Serviceebene unter dem Konfigurationselement <zosConnectService> konfiguriert werden. Die auf dieser Ebene definierten Attribute sind adminGroup, operationsGroup und invokeGroup. Wenn diese Werte angegeben ist, überschreiben sie die auf globaler Ebene definierten Werte.
- Der Benutzer durchläuft die Berechtigungsprüfung erfolgreich.
- Es gibt keine anderen Bedingungen, die verhindern, dass Serviceinformationen zurückgegeben werden.
Beispiel: Angenommen, die folgende Konfiguration mit dem Berechtigungsinterceptor ist auf der Serviceebene definiert:
Benutzer "USR1" Gruppen: ADMINS1, ADMINS2
Benutzer "USR2" Gruppen: OPERATS1
Benutzer "USR3" Gruppen: ADMINS2, OPERATS1
<!-- globale z/OS Connect-Konfiguration. Gilt für alle Services. -->
<zosConnectManager globalAdminGroup="ADMINS1" globalOperationsGroup="OPERATS1" globalInvokeGroup="INVOKES1"/>
<!-- Interceptorkonfiguration -->
<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 |