IBM Security Verify Access Intégration

Vérifier l'accès SSO pour Liberty

IBM Security Verify Access peut être utilisé pour intégrer des registres d'utilisateurs sur site (par exemple LDAP, Active Directory) avec des applications fonctionnant sur IBM WebSphere Liberty. Le composant web reverse proxy est utilisé pour fournir et renforcer l'accès aux serveurs en aval jonctionnés par WebSEAL. Les informations d'identité fournies par Verify Access sont ensuite utilisées par la fonctionnalité mpJWT Liberty, qui transmet l'identité aux applications web Java. Des politiques d'accès personnalisées ou complexes peuvent être mises en œuvre à l'aide du composant Advanced Access Control de Verify Access.

Connaissances supposées

Cette intégration suppose que vous soyez familiarisé avec un certain nombre d'options de configuration d'IBM Security Verify Access. Au minimum, vous devez être en mesure de :

  • Créer des instances et des jonctions WebSEAL
  • Modifier le fichier de configuration de WebSEAL
  • Gérer la base de données SSL du serveur d'exécution

Prérequis

Ce guide suppose que vous avez déployé Verify Access (matériel, machine virtuelle ou conteneurs) et que le serveur d'exécution et le registre des utilisateurs sont configurés. Une configuration supplémentaire peut être nécessaire si un registre d'utilisateurs fédéré (par exemple Active Directory) ou une identité fédérée (par exemple OIDC ou SAML) est utilisé.

Vous devez également disposer d'un serveur Liberty déployé et configuré pour utiliser la fonctionnalité mpJwt. Les instructions pour configurer Liberty sont détaillées dans ce guide. L'identité est fournie par un JSON Web Token (JWT) construit à partir des attributs disponibles de l'utilisateur. Ce guide suppose que vous connaissez l'infrastructure à clés publiques (PKI) nécessaire pour vérifier et, si nécessaire, déchiffrer les JWT.

Configurer la vérification SSL

Dans la mesure du possible, il est recommandé de sécuriser la jonction WebSEAL avec le serveur Liberty en aval à l'aide du protocole SSL. Par défaut, les instances WebSEAL utilisent la base de certificats SSL pdsrv. Pour activer la communication SSL, un certificat faisant partie de la chaîne de confiance X.509 de la poignée de main SSL de Liberty doit être importé dans la base de certificats SSL utilisée par votre instance WebSEAL.

Pour permettre la vérification mutuelle, un certificat faisant partie de la chaîne de confiance X.509 depuis la poignée de main WebSEAL doit être importé dans le keystore SSL du serveur Liberty.

Configuration du proxy inverse de WebSEAL

Une instance WebSEAL est utilisée pour fournir et appliquer des exigences d'authentification. Au minimum, vous devez créer ou modifier une instance WebSEAL avec une jonction vers le serveur Liberty cible et ajouter la strophe de configuration JWT configurée pour correspondre aux réclamations définies pour la fonctionnalité mpJwt.

Créer la jonction WebSEAL vers Liberty

Créez une jonction mutuelle avec le serveur Liberty. Ce guide utilise une jonction standard, mais une jonction transparente peut être utilisée si le serveur en aval doit pouvoir rediriger en utilisant des chemins relatifs. La jonction doit être configurée pour utiliser les connexions SSL sans autre configuration supplémentaire.

Cette opération peut également être effectuée à l'aide de l'outil CLI pdadmin :

[user@workstation ~]$ ssh [email protected]
Warning: Permanently added '192.168.42.101' (ED25519) to the list of known hosts.
([email protected]) Password:
Welcome to the IBM Security Verify Access appliance
Enter "help" for a list of available commands

my.isva.appliance> isam admin

pdadmin> server task <instance_name>-webseald-<host_name_or_address> create –t mutual -h target.integration.server -p 9080 -P 9443 /liberty-sso-demo

Created junction at /liberty-sso-demo

Configurer WebSEAL pour qu'il fournisse un JWT

Pour configurer WebSEAL afin qu'il fournisse un JWT, ajoutez une strophe [jwt:<junction name>] au fichier de configuration de WebSEAL. Cette strophe contient le mappage des attributs à utiliser ainsi que toute configuration cryptographique requise. L'intégration de démonstration utilise le certificat auto-signé créé dans le keystore pdsrv (keystore WebSEAL par défaut) pour signer les JWT. Dans un environnement de production, remplacez-le par une PKI appropriée. L'en-tête HTTP doit être de la forme Authorization: Bearer %TOKEN%, car la fonction Liberty ne permet pas de le modifier.

Un exemple de fichier de configuration WebSEAL :

[jwt:/liberty-junction]
key-label = WebSEAL-Test-Only
claim = attr::AZN_CRED_PRINCIPAL_NAME::sub
claim = text::webseal.ibm.com::iss
claim = text::demo.integration.server::aud
claim = attr::AZN_*
hdr-name = Authorization
hdr-format = Bearer %TOKEN%
lifetime = 0
renewal-window = 15

(Optionnel) Configurer un contrôle d'accès supplémentaire aux ressources web

Les listes de contrôle d'accès (ACL) et les politiques d'objets protégés (POP) nécessaires pour la ressource jonctionnée doivent également être créées ici. ACL et POP permettent d'ajouter la logique métier requise pour appliquer des exigences de sécurité supplémentaires lors de l'accès aux ressources web. L'authentification par paliers, fournie par le module Advanced Access Control, est un exemple simple d'authentification supplémentaire pouvant être mise en œuvre à l'aide d'IBM Security Verify Access.

Retour au guide d'intégration de Liberty