Composants et informations clés pour l'intégration de bout en bout MFA externe
Lorsque vous activez ou concevez-vous une nouvelle intégration MFA externe, vous devez envisager et définir deux composants clés dans IBM® Verify.
- Fournisseur MFA
- Configuration représentant la projection publique Verify d'une intégration de fournisseur MFA externe. Lors de l'exécution, ce composant agit en tant que client API. Les requêtes et les réponses sont transmises via un webhook en temps réel.
- Webhook en temps réel
- Fournit la connexion Internet authentifiée sécurisée et le client HTTPS à un fournisseur MFA externe cible. Désignez le webhook en tant que point d'application de contrat d'API. Le webhook sert de médiateur pour la demande et les réponses envoyées entre le composant interne de Verify et le fournisseur MFA externe cible.
Informations sur le fournisseur MFA
Un fournisseur MFA Verify représente la conceptualisation Verify d'un fournisseur MFA externe. Il définit les fonctions de facteur MFA qui sont exposées et la façon dont les utilisateurs Verify sont identifiés et résolus dans le fournisseur MFA cible. L'exemple suivant illustre une configuration de fournisseur MFA.
{
"name": "The Provider Name",
"description": "ISV - External Provider Integration",
"enabled": true,
"credentialPrefix": "emfa",
"webhookId": "{{webhook.id}}",
"uniqueNameAttribute": "{{unique.name.attribute}}",
"capabilities": [
"mobile_otp",
"mobile_bio",
"custom_totp"
]
}Le tableau suivant présente les attributs de configuration de clé.
| Attribut de configuration | Descriptif |
|---|---|
name |
Nom usuel abrégé du fournisseur MFA connu dans Verify. |
description |
Brève description du fournisseur. |
enabled |
Indique si le fournisseur est activé lors de l'exécution. Lorsque la valeur est 'true', le fournisseur est considéré comme disponible pour les demandes d'authentification MFA. |
credentialPrefix |
Un préfixe court ajouté à chaque fonction de facteur à et qui est référencé par les évaluations de stratégie d'accès. Cette valeur doit être unique pour tous les fournisseurs d'authentification multi-facteur configurés dans votre titulaire Verify. Dans Verify, un facteur MFA externe est identifié sous la forme {credentialPrefix}:{capability}.Remarque : cette valeur ne doit pas contenir de deux-points ( .:). |
webhookId |
L'UUID Verify de configuration de l'instance de configuration du webhook en temps réel qui sert de support et qui est associée au fournisseur d'authentification multifactorielle. |
uniqueNameAttribute |
Nom d'un attribut standard ou personnalisé Verify configuré dans le titulaire Verify. Cet attribut fournit un mappage depuis l'utilisateur Verify authentifié vers l'utilisateur du fournisseur MFA externe. La valeur est utilisée pour rechercher un utilisateur spécifique et ses inscriptions et fonctions MFA dans le fournisseur MFA cible. |
| fonctions | Liste d'une ou plusieurs fonctions de facteur MFA qui doivent être exposées depuis Verify et prises en charge par le fournisseur MFA externe. Les valeurs sont des chaînes et peuvent correspondre à toute chaîne de caractères valide. Le comportement d'exécution d'une fonctionnalité doit pouvoir être mappé au modèle de consultation d'inscription et à un autre modèle de demande d'authentification d'exécution. |
Informations sur le webhook
Une configuration de webhook en temps réel doit être associée à une configuration de fournisseur d'authentification multifactorielle. Le webhook en temps réel assure l'intégration technique en exécution entre l'éditeur de logiciels indépendant (ISV) et le service du fournisseur d'authentification multifactorielle (MFA) cible. Idéalement, le webhook est aussi le point où le contrat MFA externe est appliqué et agit donc comme un médiateur d'API et de protocole entre ISV et le fournisseur MFA cible. Les mécanismes clés par lesquels les webhooks prennent en charge la capacité à appliquer le contrat d'API et la médiation sont les "ressources" et les "transformations". Pour la prise en charge et l'intégration MFA externe, la définition de "ressources" doit correspondre au contrat d'API MFA externe ISV.
{
"name": "Some MFA Provider",
"type": "realtime",
"urls": ["https://some.address.com"],
"authentication": {
"type": "oauth",
"oauth": {
"client_id": "some_client_id",
"client_secret": "some_client_secret",
"token_endpoint": "https://some.address.com/token",
"token_endpoint_auth_method": "client_secret_basic"
}
},
"resources": {
"enrollments": {
"suffix": "/v1/enrollments",
"method": "GET",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"initiate": {
"suffix": "/v1/mfa",
"method": "POST",
"expectedStatus": [201]
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"validate": {
"suffix": "/v1/mfa",
"method": "POST",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"custom_totp_1": {
"suffix": "/v1/mfa",
"method": "POST",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
},
"result": {
"suffix": "/v1/mfa/transactions",
"method": "GET",
"transform": {
"outgoing": (CEL TRANSFORM),
"incoming": (CEL TRANSFORM)
}
}
},
"purpose": ["external_mfa"]
}| Attribut | Descriptif |
|---|---|
suffix |
Facultatif. Suffixe à ajouter à l'URL de base utilisée dans la demande sortante. Les demandes sortantes provenant d'une ressource de webhook sont dirigées vers base URL + suffix. Aucune barre oblique n'est ajoutée au-delà de ce qui est défini dans la configuration. L'URL de demande sortante peut être modifiée en utilisant une transformation sortante. Par exemple, dans l'exemple enrollments précédent, les composants ISV Webhooks commencent par le noeud final d'API https://some.address.com/v1/enrollments du fournisseur MFA cible. |
method |
Facultatif. Méthode qui modifie la méthode HTTP sortante depuis POST vers tout ce qui est spécifié. Méthode HTTP utilisée pour démarrer le noeud final d'API. Valeurs admises : POST, PUT, GET, DELETE, PATCH. La méthode peut être modifiée avec une transformation sortante. |
transform.outgoing |
Facultatif. Définit les transformations de données appliquées aux demandes sortantes avant leur envoi. Les transformations ont accès aux éléments de demande suivants, comme ils sont envoyés depuis l'infrastructure MFA interne ISV : body, headers, http
method, path, host. |
transform.incoming |
Facultatif. Définit les transformations de données appliquées aux réponses entrantes avant le retour à l'infrastructure MFA ISV. Les transformations ont accès aux éléments de de demande suivants, comme ils sont envoyés depuis de l'infrastructure MFA interne ISV : body, headers, status_code, request (la demande d'origine qui produit la réponse actuelle). |
exepctedStatus |
Facultatif. Il s'agit du statut de l' HTTP ation attendu de l'API lancée par ce webhook. Si l'attribut n'est pas présent, un code de statut dans la plage 200 à 299 est attendu. Le statut attendu est vérifié avant l'exécution de la transformation entrante. Consultez l'état de l' HTTP. |
| Réponse | Définition |
|---|---|
| EN ATTENTE | L'authentification n'est pas encore terminée. |
| SUCCESS | L'authentification a réussi. |
| ECHEC | L'authentification a échoué. |
| CANCELED | L'authentification n'a pas abouti car une entité a annulé la tentative. |
| TIMEOUT | L'authentification n'a pas abouti car le délai d'attente a été dépassé. |
| Ressource de webhook | Modèle | Descriptif |
|---|---|---|
enrollments |
consultation d'inscription | Cette ressource est démarrée par le client MFA interne ISV lorsqu'elle répond à une demande de recherche des fonctions et inscriptions MFA d'un utilisateur spécifique. Cette ressource est généralement nécessaire quand ISV présente à l'utilisateur une sélection d'options de facteur MFA dans le cadre d'une demande d'authentification MFA d'exécution. |
{{mfa_capability_name}}_1 |
initiate - sms, otpou
|
Cette ressource est démarrée en tant que préférence client MFA ISV lorsque le nom du facteur MFA correspond à l'attribut {{mfa_capability_name}}.Elle est utilisée pour lancer une demande d'authentification MFA si le modèle de fonctionnalité est |
{{mfa_capability_name}}_2 |
initiate + validate - sms, otp |
Cette ressource est démarrée en tant que préférence client MFA ISV lorsque le nom du facteur MFA correspond à l'attribut {{mfa_capability_name}}. Elle est utilisée pour valider une demande d'authentification MFA. |
initiate |
initiate + validate - sms, otp)ou initiate + wait for
completion - mobile push |
Cette ressource est utilisée pour lancer une demande d'authentification MFA si aucune ressource spécifique à la fonction de facteur n'est définie. |
validate |
initiate - sms, otp |
Cette ressource est utilisée pour valider une demande d'authentification MFA si aucune ressource spécifique à la fonction de facteur n'est définie. |
result |
initiate + wait for completion - mobile push |
Cette ressource est utilisée pour connaître l'état d'achèvement après le démarrage de la demande d'authentification MFA. Nécessite généralement qu'une réponse de démarrage antérieure renvoie un identificateur de transaction, d'autres données d'état ou un descripteur. |