Compartir a través de


Identificación y corrección de riesgos mediante las API de protección de identidades

Protección de Microsoft Entra ID ofrece a las organizaciones información sobre los riesgos y métodos basados en identidades para investigar y corregir automáticamente estos riesgos. Este tutorial le guía por el uso de LAS API de id. protection para identificar riesgos y configurar flujos de trabajo para confirmar los riesgos o habilitar la corrección.

En este tutorial, aprenderá a usar las API de id. protection para:

  • Genere un inicio de sesión de riesgo.
  • Permitir que los usuarios con inicios de sesión de riesgo corrijan el estado de riesgo con una directiva de acceso condicional que requiera autenticación multifactor (MFA).
  • Impedir que un usuario inicie sesión con una directiva de acceso condicional.
  • Descartar un riesgo de usuario.

Requisitos previos

Para completar este tutorial, asegúrese de que tiene lo siguiente:

  • Un inquilino Microsoft Entra con una licencia Microsoft Entra ID P1 o P2.
  • Acceso a un cliente de API como Graph Explorer, que ha iniciado sesión con una cuenta que tiene el rol de administrador de acceso condicional .
  • Los siguientes permisos delegados: IdentityRiskEvent.Read.All, IdentityRiskyUser.ReadWrite.All, Policy.Read.All, Policy.ReadWrite.ConditionalAccess y User.ReadWrite.All.
  • Una cuenta de usuario de prueba para iniciar sesión en una sesión anónima para desencadenar una detección de riesgos. Use una sesión de exploración privada o el explorador Tor. En este tutorial, el alias de correo de usuario de prueba es MyTestUser1.

Paso 1: Desencadenar una detección de riesgos

En la sesión del explorador anónimo, inicie sesión en el centro de administración de Microsoft Entra como MyTestUser1.

Paso 2: Enumerar detecciones de riesgos

Cuando MyTestUser1 inició sesión en el Centro de administración Microsoft Entra mediante el explorador anónimo, se detectó un anonymizedIPAddress evento de riesgo. Puede usar el parámetro de $filter consulta para obtener solo las detecciones de riesgo asociadas a la cuenta de usuario MyTestUser1 . El evento puede tardar unos minutos en devolverse.

Solicitud

GET https://graph.microsoft.com/v1.0/identityProtection/riskDetections?$filter=userDisplayName eq 'MyTestUser1'

Respuesta

HTTP/1.1 20O OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#riskDetections",
  "value": [
    {
      "id": "d52a631815aaa527bf642b196715da5cf0f35b6879204ea5b5c99b21bd4c16f4",
      "requestId": "06f7fd18-b8f1-407d-86a3-f6cbe3a4be00",
      "correlationId": "2a38abff-5701-4073-a81e-fd3aac09cba3",
      "riskType": "anonymizedIPAddress",
      "riskEventType": "anonymizedIPAddress",
      "riskState": "atRisk",
      "riskLevel": "medium",
      "riskDetail": "none",
      "source": "IdentityProtection",
      "detectionTimingType": "realtime",
      "activity": "signin",
      "tokenIssuerType": "AzureAD",
      "ipAddress": "178.17.170.23",
      "activityDateTime": "2020-11-03T20:51:34.6245276Z",
      "detectedDateTime": "2020-11-03T20:51:34.6245276Z",
      "lastUpdatedDateTime": "2020-11-03T20:53:12.1984203Z",
      "userId": "4628e7df-dff3-407c-a08f-75f08c0806dc",
      "userDisplayName": "MyTestUser1",
      "userPrincipalName": "MyTestUser1@contoso.com",
      "additionalInfo": "[{\"Key\":\"userAgent\",\"Value\":\"Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0\"}]",
      "location": {
        "city": "Chisinau",
        "state": "Chisinau",
        "countryOrRegion": "MD",
        "geoCoordinates": {
          "latitude": 47.0269,
          "longitude": 28.8416
        }
      }
    }
  ]
}

Paso 3: Crear una directiva de acceso condicional

Las directivas de acceso condicional permiten a los usuarios corregirse automáticamente cuando se detecta un riesgo, lo que les permite acceder de forma segura a los recursos después de completar la solicitud de directiva. En este paso, creará una directiva de acceso condicional que requiere que los usuarios inicien sesión con MFA si se produce una detección de riesgo medio o alto.

Configurar la autenticación multifactor

Al configurar una cuenta para MFA, elija el mejor método de autenticación para su situación.

  1. Inicie sesión en el sitio de protección de la cuenta mediante la cuenta MyTestUser1 .
  2. Complete el procedimiento de configuración de MFA con el método adecuado para su situación, como el uso de la aplicación Microsoft Authenticator.

Cree la directiva de acceso condicional

La directiva de acceso condicional permite establecer condiciones para identificar los niveles de riesgo de inicio de sesión. Los niveles de riesgo pueden ser low, medium, higho none. En el ejemplo siguiente se muestra cómo requerir MFA para los inicios de sesión con niveles de riesgo medio y alto.

Solicitud

POST https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies 
Content-type: application/json
 
{ 
  "displayName": "Policy for risky sign-in", 
  "state": "enabled", 
  "conditions": { 
    "signInRiskLevels": [ 
      "high", 
      "medium" 
    ], 
    "applications": { 
      "includeApplications": ["All"]
    }, 
    "users": { 
      "includeUsers": [ 
        "4628e7df-dff3-407c-a08f-75f08c0806dc" 
      ] 
    } 
  }, 
  "grantControls": { 
    "operator": "OR", 
    "builtInControls": [ 
      "mfa" 
    ] 
  } 
} 

Respuesta

HTTP/1.1 201 Created
Content-type: application/json

{ 
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/conditionalAccess/policies/$entity", 
  "id": "9ad78153-b1f8-4714-adc1-1445727678a8", 
  "displayName": "Policy for risky sign-in", 
  "createdDateTime": "2020-11-03T20:56:38.6210843Z", 
  "modifiedDateTime": null, 
  "state": "enabled", 
  "sessionControls": null, 
  "conditions": { 
    "signInRiskLevels": [ 
      "high", 
      "medium" 
    ], 
    "clientAppTypes": [  
      "all"  
    ], 
    "platforms": null, 
    "locations": null, 
    "applications": { 
      "includeApplications": [ 
        "All" 
      ], 
      "excludeApplications": [], 
      "includeUserActions": [] 
    }, 
    "users": { 
      "includeUsers": [ 
        "4628e7df-dff3-407c-a08f-75f08c0806dc" 
      ], 
      "excludeUsers": [], 
      "includeGroups": [], 
      "excludeGroups": [], 
      "includeRoles": [], 
      "excludeRoles": [] 
    } 
  }, 
  "grantControls": { 
    "operator": "OR", 
    "builtInControls": [ 
      "mfa" 
    ], 
    "customAuthenticationFactors": [], 
    "termsOfUse": [] 
  } 
} 

Paso 4: Desencadenar otro inicio de sesión de riesgo pero completar la autenticación multifactor

Al iniciar sesión en el explorador anónimo, se detecta un riesgo, pero se corrige completando MFA.

Inicie sesión en entra.microsoft.com con la cuenta MyTestUser1 y complete el proceso de MFA.

Paso 5: Enumerar detecciones de riesgo

Vuelva a ejecutar la solicitud en el paso 2 para obtener la detección de riesgos más reciente para la cuenta de usuario MyTestUser1 . Dado que MFA se completó en el paso 4, riskState para este evento de inicio de sesión más reciente ahora remediatedes .

[Opcional] Impedir que el usuario inicie sesión

Si prefiere bloquear los usuarios asociados a inicios de sesión de riesgo en lugar de permitir la corrección automática, cree una nueva directiva de acceso condicional. Esta directiva impedirá que los usuarios inicien sesión si se produce una detección de riesgo medio o alto. La diferencia clave con respecto a la directiva del paso 3 es que builtInControls ahora está establecido en block.

Solicitud

POST https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies
Content-type: application/json

{
  "displayName": "Policy for risky sign-in block access",
  "state": "enabled",
  "conditions": {
    "signInRiskLevels": [
      "high",
      "medium"
    ],
    "applications": {
      "includeApplications": ["All"]
    },
    "users": {
      "includeUsers": [
        "4628e7df-dff3-407c-a08f-75f08c0806dc"
      ]
    }
  },
  "grantControls": {
    "operator": "OR",
    "builtInControls": [
      "block"
    ]
  }
}

Respuesta

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identity/conditionalAccess/policies/$entity",
  "id": "9ad78153-b1f8-4714-adc1-1445727678a8",
  "displayName": "Policy for risky sign-in block access",
  "createdDateTime": "2020-11-03T20:56:38.6210843Z",
  "modifiedDateTime": null,
  "state": "enabled",
  "sessionControls": null,
  "conditions": {
    "signInRiskLevels": [
      "high",
      "medium"
    ],
    "clientAppTypes": [ 
      "all" 
    ],
    "platforms": null,
    "locations": null,
    "applications": {
      "includeApplications": [
        "All"
      ],
      "excludeApplications": [],
      "includeUserActions": []
    },
    "users": {
      "includeUsers": [
        "4628e7df-dff3-407c-a08f-75f08c0806dc"
      ],
      "excludeUsers": [],
      "includeGroups": [],
      "excludeGroups": [],
      "includeRoles": [],
      "excludeRoles": []
    }
  },
  "grantControls": {
    "operator": "OR",
    "builtInControls": [
      "block"
    ],
    "customAuthenticationFactors": [],
    "termsOfUse": []
  }
}

Con esta directiva de acceso condicional en vigor, la cuenta MyTestUser1 ahora está bloqueada para iniciar sesión debido a un nivel de riesgo de inicio de sesión medio o alto.

Inicio de sesión bloqueado

Paso 6: Descartar usuarios de riesgo

Si cree que el usuario no está en riesgo y no quiere aplicar una directiva de acceso condicional, descarte manualmente al usuario de riesgo como se muestra en la siguiente solicitud. La solicitud devuelve una 204 No Content respuesta.

Solicitud

POST https://graph.microsoft.com/v1.0/identityProtection/riskyUsers/dismiss
Content-Type: application/json

{
  "userIds": [
    "4628e7df-dff3-407c-a08f-75f08c0806dc"
  ]
}

Después de descartar al usuario de riesgo, puede volver a ejecutar la solicitud en el paso 2 y observará que la cuenta de usuario MyTestUser1 ahora tiene un nivel de riesgo de none y un riskState de dismissed.

Paso 7: Limpiar los recursos

En este paso, elimine las dos directivas de acceso condicional que ha creado. La solicitud devuelve una 204 No Content respuesta.

DELETE https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/9ad78153-b1f8-4714-adc1-1445727678a8