Identificar e corrigir riscos usando APIs de proteção de identidade

A Proteção do Microsoft Entra ID oferece às organizações insights sobre riscos baseados em identidade e métodos para investigar e corrigir automaticamente esses riscos. Este tutorial orienta você durante o uso de APIs de Proteção de ID para identificar riscos e configurar fluxos de trabalho para confirmar comprometimentos ou habilitar a correção.

Neste tutorial, você aprenderá a usar APIs de proteção de ID para:

  • Gerar uma entrada arriscada.
  • Permita que os usuários com entradas arriscadas corrijam o status de risco com uma política de Acesso Condicional que exija autenticação multifator (MFA).
  • Impedir que um usuário entre usando uma política de Acesso Condicional.
  • Ignorar um risco para o usuário.

Pré-requisitos

Para concluir este tutorial, verifique se você tem:

  • Um locatário do Microsoft Entra com uma licença do Microsoft Entra ID P1 ou P2.
  • Acesso a um cliente de API como o Graph Explorer, conectado com uma conta que tenha a função de Administrador de Acesso Condicional.
  • As seguintes permissões delegadas: IdentityRiskEvent.Read.All, IdentityRiskyUser.ReadWrite.All, Policy.Read.All, Policy.ReadWrite.ConditionalAccess e User.ReadWrite.All.
  • Uma conta de usuário de teste para entrar em uma sessão anônima para disparar uma detecção de risco. Use uma sessão de navegação privada ou o navegador Tor. Neste tutorial, o apelido de email do usuário de teste é MyTestUser1.

Etapa 1: Disparar uma detecção de risco

Na sessão anônima do navegador, entre no centro de administração do Microsoft Entra como MyTestUser1.

Etapa 2: Listar detecções de risco

Quando MyTestUser1 entrou no centro de administração do Microsoft Entra usando o navegador anônimo, um anonymizedIPAddress evento de risco foi detectado. Você pode usar o $filter parâmetro de consulta para obter apenas as detecções de risco associadas à conta de usuário MyTestUser1 . Pode levar alguns minutos para que o evento seja retornado.

Solicitação

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

Resposta

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
        }
      }
    }
  ]
}

Etapa 3: Criar uma política de acesso condicional

As políticas de Acesso Condicional permitem que os usuários corrijam automaticamente quando um risco é detectado, permitindo que eles acessem recursos com segurança após concluir o prompt da política. Nesta etapa, você criará uma política de Acesso Condicional que exige que os usuários entrem usando a MFA se ocorrer uma detecção de risco médio ou alto.

Configurar a autenticação multifator

Ao configurar uma conta para MFA, escolha o melhor método de autenticação para sua situação.

  1. Entre no site Mantenha sua conta segura usando a conta MyTestUser1 .
  2. Conclua o procedimento de configuração de MFA usando o método adequado para sua situação, como usar o aplicativo Microsoft Authenticator.

Criar a política de Acesso Condicional

A política de Acesso Condicional permite que você defina condições para identificar os níveis de risco de entrada. Os níveis de risco podem ser low, medium, highou none. O exemplo a seguir mostra como exigir a MFA para entradas com níveis de risco médio e alto.

Solicitação

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" 
    ] 
  } 
} 

Resposta

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": [] 
  } 
} 

Etapa 4: disparar outra entrada arriscada, mas concluir a autenticação multifator

Ao entrar no navegador anônimo, um risco é detectado, mas você pode corrigi-lo concluindo a MFA.

Entre no entra.microsoft.com usando a conta MyTestUser1 e conclua o processo de MFA.

Etapa 5: Listar detecções de risco

Execute novamente a solicitação na Etapa 2 para obter a detecção de risco mais recente para a conta de usuário MyTestUser1 . Como a MFA foi concluída na Etapa 4, o riskState para este último evento de entrada agora remediatedé .

[Opcional] Impedir que o usuário entre

Se você preferir bloquear usuários associados a entradas arriscadas em vez de permitir a autocorreção, crie uma nova política de Acesso Condicional. Essa política impedirá que os usuários entrem se ocorrer uma detecção de risco médio ou alto. A principal diferença em relação à política na Etapa 3 é que o builtInControls agora está definido como block.

Solicitação

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"
    ]
  }
}

Resposta

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": []
  }
}

Com essa política de Acesso Condicional em vigor, a conta MyTestUser1 agora está bloqueada para entrar devido a um nível de risco de entrada médio ou alto.

Entrada bloqueada

Etapa 6: Ignorar usuários suspeitos

Se você acredita que o usuário não está em risco e não deseja impor uma política de Acesso Condicional, ignore manualmente o usuário de risco, conforme mostrado na solicitação a seguir. A solicitação retorna uma 204 No Content resposta.

Solicitação

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

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

Depois de dispensar o usuário de risco, você pode executar novamente a solicitação na Etapa 2 e notará que a conta de usuário MyTestUser1 agora tem um nível de risco e none um riskState de dismissed.

Etapa 7: Limpar recursos

Nesta etapa, exclua as duas políticas de Acesso Condicional que você criou. A solicitação retorna uma 204 No Content resposta.

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