Creare un'app per accedere a Microsoft Defender per endpoint senza un utente

Quando si usano api Microsoft Defender per endpoint, potrebbe essere necessario accedere a Microsoft Defender per endpoint senza un utente. Ad esempio, è possibile creare un servizio eseguito in background e che interagisce con Defender per endpoint per conto dell'organizzazione. Se è necessario l'accesso al servizio in background senza un utente connesso, creare un'applicazione in grado di accedere Defender per Endpoint senza un utente.

Questo articolo illustra come registrare un'applicazione in Microsoft Entra ID, concedere le autorizzazioni solo app e ottenere un token di accesso per Defender per l'accesso all'API endpoint. L'accesso api richiede il flusso di credenziali client OAuth 2.0.

Prerequisiti

Per creare una registrazione dell'app in Azure, è necessario un ruolo Microsoft Entra con autorizzazioni di registrazione delle app che consentono la creazione di app, ad esempio Amministratore applicazione.

Passaggio 1: Creare un'app in Azure

Seguire questa procedura per registrare un'app e concedergli le autorizzazioni API in Azure:

  1. Accedere al portale di Azure.

  2. Cerca Registrazioni app e passa a Registrazioni app.

  3. Selezionare Nuova registrazione.

  4. Scegliere un nome per l'applicazione e quindi selezionare Registra.

  5. Nella pagina dell'applicazione, vai a Gestisci > Autorizzazioni API > Aggiungi un'autorizzazione > API usate dalla mia organizzazione.

  6. Nella pagina Richiedi autorizzazioni API cercare WindowsDefenderATP e selezionarlo.

  7. Selezionare il tipo di autorizzazioni necessarie e quindi selezionare Aggiungi autorizzazioni.

    • Autorizzazioni delegate : accedere con l'app come se fossi un utente.

    • Autorizzazioni dell'applicazione : accedere all'API come servizio.

  8. Selezionare le autorizzazioni appropriate per l'app. Per determinare l'autorizzazione necessaria, vedere la sezione Autorizzazioni nell'API che si sta chiamando. Di seguito sono riportati due esempi:

  9. Selezionare Aggiungi autorizzazione.

Passaggio 2: Aggiungere un segreto all'app

I passaggi seguenti descrivono come autenticare l'app usando un segreto dell'app. Per autenticare l'app usando un certificato, vedere Creare un certificato pubblico autofirmato per autenticare l'applicazione.

  1. Nella pagina dell'applicazione selezionare Certificati & segreti>Nuovo segreto client.

  2. Nel riquadro Aggiungi un segreto client aggiungere una descrizione e una data di scadenza.

  3. Selezionare Aggiungi.

  4. Copiare il valore del segreto creato. Non sarà possibile recuperare questo valore dopo aver lasciato la pagina.

  5. Dalla pagina di Panoramica dell'app, copiare l'ID applicazione (client) e l'ID directory (tenant). Questo ID è necessario per autenticare l'app.

  6. Annotare l'ID dell'applicazione e l'ID del tenant. Nella pagina dell'applicazione passare a Panoramica e copiare quanto segue.

App multi-tenant

I partner di Microsoft Defender per endpoint devono configurare le proprie app come multi-tenant. Imposta l'app come app multi-tenant se prevedi di creare un'app che sarà eseguita nei tenant di più clienti.

  1. Nella pagina dell'app Azure, vai a Gestisci > Autenticazione.

  2. Aggiungere una piattaforma.

  3. Nel riquadro Configura piattaforme selezionare Web.

  4. Aggiungere https://portal.azure.com agli URI di reindirizzamento e selezionare Configura.

  5. Nelle opzioni Tipi di account supportati selezionare Account in qualsiasi directory dell'organizzazione e selezionare Salva.

Dopo aver eseguito l'app, è necessario approvarla in ogni tenant in cui si intende usarla. Questo avviene perché l'applicazione interagisce con Defender per endpoint per conto del cliente. L'utente o il cliente dovrà selezionare il collegamento di consenso e approvare l'app. Fornire il consenso a un utente con privilegi di amministratore.

Ecco come creare il collegamento di consenso. Quando un amministratore tenant visita questo URL, viene aperto il flusso di consenso Microsoft Identity Platform in modo che il tenant del cliente possa autorizzare l'app. Sostituire 00000000-0000-0000-0000-000000000000 con l'ID app.

https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true

Ottenere un token di accesso

I metodi seguenti illustrano come ottenere il token di accesso dell'app.

Consiglio

Alcune API di Microsoft Defender per endpoint continuano a richiedere token di accesso rilasciati per la risorsa legacy https://api.securitycenter.microsoft.com Se il gruppo di destinatari del token non corrisponde alla risorsa prevista dall'API, le richieste hanno esito negativo con 403 Forbidden, anche se l'endpoint dell'API usa https://api.security.microsoft.com. Usare https://api.securitycenter.microsoft.com come risorsa o ambito per l'acquisizione di token.

# This script acquires the App Context Token and stores it in the variable $token for later use.
# Paste your Tenant ID, App ID, and App Secret (App key) into the quotes below.

$tenantId = '' ### Paste your tenant ID here
$appId = '' ### Paste your Application ID here
$appSecret = '' ### Paste your Application key here

$sourceAppIdUri = 'https://api.securitycenter.microsoft.com/.default'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token"
$authBody = [Ordered] @{
    scope = "$sourceAppIdUri"
    client_id = "$appId"
    client_secret = "$appSecret"
    grant_type = 'client_credentials'
}
$authResponse = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $authBody -ErrorAction Stop
$token = $authResponse.access_token
$token