Autenticazione Intune Data Warehouse Application-Only

È possibile configurare un'applicazione utilizzando Microsoft Entra ID ed eseguire l'autenticazione nel Intune Data Warehouse. Questo processo è utile per siti Web, app e processi in background in cui l'applicazione non deve avere accesso alle credenziali utente. Usando i seguenti passaggi, autorizzare l'applicazione con Microsoft Entra ID utilizzando OAuth 2.0.

Autorizzazione

Microsoft Entra ID utilizza OAuth 2.0 per consentire di autorizzare l'accesso alle applicazioni Web e alle API Web nel tenant di 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 ulteriori informazioni, vedere Autorizzare l'accesso alle applicazioni Web utilizzando 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 desidera 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. Si usa Intune per concedere l'accesso a un'app Web a Intune. Il flusso di dati viene avviato dall'app Web.

  1. Accedere all'Interfaccia di amministrazione di Microsoft Intune.

  2. Seleziona 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:

    • Nome di un'app, ad esempio Intune App-Only Auth.
    • Il tipo di account supportato.
    • URI di reindirizzamento dell'applicazione. Questa è la posizione a cui gli utenti passano automaticamente durante il processo di autenticazione. Sono tenuti a dimostrare di essere chi dicono di essere. Per altre informazioni, vedere Che cos'è l'accesso alle applicazioni e Single Sign-On con Microsoft Entra ID?
  5. Fai clic su Registra.

    Nota

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

Crea una chiave (password)

In questa sezione, Microsoft Entra ID genera un valore 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 Descrizione della chiave e la durata della scadenza.

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

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

    Nota

    Il valore della chiave scompare quando si esce dal riquadro Certificati & segreti . Non è possibile recuperare la chiave da questo riquadro in un secondo momento. Copialo per usarlo in seguito.

Concedere le autorizzazioni per l'applicazione

In questa sezione viene illustrato come concedere le autorizzazioni alle applicazioni.

  1. Selezionare le autorizzazioni> APIAggiungere un'autorizzazione>Intune>autorizzazioni dell'applicazione.
  2. Scegliere l'opzione get_data_warehouse (Ottieni informazioni sul data warehouse da Microsoft Intune).
  3. Fare clic su Aggiungi autorizzazioni.
  4. Fai clic su Fine nel riquadro Aggiungi accesso API .
  5. Fare clic su Concedi consenso amministratore nel riquadro Autorizzazioni API e fare clic su quando si è promossi per aggiornare le autorizzazioni esistenti già disponibili nell'applicazione.

Generare il token

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

  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 per l'app e quindi fare clic su OK per creare l'app.

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

  5. In Esplora soluzioni, aggiungere un riferimento all'assemblySystem.Configuration.

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

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

  8. Seleziona Classe, cambia il nome della classe in IntuneDataWarehouseClass.cs e fai 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. Aggiungi 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 Libreria di Autenticazione Microsoft (MSAL). Per altre informazioni, vedere Aggiornare le applicazioni per l'uso di Libreria di Autenticazione Microsoft (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. In Esplora soluzioni fare clic con il pulsante destro del mouse su Riferimenti, 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 fileApp.config.

  15. Aggiungere la appSettings sezione in modo che il codice XML venga 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 , appKey, e in tenantDomain modo che corrispondano ai valori univoci correlati all'app.

  17. Crea la tua app.

    Nota

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

Operazioni successive

Scopri di più su Azure Key Vault rivedendo Che cos'è Azure Key Vault?