Analyse adaptative des risques pour les applications client personnalisées
Les clients qui passent au cloud peuvent tirer parti des fonctionnalités adaptatives du domaine d'identité IAM pour répondre à l'analyse basée sur les risques de leur système de gestion des accès sur site, tel qu'Oracle Access Manager (OAM) ou des applications client.
Les domaines d'identité fournissent une interface d'API REST adaptative pour permettre à ces systèmes de gestion des accès sur site ou à ces applications client d'utiliser un moteur basé sur les risques de domaine d'identité pour évaluer les activités d'authentification des utilisateurs.
Par exemple, John Doe est un utilisateur dans la banque d'identités OAM et dans un domaine d'identité. John accède à une application financière protégée par OAM. Le serveur OAM le redirige vers la page de connexion OAM pour authentification. John Doe soumet ses informations d'identification et, sur la base du score de risque renvoyé par le moteur adaptatif basé sur le risque du domaine d'identité, le serveur OAM peut contester l'utilisateur avec un deuxième facteur. Si le score de risque est élevé, OAM peut refuser l'accès à John et lui présenter un message indiquant que sa tentative de connexion a échoué.
-
Remplir le risque :
/admin/v1/sdk/adaptive/PopulateRisks -
Extraire les informations sur le risque :
/admin/v1/sdk/adaptive/FetchRisks -
atténuer les risques :
/admin/v1/sdk/adaptive/MitigateRisks
Pour obtenir un jeton d'accès, reportez-vous à Utilisation de OAuth 2 pour accéder à l'API REST.
L'interface API REST adaptative nécessite que l'application client envoie des informations telles que l'identification de l'utilisateur, les informations de l'appareil que l'utilisateur utilise pour se connecter et la véritable adresse IP du client.
Pour collecter les informations de périphérique dont votre système de gestion des accès a besoin pour utiliser un fichier JavaScript d'empreinte de périphérique. Vous pouvez télécharger le fichier JavaScript d'empreinte de périphérique à partir de la console du domaine d'identité.
- Connectez-vous à la console de domaine d'identité en tant qu'administrateur d'application.
- Développez le volet de navigation, sélectionnez Paramètres, puis Téléchargements.
- Sur la page Téléchargements, téléchargez l'utilitaire d'empreinte d'appareil Identity Cloud Service.
Le fichier que vous téléchargez est un fichier compressé (zip). Le fichier ZIP contient un fichier JavaScript que la page de connexion au système de gestion des accès ou l'application client elle-même doit charger pour collecter les informations d'empreinte. Utilisez ensuite la fonction getFingerprint() pour collecter l'empreinte d'appareil de l'utilisateur à envoyer à l'interface d'API REST adaptative des domaines d'identité.
Voir aussi Activer l'accès à un événement d'appareil inconnu pour une page de connexion personnalisée.
Renseigner le risque
Cette adresse permet de soumettre des données de risque à un domaine d'identité afin d'augmenter le score de risque de l'utilisateur.
curl -k -X POST 'https://<domainURL>/admin/v1/sdk/adaptive/PopulateRisks'
-H 'Authorization: Bearer <Access_Token>'
-H 'Accept:application/json'
-d '<Request_Body>'{
"userName": "<User_Name>",
"data": [
{
"name": "device",
"value": "<result_of_the_devicefingerprint_javascript_file>"
},
{
"name": "client-ip",
"value": "<ip_address_of_the_user_browser>"
}
],
"event": "MAX_PASSWORD_FAILED_ATTEMPTS"
}L'attribut event est facultatif. Si aucun événement de risque n'est présent dans la demande, tous les événements de risque seront utilisés pour évaluer le score de risque. Vous pouvez utiliser les valeurs MAX_MFA_FAILED_ATTEMPTS ou MAX_PASSWORD_FAILED_ATTEMPTS.
10.11.12.13. L'empreinte de l'appareil et l'adresse IP seront validées par rapport à tous les événements de risque activés dans un domaine d'identité. curl -k -X POST https://<domainURL>/v1/sdk/adaptive/PopulateRisks \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Access_Token>' \
-d '{
"userName": "johndoe@example.com",
"data": [
{
"name": "device",
"value": "{\"currentTime\":\"Wed Nov 13 2019 16:57:34 GMT-0700 (Pacific Daylight Time)\",\"screenWidth\":1920,\"screenHeight\":1080,\"screenColorDepth\":24,\"screenPixelDepth\":24,\"windowPixelRatio\":1,\"language\":\"en-US\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0\"}"
},
{
"name": "client-ip",
"value": "10.11.12.13"
}
]
}'{
"userName": "johndoe@example.com",
"riskLevel": "LOW",
"riskScores": [
{
"lastUpdateTimestamp": "2022-11-12T10:41:57.997Z",
"score": 15,
"riskLevel": "LOW",
"value": "ORACLE_IDCS",
"status": "ACTIVE",
"source": "Default Risk Provider",
"$ref": "https://<domainURL>/admin/v1/RiskProviderProfiles/ORACLE_IDCS"
}
]
}Extraire les informations de risque
Cette adresse permet aux clients d'obtenir des informations à jour sur les risques pour un seul utilisateur, plusieurs utilisateurs ou pour tous les utilisateurs d'un domaine d'identité.
curl -k -X POST 'https://<domainURL>/admin/v1/sdk/adaptive/FetchRisks' -H 'Authorization: Bearer <Access_Token>' -H 'Accept:application/json' -d '<Request_Body>'
{
"userNames": [
"<user_name>"
]
}{
"userNames": [
"<user_name_1>",
"<user_name_2>"
]
}{} curl -k -X POST https://<domainURL>/admin/v1/sdk/adaptive/FetchRisks \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer <Access_Token>' \
-d '{
"userNames": [
"johndoe@example.com"
]
}'{
"totalResults": 1,
"resources": [
{
"userName": "johndoe@example.com",
"riskLevel": "LOW",
"riskScores": [
{
"lastUpdateTimestamp": "2022-11-13T18:41:57.997Z",
"score": 15,
"riskLevel": "LOW",
"value": "ORACLE_IDCS",
"status": "ACTIVE",
"source": "Default Risk Provider",
"$ref": "https://<domainURL>/admin/v1/RiskProviderProfiles/ORACLE_IDCS"
}
]
}
],
"startIndex": 1,
"itemsPerPage": 50
}Limiter les risques
Cette adresse permet aux applications client de demander une réduction du score de risque d'un utilisateur car l'utilisateur s'est connecté ou a réinitialisé son mot de passe.
curl -k
-X POST 'https://<domainURL>/admin/v1/sdk/adaptive/MitigateRisks'
-H 'Authorization: Bearer <Access_Token>'
-H 'Accept:application/json'
-d '<Request_Body>'{
"userName": "<User_Name>",
"data": [
{
"name": "device",
"value": "<result_of_the_devicefingerprint_javascript_file>"
},
{
"name": "client-ip",
"value": "<ip_address_of_the_user_browser>"
}
],
"event": "SSO_THREAT_MITIGATION_SUCCESS"
}event du corps de la demande peut recevoir plusieurs valeurs :- Pour une connexion utilisateur réussie, indiquez
SSO_THREAT_MITIGATION_SUCCESS. - Pour que le mot de passe utilisateur soit réinitialisé, indiquez
ADMIN_ME_PASSWORD_CHANGE_SUCCESS.
10.11.12.13. curl -X POST \
https://<domainURL>/admin/v1/sdk/adaptive/MitigateRisks \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Access_Token>' \
-d '{
"userName": "johndoe@example.com",
"data": [
{
"name": "device",
"value": "{\"currentTime\":\"Thu Nov 14 2019 10:11:18 GMT-0700 (Pacific Daylight Time)\",\"screenWidth\":1440,\"screenHeight\":900,\"screenColorDepth\":24,\"screenPixelDepth\":24,\"windowPixelRatio\":2,\"language\":\"en-US\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36\"}"
},
{
"name": "client-ip",
"value": "10.11.12.13"
}
],
"event": "SSO_THREAT_MITIGATION_SUCCESS"
}'{
"userName": "johndoe@example.com",
"riskLevel": "LOW",
"riskScores": [
{
"lastUpdateTimestamp": 1574726401582,
"score": 10,
"riskLevel": "LOW",
"providerId": "ORACLE_IDCS",
"providerStatus": "ACTIVE",
"providerDescription": "Default Risk Provider",
"reference": "https://<domainURL>/admin/v1/RiskProviderProfiles/ORACLE_IDCS"
}
]
}