Adaptive Risikoanalyse für benutzerdefinierte Clientanwendungen
Kunden, die in die Cloud wechseln, können die adaptiven Funktionen der IAM-Identitätsdomain nutzen, um risikobasierte Analysen für ihr On-Premises-Zugriffsmanagementsystem wie Oracle Access Manager (OAM) oder Clientanwendungen zu erfüllen.
Identitätsdomains bieten eine adaptive REST-API-Schnittstelle, mit der diese On-Premise-Zugriffsverwaltungssysteme oder Clientanwendungen eine risikobasierte Engine der Identitätsdomain verwenden können, um Authentifizierungsaktivitäten für Benutzer zu bewerten.
Beispiel: John Doe ist ein Benutzer im OAM-Identitätsspeicher und in einer Identitätsdomain. John greift auf eine Finanzanwendung zu, die durch OAM geschützt ist. Der OAM-Server leitet ihn zur Authentifizierung zur OAM-Anmeldeseite um. John Doe gibt seine Zugangsdaten weiter. Basierend auf dem Risikoscore, der von der adaptiven risikobasierten Engine der Identitätsdomain zurückgegeben wird, kann der OAM-Server den Benutzer mit einem zweiten Faktor herausfordern. Wenn der Risikoscore hoch ist, kann OAM den Zugriff auf John verweigern und ihm eine Meldung mit dem Hinweis übermitteln, dass sein Versuch, sich anzumelden, fehlgeschlagen ist.
-
Risiko auffüllen:
/admin/v1/sdk/adaptive/PopulateRisks
-
Risikoinformationen abrufen:
/admin/v1/sdk/adaptive/FetchRisks
-
Risiko mindern:
/admin/v1/sdk/adaptive/MitigateRisks
Informationen zum Abrufen eines Zugriffstokens finden Sie unter REST-API mit OAuth 2 aufrufen.
Die adaptive REST-API-Schnittstelle erfordert, dass die Clientanwendung Informationen wie Benutzeridentifizierung, Informationen des Geräts, das der Benutzer für die Anmeldung verwendet, und die echte IP-Adresse des Clients sendet.
Um Geräteinformationen zu erfassen, die Ihr Zugriffsverwaltungssystem benötigt, verwenden Sie eine JavaScript-Datei mit Gerätefingerabdruck. Sie können die Datei mit dem Gerätefingerprint JavaScript von der Identitätsdomainkonsole herunterladen.
- Melden Sie sich als Anwendungsadministrator bei der Identitätsdomainkonsole an.
- Blenden Sie die Navigationsleiste ein, wählen Sie Einstellungen und dann Downloads aus.
- Laden Sie auf der Seite Downloads das Identity Cloud Service-Dienstprogramm für Gerätefingerprinting herunter.
Die heruntergeladene Datei ist eine komprimierte (ZIP) Datei. Innerhalb der ZIP-Datei befindet sich eine JavaScript-Datei, die von der Anmeldeseite des Zugriffsverwaltungssystems oder der Clientanwendung selbst geladen werden muss, um Fingerprintinformationen zu erfassen. Verwenden Sie dann die Funktion getFingerprint()
, um den Gerätefingerprint des Benutzers zu erfassen und an die adaptive REST-API-Schnittstelle der Identitätsdomains zu senden.
Siehe auch Zugriff für ein unbekanntes Geräteereignis für eine benutzerdefinierte Anmeldeseite aktivieren.
Risiko auffüllen
Dieser Endpunkt wird verwendet, um Risikodaten an eine Identitätsdomain weiterzuleiten, um den Risikoscore des Benutzers zu erhöhen.
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"
}
Das Attribut event
ist optional. Wenn die Anforderung nicht vorhanden ist, werden alle Risikoereignisse zur Bewertung des Risikoscores verwendet. Sie können MAX_MFA_FAILED_ATTEMPTS
- oder MAX_PASSWORD_FAILED_ATTEMPTS
-Werte verwenden.
10.11.12.13
beim Zugriffsmanagementsystem anzumelden. Der Gerätefingerprint und die IP-Adresse werden anhand aller aktivierten Risikoereignisse in einer Identitätsdomain validiert. 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"
}
]
}
Risikoinformationen abrufen
Mit diesem Endpunkt können Clients aktuelle Risikoinformationen für einen einzelnen Benutzer, mehrere Benutzer oder für alle Benutzer in einer Identitätsdomain abrufen.
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
}
Risiko mindern
Mit diesem Endpunkt können Clientanwendungen die Risikominderung eines Benutzers anfordern, weil sich der Benutzer erfolgreich angemeldet oder sein Kennwort zurückgesetzt hat.
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
des Anforderungstextes kann mehrere Werte empfangen:- Für eine erfolgreiche Benutzeranmeldung geben Sie
SSO_THREAT_MITIGATION_SUCCESS
an. - Um das Benutzerkennwort erfolgreich zurückzusetzen, geben Sie
ADMIN_ME_PASSWORD_CHANGE_SUCCESS
an.
10.11.12.13
erfolgreich beim Zugriffsmanagementsystem angemeldet hat. 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"
}
]
}