Analisi del rischio adattivo 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 o alle applicazioni client in locale di utilizzare un motore basato sui rischi 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 basato sul rischio adattivo del dominio di Identity, il server OAM potrebbe 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 che il suo tentativo di accesso non è riuscito.
-
Inserisci i rischi:
/admin/v1/sdk/adaptive/PopulateRisks
-
Recupera informazioni rischio:
/admin/v1/sdk/adaptive/FetchRisks
-
Ridurre i rischi:
/admin/v1/sdk/adaptive/MitigateRisks
L'interfaccia API REST adattiva richiede che l'applicazione client invii informazioni quali l'identificazione dell'utente, le informazioni del dispositivo utilizzato dall'utente per accedere e il vero indirizzo IP del client.
Per raccogliere le informazioni sul dispositivo necessarie per il sistema di gestione degli accessi, utilizzare un file fingerprint JavaScript. È possibile scaricare il file JavaScript dell'impronta del dispositivo dalla console del dominio di Identity.
- Eseguire l'accesso alla console del dominio di Identity come amministratore dell'applicazione.
- Espandere il cassetto di navigazione, selezionare Impostazioni, quindi selezionare Download.
- Nella pagina Download scaricare la utility per l'impronta del dispositivo 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 informazioni sulle impronte digitali. Utilizzare quindi la funzione getFingerprint()
per raccogliere l'impronta del dispositivo dell'utente da inviare all'interfaccia API REST adattiva dei domini di Identity.
Vedere anche Abilitazione dell'accesso per un evento dispositivo sconosciuto per una pagina di accesso personalizzata.
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 e l'indirizzo IP del dispositivo 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 rischio
Questo endpoint consente alle applicazioni client di richiedere la mitigazione del punteggio di rischio di un utente perché l'utente ha eseguito il login o 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 un accesso utente corretto, 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"
}
]
}