Analisi adattiva del rischio per applicazioni client personalizzate
I clienti che passano al cloud possono sfruttare le funzionalità adattive del dominio di Identity IAM per soddisfare l'analisi basata sul rischio per il proprio sistema di gestione degli accessi on-premise, come Oracle Access Manager (OAM) o le applicazioni client.
I domini di Identity forniscono un'interfaccia API REST adattiva per consentire a questi sistemi di gestione degli accessi in locale o alle applicazioni client di utilizzare un motore basato sul rischio del dominio di Identity per valutare le attività di autenticazione per gli utenti.
Ad esempio, John Doe è un utente nell'area di memorizzazione delle identità OAM e in un dominio di Identity. John accede a un'applicazione finance protetta da OAM. Il server OAM lo reindirizza alla pagina di accesso OAM per l'autenticazione. John Doe sottomette le proprie credenziali e, in base al punteggio di rischio restituito dal motore adattivo basato sul rischio del dominio di Identity, il server OAM può sfidare l'utente con un secondo fattore. Se il punteggio di rischio è alto, OAM può negare l'accesso a John e presentargli un messaggio che indica il suo tentativo di accesso non riuscito.
-
Popola rischio:
/admin/v1/sdk/adaptive/PopulateRisks -
Recupera informazioni sul rischio:
/admin/v1/sdk/adaptive/FetchRisks -
Mitigare i rischi:
/admin/v1/sdk/adaptive/MitigateRisks
L'interfaccia API REST adattiva richiede che l'applicazione client invii informazioni quali l'identificazione utente, le informazioni del dispositivo utilizzato dall'utente per eseguire l'accesso e l'indirizzo IP vero del client.
Per raccogliere le informazioni sul dispositivo necessarie al sistema di gestione degli accessi per utilizzare un file JavaScript con impronte digitali del dispositivo. È possibile scaricare il file JavaScript dell'impronta del dispositivo dalla console del dominio di Identity.
- Connettersi alla console del dominio di Identity come amministratore dell'applicazione.
- Espandere il Cassetto navigazione, selezionare Impostazioni e quindi Download.
- Nella pagina Download, scaricare la utility impronta dispositivo di Identity Cloud Service.
Il file scaricato è un file compresso (zip). All'interno del file zip c'è un file JavaScript che la pagina di accesso al sistema di gestione degli accessi o l'applicazione client stessa deve caricare per raccogliere le informazioni sull'impronta digitale. Utilizzare quindi la funzione getFingerprint() per raccogliere l'impronta del dispositivo dell'utente da inviare all'interfaccia API REST adattiva dei domini di identità.
Vedere anche Abilitazione dell'accesso per un evento dispositivo sconosciuto per una pagina di accesso personalizzato.
Popola rischio
Questo endpoint viene utilizzato per sottomettere i dati di rischio a un dominio di Identity per aumentare il punteggio di rischio dell'utente.
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'attributo event è facoltativo. Se non è presente nella richiesta, tutti gli eventi di rischio verranno utilizzati per valutare il punteggio di rischio. È possibile utilizzare i valori MAX_MFA_FAILED_ATTEMPTS o MAX_PASSWORD_FAILED_ATTEMPTS.
10.11.12.13. L'impronta digitale del dispositivo e l'indirizzo IP verranno convalidati in base a tutti gli eventi di rischio abilitati in un dominio di Identity. 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"
}
]
}Recupera informazioni rischio
Questo endpoint consente ai client di ottenere le informazioni sui rischi correnti per un singolo utente, più utenti o per tutti gli utenti in un dominio di Identity.
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
}Riduci i rischi
Questo endpoint consente alle applicazioni client di richiedere la riduzione del punteggio di rischio di un utente perché l'utente ha eseguito il login o ha reimpostato correttamente la password.
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 del corpo della richiesta può ricevere più valori:- Per eseguire correttamente l'accesso utente, fornire
SSO_THREAT_MITIGATION_SUCCESS. - Per reimpostare correttamente la password utente, fornire
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"
}
]
}