Análisis de riesgo adaptable para aplicaciones de cliente personalizadas
Los clientes que migran a la nube pueden aprovechar las capacidades adaptables del dominio de identidad de IAM para realizar análisis basados en riesgos en su sistema de gestión de acceso local, como Oracle Access Manager (OAM) o aplicaciones cliente.
Los dominios de identidad proporcionan una interfaz API de REST adaptable que permite a estos sistemas de gestión de acceso locales o aplicaciones de cliente utilizar un motor basado en riesgos de dominio de identidad para evaluar las actividades de autenticación de los usuarios.
Por ejemplo, John Doe es un usuario del almacén de identidades de OAM y de un dominio de identidad. John accede a una aplicación financiera protegida por OAM. El servidor de OAM lo redirige a la página de conexión de OAM para la autenticación. John Doe envía sus credenciales y, en función de la puntuación de riesgo devuelta por el motor basado en riesgos adaptativo del dominio de identidad, el servidor de OAM puede desafiar al usuario con un segundo factor. Si la puntuación de riesgo es alta, OAM puede denegar el acceso a John y presentarle un mensaje que indique que falló su intento de iniciar sesión.
-
Rellenar riesgo:
/admin/v1/sdk/adaptive/PopulateRisks
-
Recuperar información de riesgo:
/admin/v1/sdk/adaptive/FetchRisks
-
Mitigue riesgos:
/admin/v1/sdk/adaptive/MitigateRisks
La interfaz de API de REST adaptativa requiere que la aplicación cliente envíe información como la identificación del usuario, la información del dispositivo que el usuario utiliza para conectarse y la dirección IP verdadera del cliente.
Para recopilar información de dispositivo que el sistema de gestión de acceso necesita para utilizar un archivo JavaScript de huella de dispositivo. Puede descargar el archivo JavaScript de huella de dispositivo desde la consola del dominio de identidad.
- Inicie sesión en la consola del dominio de identidad como administrador de la aplicación.
- Expanda el Cajón de navegación, haga clic en Configuración y, a continuación, haga clic en Descargas.
- En la página Descargas, descargue la utilidad de huella de dispositivo de Identity Cloud Service.
El archivo que descarga es un archivo comprimido (zip). Dentro del archivo zip hay un archivo JavaScript que la página de conexión del sistema de gestión de acceso o la propia aplicación cliente debe cargar para recopilar información de huella. A continuación, utilice la función getFingerprint()
para recopilar la huella del dispositivo del usuario para enviarla a la interfaz de API de REST adaptativa de los dominios de identidad.
Consulte también Activación del acceso para un evento de dispositivo desconocido para una página de conexión personalizada.
Rellenar riesgo
Este punto final se utiliza para enviar datos de riesgo a un dominio de identidad para aumentar la puntuación de riesgo del usuario.
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"
}
El atributo event
es opcional. Si no está presente en la solicitud, se utilizarán todos los eventos de riesgo para evaluar la puntuación de riesgo. Puede utilizar los valores MAX_MFA_FAILED_ATTEMPTS
o MAX_PASSWORD_FAILED_ATTEMPTS
.
10.11.12.13
. La huella del dispositivo y la dirección IP se validarán con respecto a todos los eventos de riesgo activados en un dominio de identidad. 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"
}
]
}
Recuperar información de riesgo
Este punto final permite a los clientes obtener información de riesgo actual para un único usuario, varios usuarios o para todos los usuarios de un dominio de identidad.
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
}
Mitigue riesgos
Este punto final permite a las aplicaciones cliente solicitar la mitigación de la puntuación de riesgo de un usuario porque el usuario se ha conectado o ha restablecido su contraseña correctamente.
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 cuerpo de la solicitud puede recibir varios valores:- Para iniciar sesión de usuario correctamente, proporcione
SSO_THREAT_MITIGATION_SUCCESS
. - Para restablecer la contraseña de usuario correctamente, proporcione
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"
}
]
}