IBM Security Verify Access Intégration

Vérifier l'accès SSO pour Liberty

IBM 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 reliés par WebSEAL. Les informations d'identité fournies par Verify Access sont ensuite utilisées par la fonction Liberty qui transmet l'identité aux applications web Java 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 Contrôle d'accès avancé de Verify Access.

Connaissances supposées

Cette intégration suppose que vous soyez familiarisé avec un certain nombre d'options de configuration de IBM 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) sont utilisés.

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 jeton Web JSON (JWT) construit à partir des attributs disponibles de l'utilisateur. Ce guide suppose que vous connaissez l'infrastructure de clés publiques associée nécessaire pour vérifier et (si nécessaire) décrypter 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 données de certificats SSL pdsrv. Pour activer la communication SSL, un certificat faisant partie de la chaîne de confiance X509 de la poignée de main SSL de la liberté doit être importé dans la base de données des certificats SSL utilisée par votre instance WebSEAL.

Pour permettre la vérification mutuelle, un certificat qui fait partie de la chaîne de confiance X509 depuis la poignée de main WebSEAL doit être importé dans le serveur Liberty Clé de stockage SSL

WebSEAL Configuration du proxy inverse

Une instance WebSEAL est utilisée pour fournir et appliquer des exigences d'authentification. Au minimum, vous devrez créer/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 configurées pour la fonctionnalité mpJwt.

Créer la jonction WebSEAL vers Liberty

Créer 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 aucune 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 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, une strophe [jwt:<junction name>] est ajoutée 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 par défaut WebSEAL ) pour signer les JWT. Dans un environnement de production, il doit être remplacé par une infrastructure à clé publique (PKI) appropriée. L'en-tête HTTP utilisé doit être de la forme Authorization: Bearer %TOKEN%, car la fonction de liberté ne permet pas de le modifier.

Un exemple de fichier de configuration WebSEAL est fourni pour démontrer la configuration requise :

[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

En option : 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) supplémentaires nécessaires pour la ressource jonctionnée doivent également être créées ici. Les ACL et les POP sont utilisés pour définir une logique d'entreprise supplémentaire nécessaire pour appliquer des exigences de sécurité supplémentaires pour l'accès aux ressources web. L'authentification par étapes, fournie par le module de contrôle d'accès avancé, est un exemple simple d'utilisation de l'authentification supplémentaire qui peut être mise en œuvre à l'aide de IBM Verify Access.

Retour au guide d'intégration de Liberty