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

Microsoft Entra ID Protection fornece às organizações informações sobre o risco baseado em identidade e diferentes maneiras de investigar e corrigir automaticamente o risco. As APIs de Proteção de Identidade usadas neste tutorial podem ajudá-lo a identificar o risco e configurar um fluxo de trabalho para confirmar o compromisso ou habilitar a correção.

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

  • Gere uma entrada arriscada.
  • Permitir que usuários com entradas arriscadas corrijam o risco status com uma política de acesso condicional que requer MFA (autenticação multifator).
  • Bloqueie um usuário de entrar usando uma política de acesso condicional.
  • Descarte um risco de usuário.

Pré-requisitos

Para concluir este tutorial, você precisa dos seguintes recursos e privilégios:

  • Um locatário Microsoft Entra funcionando com uma licença P1 ou P2 Microsoft Entra ID.
  • Entre em um cliente de API, como o Graph Explorer com uma conta que tenha pelo menos a função administrador de acesso condicional.
  • Conceda a si mesmo as seguintes permissões delegadas: IdentityRiskEvent.Read.All, IdentityRiskyUser.ReadWrite.All, Policy.Read.All, , Policy.ReadWrite.ConditionalAccesse User.ReadWrite.All.
  • Uma conta de usuário de teste que você usa para entrar mais tarde em uma sessão anônima para disparar uma detecção de risco. Você pode usar 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 como MyTestUser1 para entra.microsoft.com.

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

{
  "@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

Você pode usar políticas de acesso condicional em sua organização para permitir que os usuários se auto-remediam quando o risco é detectado. A correção automática permite que seus usuários se desbloqueiem para acessar seus recursos com segurança depois de concluir o prompt de política. Nesta etapa, você cria uma política de acesso condicional que exige que o usuário entre usando o MFA se ocorrer uma detecção de risco médio ou alto.

Configurar a autenticação multifator

Ao configurar uma conta para MFA, você pode escolher entre vários métodos para autenticar o usuário. Escolha o melhor método para sua situação para concluir este tutorial.

  1. Entre no site manter sua conta segura usando a conta MyTestUser1 .
  2. Conclua o procedimento de instalação do MFA usando o método apropriado 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 as condições da política para identificar níveis de risco de entrada. Os níveis de risco podem ser low, medium, high, . none O exemplo a seguir mostra como exigir 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

{ 
  "@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 outro logon arriscado, mas concluir a autenticação multifator

Ao entrar no navegador anônimo, um risco foi detectado, mas você o corrigiu concluindo a MFA.

Entre no entra.microsoft.com usando a conta MyTestUser1 e conclua o processo 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] Bloquear a entrada do usuário

Em vez de fornecer a oportunidade para o usuário se auto-corrigir, você pode bloquear o usuário associado a uma entrada arriscada de entrar. Nesta etapa, você cria uma nova política de acesso condicional que impede o usuário de entrar se ocorrer uma detecção de risco médio ou alto. A diferença entre essa política e a política de visualização 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

{
  "@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á impedida de entrar porque o nível de risco de entrada é medium ou high.

Entrada bloqueada

Etapa 6: descartar usuários arriscados

Se você acredita que o usuário não está em risco e não deseja impor uma política de acesso condicional, poderá descartar manualmente o usuário arriscado. 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 descartar o usuário de risco, você pode executar novamente a solicitação na Etapa 2 e observará que a conta de usuário MyTestUser1 agora tem um nível de risco de none e um riskState de dismissed.

Etapa 7: Limpar recursos

Nesta etapa, você exclui as duas políticas de acesso condicional criadas. A solicitação retorna uma 204 No Content resposta.

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