Share via


Intune Data Warehouse l'autenticazione solo applicazione

È possibile configurare un'applicazione usando Microsoft Entra ID ed eseguire l'autenticazione nel Data Warehouse di Intune. Questo processo è utile per siti Web, app e processi in background in cui l'applicazione non deve avere accesso alle credenziali utente. Seguendo questa procedura, si autorizza l'applicazione con Microsoft Entra ID usando OAuth 2.0.

Autorizzazione

Microsoft Entra ID usa OAuth 2.0 per consentire di autorizzare l'accesso ad applicazioni Web e API Web nel tenant Microsoft Entra. Questa guida illustra come autenticare l'applicazione usando C#. Il flusso del codice di autorizzazione OAuth 2.0 è descritto nella sezione 4.1 della specifica OAuth 2.0. Per altre informazioni, vedere Autorizzare l'accesso alle applicazioni Web usando OAuth 2.0 e Microsoft Entra ID.

Azure KeyVault

Il processo seguente usa un metodo privato per elaborare e convertire una chiave dell'app. Questo metodo privato è stato denominato SecureString. In alternativa, è possibile usare Azure KeyVault per archiviare la chiave dell'app. Per altre informazioni, vedere Key Vault.

Creare un'app Web

In questa sezione vengono forniti i dettagli sull'app Web a cui si vuole puntare in Intune. Un'app Web è un'applicazione client-server. Il server fornisce l'app Web, che include l'interfaccia utente, i contenuti e le funzionalità. Questo tipo di app viene gestito separatamente sul Web. Usare Intune per concedere a un'app Web l'accesso a Intune. Il flusso di dati viene avviato dall'app Web.

  1. Accedere all'interfaccia di amministrazione Microsoft Intune.

  2. Selezionare Tutti i servizi>M365 Microsoft Entra ID>Microsoft Entra ID>Registrazioni app.

  3. Fare clic su Nuova registrazione per visualizzare il riquadro Registra un'applicazione .

  4. Nel riquadro Registra un'applicazione aggiungere i dettagli dell'app:

  5. Fare clic su Registra.

    Nota

    Copiare l'ID applicazione (client) dal riquadro dell'app per usarlo in un secondo momento.

Creare una chiave (password)

In questa sezione Microsoft Entra ID genera un valore di chiave per l'app.

  1. Nel riquadro Registrazioni app selezionare l'app appena creata per visualizzare il riquadro dell'app.

  2. Selezionare Certificati & segreti nella parte superiore del riquadro per visualizzare il riquadro Certificati & segreti .

  3. Selezionare Segreti client nel riquadro Certificati & segreti .

  4. Aggiungere la chiave Description e una durata Expires per la chiave.

  5. Fare clic su Aggiungi per salvare e aggiornare le chiavi dell'applicazione.

  6. È necessario copiare il valore della chiave generato (codifica base64).

    Nota

    Il valore della chiave scompare dopo aver lasciato il riquadro Certificati & segreti . Non è possibile recuperare la chiave da questo riquadro in un secondo momento. Copiarlo per usarlo in un secondo momento.

Concedere le autorizzazioni dell'applicazione

In questa sezione vengono concesse le autorizzazioni alle applicazioni.

  1. Selezionare Autorizzazioni> APIAggiungere un'autorizzazione> Autorizzazionidell'applicazioneIntune>.
  2. Scegliere l'opzione get_data_warehouse (Ottenere informazioni sul data warehouse da Microsoft Intune).
  3. Fare clic su Aggiungi autorizzazioni.
  4. Fare clic su Fine nel riquadro Aggiungi accesso api .
  5. Fare clic su Concedi consenso amministratore nel riquadro Autorizzazioni API e fare clic su quando viene promosso per aggiornare le autorizzazioni esistenti già disponibili per l'applicazione.

Generare un token

Usando Visual Studio, creare un progetto app console (.NET Framework) che supporti .NET Framework e usi C# come linguaggio di codifica.

  1. Selezionare File>nuovo>progetto per visualizzare la finestra di dialogo Nuovo progetto .

  2. A sinistra selezionare Visual C# per visualizzare tutti i progetti .NET Framework.

  3. Selezionare App console (.NET Framework), aggiungere un nome di app e quindi fare clic su OK per creare l'app.

  4. In Esplora soluzioni selezionare Program.cs per visualizzare il codice.

  5. In Esplora soluzioni aggiungere un riferimento all'assembly System.Configuration.

  6. Nel menu a comparsa selezionare Aggiungi>nuovo elemento. Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento .

  7. A sinistra, in Visual C# selezionare Codice.

  8. Selezionare Classe, modificare il nome della classe in IntuneDataWarehouseClass.cs e fare clic su Aggiungi.

  9. Aggiungere il codice seguente all'interno del Main metodo :

         var applicationId = ConfigurationManager.AppSettings["appId"].ToString();
         SecureString applicationSecret = ConvertToSecureStr(ConfigurationManager.AppSettings["appKey"].ToString()); // Load as SecureString from configuration file or secret store (i.e. Azure KeyVault)
         var tenantDomain = ConfigurationManager.AppSettings["tenantDomain"].ToString();
         var msalContext = new AuthenticationContext($"https://login.windows.net/" + tenantDomain + "/oauth2/token");
    
         AuthenticationResult authResult = msalContext.AcquireTokenAsync(
             resource: "https://api.manage.microsoft.com/",
             clientCredential: new ClientCredential(
                 applicationId,
                 new SecureClientSecret(applicationSecret))).Result;
    
  10. Aggiungere altri spazi dei nomi aggiungendo il codice seguente all'inizio del file di codice:

     using System.Security;
     using Microsoft.Identity.Client;
     using System.Configuration;
    

    Nota

    È necessario usare Microsoft Authentication Library (MSAL). Per altre informazioni, vedere Aggiornare le applicazioni per l'uso di Microsoft Authentication Library (MSAL) e Microsoft API Graph.

  11. Dopo il Main metodo , aggiungere il metodo privato seguente per elaborare e convertire la chiave dell'app:

    private static SecureString ConvertToSecureStr(string appkey)
    {
        if (appkey == null)
            throw new ArgumentNullException("AppKey must not be null.");
    
        var secureAppKey = new SecureString();
    
        foreach (char c in appkey)
            secureAppKey.AppendChar(c);
    
        secureAppKey.MakeReadOnly();
        return secureAppKey;
    }
    
  12. Nella Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti e quindi scegliere Gestisci pacchetti NuGet.

  13. Cercare Microsoft.Identity.Client e installare il pacchetto Microsoft NuGet correlato.

  14. In Esplora soluzioni selezionare e aprire il file App.config.

  15. Aggiungere la appSettings sezione in modo che il codice xml sia visualizzato come segue:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <appSettings>
          <add key="appId" value="App ID created from 'Create a Web App' procedure"/>
          <add key="appKey" value="Key created from 'Create a key' procedure" />
          <add key="tenantDomain" value="contoso.onmicrosoft.com"/>
        </appSettings>
    </configuration>
    
  16. Aggiornare i appIdvalori , appKeye tenantDomain in modo che corrispondano ai valori univoci correlati all'app.

  17. Compilare l'app.

    Nota

    Per visualizzare codice di implementazione aggiuntivo, vedere Esempio di codice in Intune-Data-Warehouse.

Operazioni successive

Per altre informazioni su Azure Key Vault, vedere Che cos'è Azure Key Vault?