Initiation à l'activation de l'évaluation tierce

Pour intégrer l'évaluation IBM® Verify des risques et celle des tiers, l'administrateur Verify doit configurer les composants et les frameworks suivants :

  1. Création de la configuration de webhooks
  2. Création d'une configuration d'intégration tierce
  3. Création d'un objet de stratégie d'accès avec un contrat d'API de risque tiers

Création de configuration webhooks

Une configuration de webhook en temps réel doit être associée à un fournisseur de services de gestion des risques tiers. Le webhook en temps réel assure l'intégration technique en exécution entre Verify et le service du fournisseur tiers de gestion des risques. La configuration du webhook en temps réel doit être effectuée avant que le risque lié aux tiers puisse être calculé.

Exemple de configuration fictive d'un webhook en temps réel pouvant prendre en charge le fournisseur de services de gestion des risques tiers :

{
  "name": "some name",
  "type": "realtime",
  "urls": [
    "https://somedomain.com/1351/app_proxy/api/risk"
  ],
  "authentication": {
    "header": {
      "values": [
        {
          "key": "SEC",
          "value": "some-value"
        }
      ]
    },
    "type": "header"
  }
  "purpose": [
    "external_risk"
  ],
  "notification": null
}
Remarque : si l'intégration tierce ne fournit pas la réponse au format attendu par Verify, elle peut mettre en place un service de médiation ou une passerelle API pour une conversion simple, ou utiliser des transformations via des webhooks. Pour les transformations de webhooks, consultez la documentation de l'API de configuration des webhooks.

Création de la configuration d'intégration tierce

Pour chaque intégration de risque tierce, une configuration doit être créée. Cet objet de configuration identifie les webhooks utilisés (ID webhook) et les attributs internes de Verify. Les composants internes de Verify doivent transmettre les données nécessaires à l'évaluation à la partie tierce (via des webhooks en temps réel).

L'infrastructure de la stratégie d'accès fournit un ensemble d'API, ce qui permet la création et la gestion de cette configuration.

POST '/integrations/v1.0/config' \
'Content-Type: application/json' \
'Accept: application/json' \

{
        "WebhookId": "some-Webhook-id",
        "name": "some third party integration",
        "version": 1,
        "evaluationOutboundAttributes": {
            "sessionContext": {
                ...
            },
            "attributeContext": {
                ...
            },
            "policyContext": {
                ...
            },
            "adaptiveContext": {
                ...
            }
        },
        "supportedAttributes": [],
        "integrationProcessingEndpoint": {
            "redirectUri": ""
        }
}
Détails de la demande de configuration d'intégration
Elément Descriptif
Demande HTTP POST.
En-tête HTTP - Content-Type Le type de contenu du contenu de la demande est toujours application/json.
En-tête HTTP - Accept Le type de contenu attendu du contenu de la réponse est toujours application/json.
Contenu Objet JSON représentant la configuration d'intégration tierce.
WebhookId Obligatoire : l'identifiant unique du webhook en temps réel utilisé lors de la création du fournisseur tiers.
name Obligatoire : Nom de cet objet de configuration.
version Version de l'objet de configuration.
evaluationOutboundAttributes Facultatif : Cet objet représente les données que Verify doit transmettre à l'intégration de risque tierce disponible depuis les objets de contexte pertinents, actuellement SessionContext (SubjectContext), AttributeContext, AdaptiveContext ou PolicyContext.
supportedAttributes Facultatif : Représente les attributs pour lesquels cette intégration tierce fournit des valeurs. Lors de l'orchestration du webhook, un nouvel attribut Fixed value est créé pour représenter l'attribut renvoyé. L'attribut Fixed value peut être configuré avec une valeur prédéfinie qui peut être mise à jour. Si un appel de webhooks échoue ou si cet attribut n'est pas renvoyé dans une réponse de webhooks malgré le contrat d'API, le composant interne Verify responsable de la gestion des attributs peut être appelé de la même manière que les attributs personnalisés sont renseignés lors de la phase d'exécution pour obtenir la valeur préconfigurée. Créez l'espace réservé d'attribut d'enrichissement (incluant une valeur par défaut si une exception se produit) si vous utilisez les attributs pris en charge par l'intégration de tierce partie. Voir Référence d'API de gestion des attributs.

Exemple de contenu de la réponse de configuration d'intégration :

{
        "id" : "config-id"
        "WebhookId": "some-Webhook-id",
        "referenceId": "reference-id",
        "created": "created timestamp",
        "name": "some third  integration",
        "version": 1,
        "evaluationOutboundAttributes": {
            "sessionContext": {
                ...
            },
            "attributeContext": {
                ...
            },
            "policyContext": {
                ...
            },
            "adaptiveContext": {
                ...
            }
        },
        "supportedAttributes": [],
        "integrationProcessingEndpoint": {
            "redirectUri": ""
        }
}
Détails de la réponse de configuration d'intégration
Elément Descriptif
Type de contenu Objet JSON représentant la configuration d'intégration tierce.
Code d'état HTTP 201 - Créé (réussite), 400® - Réponse incorrecte, 403 - Accès interdit, 500 - Erreur interne du serveur
id Obligatoire : Représente l'ID unique de cet objet de configuration.
referenceId Obligatoire : Représente l'ID de référence utilisé par des composants internes de Verify dans la communication avec les webhooks.
created Obligatoire : Représente l'horodatage lors de la création de cet objet de configuration.
WebhookId Obligatoire : l'identifiant unique du webhook en temps réel utilisé lors de la création du fournisseur tiers.
name Obligatoire : Nom de cet objet de configuration
version Facultatif : Version de l'objet de configuration.
evaluationOutboundAttributes Facultatif : Si les demandes d'origine ont été envoyées avec eux.
supportedAttributes Facultatif : Si les demandes d'origine ont été envoyées avec eux.
integrationProcessingEndpoint Si les demandes d'origine ont été envoyées avec eux.

Voir Référence d'API de configuration de gestion des risques pour plus de détails.

Un objet de configuration tiers fictif :

{
    "WebhookId": "some-Webhook-id",
    "name": "some third party integration",
    "version": 1,
    "evaluationOutboundAttributes": {
        "sessionContext": {
            "uid": true,
            "groupIds": false
        },
        "attributeContext": {
            "appId": false,
            "ipAddress": true
        },
        "policyContext": {
            "id": true,
            "policyName": true
        },
        "adaptiveContext": {
            "city": true
        }
    },
    "supportedAttributes": [],
    "integrationProcessingEndpoint": {
        "redirectUri": ""
    }
}

Création d'un objet de stratégie d'accès

L'infrastructure de stratégie d'accès dans Verify fournit un mécanisme par le biais duquel les composants internes de Verify peuvent calculer le risque externe depuis le fournisseur tiers. Les composants internes de Verify évaluent cet objet de politique d'accès et se réfèrent à la configuration d'intégration tierce créée à l'étape 2 pour envoyer des données à l'intégration tierce (via des webhooks en temps réel). De cette façon, le risque externe ou l'enrichissement des attributs peut avoir lieu.

Format permettant d'activer l'intégration de risque tierce dans l'objet de stratégie d'accès :

{
      "name": "3rd Party Risk Evaluation",
      "alwaysRun": true,
      "conditions": [ {
        "type":"integrationAttributes":,
        "id" : "<configId>"
        }]
      },
      "result": {
        "action": "ACTION_MFA_ALWAYS",
        "serverSideActions": {[]},
        "authnMethods": <["urn:ibm:security:authentication:asf:macotp"]> or <["smsotp", "emailotp", ....]>
      }
    }
Attribut de condition Descriptif
ID intégration de tierce partieconfigId intégration de tierce partie configId, voir Création de la configuration d'intégration tierce.
résultat Vérifiez le résultat de l'évaluation des risques si une erreur est détectée via les webhooks en temps réel.
authnMethods Facteurs d'authentification Verify.

Voir les API des stratégies d'accès et de risque pour la création et la gestion de stratégies.

Exemple d'objet de stratégie d'accès ayant une condition d'intégration tierce :

{
    "name": "3rd Party Integration via webhooks",
    "description": "",
    "rules": [
        {
            "id": "1",
            "name": "3rd party provider",
            "alwaysRun": true,
            "firstFactor": false,
            "conditions": [
                {
                    "type": "integrationAttributes",
                    "id": "16a1f2fb-c43f-4a0e-b294-1b25a87a9546"
                }
            ],
            "result": {
                "action": "ACTION_ALLOW",
                "serverSideActions": [],
                "authnMethods": [
                    "urn:ibm:security:authentication:asf:macotp"
                ]
            }
        },
        {
            "id": "1634292657617",
            "name": "Colour Severity",
            "description": "",
            "alwaysRun": false,
            "firstFactor": false,
            "conditions": [
                {
                    "type": "customAttributes",
                    "customAttributes": [
                        {
                            "name": "external_risk_score",
                            "opCode": "EQ",
                            "values": [
                                "4"
                            ]
                        }
                    ],
                    "firstFactor": false
                }
            ],
            "result": {
                "action": "ACTION_DENY",
                "serverSideActions": [],
                "authnMethods": []
            }
        },
        {
            "id": "1634292240488",
            "name": "Default rule",
            "description": "",
            "alwaysRun": false,
            "firstFactor": false,
            "conditions": [],
            "result": {
                "action": "ACTION_ALLOW",
                "serverSideActions": [],
                "authnMethods": [
                    "urn:ibm:security:authentication:asf:macotp"
                ]
            }
        }
    ],
    "meta": {
        "label": "initial policy",
        "state": "ACTIVE",
        "scope": [
            "developers"
        ],
        "schema": "urn:access:policy:5.0:schema",
        "enforcementType": "fedSSO"
    }
}
  • Cet objet de stratégie d'accès affiche une intégration de risque tierce dont la configuration est identifiée par la zone id.
  • Hormis integrationAttributes, la stratégie comporte également une condition customAttributes. L'attribut personnalisé external_risk_score est l'attribut dont la valeur est fournie par l'intégration de risque de partie tierce.

Une fois l'objet de politique d'accès créé, associez-le à l'application utilisateur souhaitée.