Analyse adaptative du risque pour les applications client personnalisées
Les clients qui passent au nuage peuvent tirer parti des capacités adaptatives du domaine d'identité IAM pour effectuer des analyses basées sur le risque pour leur système de gestion de l'accès sur place, comme Oracle Access Manager (OAM) ou les applications clients.
Les domaines d'identité fournissent une interface API REST adaptative permettant à ces systèmes de gestion des accès sur place ou à ces applications clients d'utiliser un moteur basé sur le risque du domaine d'identité pour évaluer les activités d'authentification des utilisateurs.
Par exemple, John Doe est un utilisateur dans le magasin 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 données d'identification et, en fonction de la note de risque retournée par le moteur adaptatif basé sur le risque du domaine d'identité, le serveur OAM peut mettre l'utilisateur au défi avec un deuxième facteur. Si la note de risque est élevée, OAM peut refuser l'accès à John et lui présenter un message indiquant que sa tentative de connexion a échoué.
-
Alimenter le risque :
/admin/v1/sdk/adaptive/PopulateRisks -
Extraire les informations sur le risque :
/admin/v1/sdk/adaptive/FetchRisks -
Augmenter les risques :
/admin/v1/sdk/adaptive/MitigateRisks
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 l'adresse IP réelle 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 numérique de périphérique. Vous pouvez télécharger le fichier d'empreinte numérique de l'appareil JavaScript à partir de la console du domaine d'identité.
- Connectez-vous à la console du domaine d'identité en tant qu'administrateur d'application.
- Développez le Tiroir de navigation, sélectionnez Paramètres, puis Téléchargements.
- Dans la page Téléchargements, téléchargez l'utilitaire d'empreinte numérique de l'appareil Identity Cloud Service.
Le fichier que vous téléchargez est un fichier compressé (zip). Dans le fichier zip, il y a 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 digitale. Utilisez ensuite la fonction getFingerprint() pour collecter l'empreinte numérique de l'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.
Alimenter le risque
Ce point d'extrémité est utilisé pour soumettre les données de risque à un domaine d'identité afin d'augmenter la note 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. S'il n'est pas présent dans la demande, tous les événements de risque seront utilisés pour évaluer la note de risque. Vous pouvez utiliser les valeurs MAX_MFA_FAILED_ATTEMPTS ou MAX_PASSWORD_FAILED_ATTEMPTS.
10.11.12.13. L'empreinte numérique et l'adresse IP de l'appareil 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 sur le risque
Ce point d'extrémité permet aux clients d'obtenir des informations de risque courantes 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
}Atténuer le risque
Ce point d'extrémité permet aux applications clients de demander l'atténuation de la note de risque d'un utilisateur, car celui-ci 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 réussie de l'utilisateur, fournissez
SSO_THREAT_MITIGATION_SUCCESS. - Pour réinitialiser le mot de passe de l'utilisateur, 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"
}
]
}