Kit de développement de logiciels adaptatif

Protecting Native Applications using Adaptive Access

Introduction

IBM Security Verify Adaptive access peut être utilisé pour protéger les applications web développées de manière native (c'est-à-dire lorsque l'expérience complète de l'utilisateur est gérée par l'application). Grâce à l'accès adaptatif, vous pouvez rapidement sécuriser votre application native contre les attaquants, en introduisant le MFA si nécessaire, sans augmenter la friction pour la majorité de vos utilisateurs.

*Si votre application web ou mobile prend en charge l'authentification unique fédérée OIDC ou SAML, consultez la section Accès adaptatif pour l'authentification unique.

Dans ce flux, le contexte d'accès adaptatif, les capacités de collecte des risques et l'ensemble de l'expérience d'authentification sont réalisés par votre application à l'aide du IBM Security Verify AdaptiveSDK. Cette situation est la plus fréquente dans les scénarios où l'application est utilisée indépendamment d'un point d'authentification commun (IdP central). Cela peut s'avérer essentiel dans les cas d'utilisation du CIAM ou pour les applications de base sur mesure qui nécessitent une expérience utilisateur hautement personnalisée.

Pour commencer, voir On-boarding a native application.

Comprenons les différentes entités impliquées dans le déploiement d'une application native. Il y en a trois à connaître :

  • IBM Security Verify
  • Le serveur d'application
  • L'application client

Chacun d'entre eux joue un rôle spécifique dans la mise en œuvre de l'accès adaptatif pour les applications natives. Le diagramme suivant montre la relation entre les entités.

2400

Architecture of components

Composants

IBM Security Verify

IBM Security Verify est le moteur qui fournit la capacité d'accès adaptatif, construite sur les principes standards OAuth 2.0 / OpenID Connect.

Lors du déploiement d'une application native, le serveur d'application contacte IBM Security Verify afin d'obtenir un jeton d'accès à utiliser par l'application. Ce jeton d'accès ne sera délivré qu'une fois que toutes les exigences de la politique configurées sur l'application seront satisfaites, ce qui peut nécessiter une authentification à plusieurs facteurs sur la base de l'évaluation des risques fournie par la capacité d'accès adaptatif.

Dans ce scénario, l'interaction avec IBM Security Verify est purement basée sur l'API, le développeur intégrant son serveur d'application avec les API fournies pour enrichir ses capacités d'authentification.

Pour plus d'informations sur l'utilisation des API IBM Security Verify pour évaluer les politiques, consultez les rubriques du Centre de connaissances.

Le serveur d'application

Dans ce scénario, le serveur d'application héberge la logique de l'application que l'utilisateur final essaie d'utiliser. Ce scénario permet au serveur d'application de décharger de nombreuses exigences traditionnelles en matière d'authentification vers IBM Security Verify, en utilisant à la place l'API basée sur les normes mentionnées. Ces API permettent à l'application d'établir une session utilisateur, de demander une authentification supplémentaire. En utilisant les API IBM Security Verify, l'application n'a plus à gérer :

Un répertoire d'utilisateurs

L'audit des événements de connexion

La mise en œuvre de méthodes multifactorielles

Lors du déploiement d'une application utilisant cette API pour l'authentification adaptative, le SDK Adaptive Proxy peut être utilisé pour simplifier et rationaliser l'intégration avec les API IBM Security Verify. Il est également disponible pour inclusion dans les projets NodeJS via npm.

L'application client

L'application client a établi une session avec son serveur d'application et c'est cette session qui est protégée et enrichie à l'aide de l'accès adaptatif IBM Security Verify. Pour ce faire, le SDK adaptatif doit être déployé dans l'application client.

Le SDK du navigateur adaptatif facilite la gestion des sessions et s'intègre aux flux de connexion et d'authentification de l'application. Il est également disponible pour inclusion dans les projets NodeJS via npm.

Comprendre l'architecture

Ce qui précède nous aide à comprendre les différentes entités au sein d'un déploiement d'IBM Security Verify Adaptive access pour applications natives. Répétons :

  1. L'application native qui interagit avec l'utilisateur
    • Embarque le SDK du navigateur adaptatif
    • Souhaite appeler les API avec un access_token soit depuis l'application, soit en utilisant une session du serveur d'application
    • N'appelle pas directement IBM Security Verify
  2. Le serveur d'application avec lequel l'application fonctionne
  3. IBM Security Verify
    • Fournit des capacités d'authentification, d'autorisation, de MFA et d'audit à l'aide d'une API normalisée.
    • Utilisé pour embarquer l'application
      • Émet un client_id et un client_secret
    • Délivre des jetons d'accès et de rafraîchissement au serveur d'application
    • C'est là où la politique d'accès est rédigée