Configuration de la sécurité pour z/OS Connect
L'application z/OS Connect est accessible aux utilisateurs authentifiés qui y sont également habilités de par le rôle zosConnectAccess. Vous pouvez configurer une autorisation de groupe au niveau de la définition du service. L'autorisation de groupe est prise en charge pour les types de groupe SAF et LDAP.
Pourquoi et quand exécuter cette tâche
Les utilisateurs doivent être authentifiés avant de pouvoir accéder à l'application z/OS Connect.
Le mécanisme d'authentification par défaut requis par z/OS Connect est CLIENT_CERT. Les utilisateurs doivent être autorisés de par leur affectation au rôle zosConnectAccess pour pouvoir accéder à l'application z/OS Connect. Le mécanisme de transport requis est HTTPS.
Vous pouvez configurer z/OS Connect pour une exécution sans les éventuelles contraintes de sécurité en définissant les attributs requireSecure et requireAuth. Ces attributs sont définis dans l'élément zosConnectManager, qui s'applique à tous les services configurés, ou dans l'élément zosConnectService pour un service spécifique. Si les attributs sont définis à la fois dans l'élément zosConnectService et de manière globale dans l'élément zosConnectManager, la valeur définie dans zosConnectService est utilisée. Voir zosConnectManager et zosConnectService pour obtenir des informations supplémentaires sur ces attributs.
Pour fournir un niveau de sécurité plus robuste, z/OS Connect offre la possibilité de circonscrire l'accès via une autorisation de groupe pouvant être définie via SAF ou LDAP. Dans ce cadre, z/OS Connect définit trois niveaux d'autorité :
- Administrateur - Les utilisateurs avec prérogatives d'administrateur sont habilités à interroger des services, effectuer des tâches supplémentaires sur ceux-ci et les appeler.
- Opérations - Les utilisateurs avec droits d'opération sont habilités à effectuer des tâches sur les services, tels que arrêt, démarrage, etc., mais ne sont pas autorisés à appeler les services.
- Appel - Les utilisateurs avec droits d'appel sont habilités à appeler des services, mais n'ont pas d'autres droits.
z/OS Connect fournit un intercepteur d'autorisation qui implémente l'interface de fournisseur de service (SPI) com.ibm.wsspi.zos.connect.Interceptor(). Cet intercepteur gère SAF, tout comme LDAP. Il utilise l'API de sécurité getGroupsforUser() en interne afin de déterminer de quels groupes fait partie l'utilisateur actuel, puis compare ces groupes à ceux fournis dans la définition du service ou dans la définition globale.
Lorsque l'intercepteur d'autorisation fourni par z/OS Connect est activé, les noms de groupes RACF ou LDAP associés à des utilisateurs peuvent également être associés à n'importe quel groupe mentionné auparavant au niveau de la définition du service ou de la définition globale. Au niveau global, ils peuvent être définis sous l'élément de configuration <zosConnectManager>. Les attributs définis à ce niveau comprennent : globalAdminGroup, globalOperationsGroup et globalInvokeGroup. Si ce niveau est configuré, ils s'appliquent à tous les services configurés. Si une plus grande granularité est souhaitée, les groupes peuvent également être configurés au niveau du service sous l'élément de configuration <zosConnectService>. Les attributs définis à ce niveau sont les suivants : adminGroup, operationsGroup et invokeGroup. Si ces valeurs sont spécifiées, elles prévalent sur celles définies au niveau global.
- L'utilisateur passe la vérification d'autorisation
- Aucune autre condition n'empêche le renvoi des informations sur les services
Par exemple, supposons la configuration suivante avec l'intercepteur d'autorisation défini au niveau du service :
User "USR1" Groups: ADMINS1, ADMINS2
User "USR2" Groups: OPERATS1
User "USR3" Groups: 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 |