Usare l'autenticazione di Azure AD per accedere all'API Servizi multimediali di Microsoft Azure con RESTUse Azure AD authentication to access the Azure Media Services API with REST

Quando si usa l'autenticazione di Azure AD con Servizi multimediali di Azure, è possibile eseguire l'autenticazione in uno di due modi:When you're using Azure AD authentication with Azure Media Services, you can authenticate in one of two ways:

  • L'autenticazione utente consente di eseguire l'autenticazione di una persona che usa l'app per interagire con le risorse di Servizi multimediali di Azure.User authentication authenticates a person who is using the app to interact with Azure Media Services resources. L'applicazione interattiva deve prima richiedere all'utente le credenziali.The interactive application should first prompt the user for credentials. Un esempio è un'app della console di gestione usata dagli utenti autorizzati per monitorare i processi di codifica o lo streaming live.An example is a management console app that's used by authorized users to monitor encoding jobs or live streaming.
  • L'autenticazione basata su un'entità servizio consente di eseguire l'autenticazione di un servizio.Service principal authentication authenticates a service. Le applicazioni che usano in genere questo metodo di autenticazione sono app che eseguono servizi daemon, servizi di livello intermedio o processi pianificati, ad esempio app Web, app per le funzioni, app per la logica, API o microservizi.Applications that commonly use this authentication method are apps that run daemon services, middle-tier services, or scheduled jobs, such as web apps, function apps, logic apps, APIs, or microservices.

    In questa esercitazione viene illustrato come utilizzare Azure AD dell'entità servizio autenticazione per accedere a AMS API REST.This tutorial shows you how to use Azure AD service principal authentication to access AMS API with REST.

    Nota

    Entità servizio è consigliata per la maggior parte delle applicazioni che si connettono a servizi multimediali di Azure.Service principal is the recommended best practice for most applications connecting to Azure Media Services.

In questa esercitazione si apprenderà come:In this tutorial, you learn how to:

  • Ottenere le informazioni di autenticazione dal portale di AzureGet the authentication information from the Azure portal
  • Ottenere il token di accesso usando PostmanGet the access token using Postman
  • Test di asset API usando il token di accessoTest the Assets API using the access token

Importante

Attualmente Servizi multimediali supporta il modello di autenticazione dei servizi di Controllo di accesso di Azure.Currently, Media Services supports the Azure Access Control services authentication model. L'autenticazione di Controllo di accesso, tuttavia, verrà dichiarata deprecata il 1° giugno 2018.However, Access Control authentication will be deprecated June 1, 2018. È consigliabile eseguire al più presto la migrazione al modello di autenticazione di Azure AD.We recommend that you migrate to the Azure AD authentication model as soon as possible.

PrerequisitiPrerequisites

Ottenere le informazioni di autenticazione dal portale di AzureGet the authentication information from the Azure portal

PanoramicaOverview

Per accedere alle API di servizi multimediali, è necessario raccogliere i dati seguenti.To access Media Services API, you need to collect the following data points.

ImpostazioneSetting EsempioExample DESCRIZIONEDescription
Dominio del tenant di Azure Active DirectoryAzure Active Directory tenant domain Microsoft.onmicrosoft.commicrosoft.onmicrosoft.com Azure AD come un endpoint di servizio (token di sicurezza) viene creato utilizzando il seguente formato: https://login.microsoftonline.com/ {your-aad-tenant-name.onmicrosoft.com}/oauth2/token.Azure AD as a Secure Token Service (STS) endpoint is created using the following format: https://login.microsoftonline.com/{your-aad-tenant-name.onmicrosoft.com}/oauth2/token. Azure AD rilascia un token JWT per accedere alle risorse (un token di accesso).Azure AD issues a JWT in order to access resources (an access token).
Endpoint API RESTREST API endpoint https://amshelloworld.restv2.westus.Media.Azure.NET/API/https://amshelloworld.restv2.westus.media.azure.net/api/ Si tratta dell'endpoint verso il quale vengono eseguite tutte le chiamate all'API REST di Servizi multimediali nell'applicazione,This is the endpoint against which all Media Services REST API calls in your application are made.
ID client (ID applicazione)Client ID (Application ID) f7fbbb29-a02d-4d91-bbc6-59a2579259d2f7fbbb29-a02d-4d91-bbc6-59a2579259d2 Azure AD ID dell'applicazione (client).Azure AD application (client) ID. Per ottenere il token di accesso, è necessario l'ID client.The client ID is required to get the access token.
Client SecretClient Secret mUERiNzVMoJGggD6aV1etzFGa1n6KeSlLjIq + Dbim0 =+mUERiNzVMoJGggD6aV1etzFGa1n6KeSlLjIq+Dbim0= Azure Active Directory le chiavi dell'applicazione (segreto client).Azure AD application keys (client secret). Il segreto client è necessaria per ottenere il token di accesso.The client secret is required to get the access token.

Ottenere informazioni di autenticazione di Azure ad dal portale di AzureGet AAD auth info from the Azure portal

Per ottenere le informazioni, seguire questi passaggi:To get the information, follow these steps:

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Passare all'istanza del sistema AMS.Navigate to your AMS instance.
  3. Selezionare l'accesso all'API.Select API access.
  4. Fare clic su Connect per l'API di servizi multimediali di Azure con l'entità servizio.Click on Connect to Azure Media Services API with service principal.

    Accesso all'API

  5. Selezionare un oggetto esistente applicazione Azure AD o crearne uno nuovo (mostrato sotto).Select an existing Azure AD application or create a new one (shown below).

    Nota

    Per la richiesta REST multimediali di Azure abbia esito positivo, l'utente chiamante deve avere un collaboratore o proprietario ruolo per l'account di servizi multimediali sta tentando di accedere.For the Azure Media REST request to succeed, the calling user must have a Contributor or Owner role for the Media Services account it is trying to access. Se si verifica un'eccezione che indica "il server remoto ha restituito un errore: non autorizzato (401)," vedere il controllo degli accessi.If you get an exception that says "The remote server returned an error: (401) Unauthorized," see Access control.

    Se è necessario creare una nuova app di Active Directory, seguire questi passaggi:If you need to create a new AD app, follow these steps:

    1. Premere creare nuovi.Press Create New.
    2. Immettere un nome.Enter a name.
    3. Premere Crea nuovo nuovamente.Press Create New again.
    4. Premere Salva.Press Save.

      Accesso all'API

      La nuova app viene visualizzato nella pagina.The new app shows up on the page.

  6. Ottenere il ID Client (ID applicazione).Get the Client ID (Application ID).

    1. Selezionare l'applicazione.Select the application.
    2. Ottenere il ID Client dalla finestra a destra.Get the Client ID from the window on the right.

      Accesso all'API..

  7. Ottenere l'applicazione chiave (segreto client).Get the application's Key (client secret).

    1. Fare clic su di Gestisci applicazione pulsante (si noti che le informazioni di ID Client sono in ID applicazione).Click the Manage application button (notice that the Client ID info is under Application ID).
    2. Premere chiavi.Press Keys.

      Accesso all'API

    3. Generare la chiave dell'applicazione (segreto client), compilando descrizione e EXPIRES e premendo salvare.Generate the app key (client secret) by filling in DESCRIPTION and EXPIRES and pressing Save.

      Una volta il salvare pulsante, viene visualizzato il valore della chiave.Once the Save button is pressed, the key value appears. Copiare il valore della chiave prima di chiudere il pannello.Copy the key value before leaving the blade.

    Accesso all'API

È possibile aggiungere valori per parametri di connessione Active Directory nel file Web. config o App. config, per un utilizzo successivo nel codice.You can add values for AD connection parameters to your web.config or app.config file, to later use in your code.

Importante

Il chiave Client è un importante segreto e devono essere correttamente protetti in un insieme di credenziali chiave o crittografati nell'ambiente di produzione.The Client key is an important secret and should be properly secured in a key vault or encrypted in production.

Ottenere il token di accesso usando PostmanGet the access token using Postman

In questa sezione viene illustrato come utilizzare Postman per l'esecuzione di un'API REST che restituisce un Token di connessione di JWT (token di accesso).This section shows how to use Postman to execute a REST API that returns a JWT Bearer Token (access token). Per chiamare le API REST di servizi multimediali, è necessario aggiungere l'intestazione "Authorization" per le chiamate e aggiungere il valore di "portatore your_access_token" per ogni chiamata (come illustrato nella sezione successiva di questa esercitazione).To call any Media Services REST API, you need to add the "Authorization" header to the calls, and add the value of "Bearer your_access_token" to each call (as shown in the next section of this tutorial).

  1. Aprire Postman.Open Postman.
  2. Selezionare POST.Select POST.
  3. Immettere l'URL che include il nome di tenant usando il formato seguente: il nome del tenant deve terminare con . c o m e l'URL deve terminare con /token oauth2:Enter the URL that includes your tenant name using the following format: the tenant name should end with .onmicrosoft.com and the URL should end with oauth2/token:

    https://Login.microsoftonline.com/ {your-aad-tenant-name.onmicrosoft.com}/oauth2/tokenhttps://login.microsoftonline.com/{your-aad-tenant-name.onmicrosoft.com}/oauth2/token

  4. Selezionare il intestazioni scheda.Select the Headers tab.

  5. Immettere il intestazioni informazioni utilizzando la griglia di dati "Chiave/valore".Enter the Headers information using the "Key/Value" data grid.

    Griglia dei dati

    In alternativa, fare clic su modifica in blocco link a destra della finestra Postman e incollare il codice seguente.Alternatively, click Bulk Edit link on the right of the Postman window and paste the following code.

     Content-Type:application/x-www-form-urlencoded
     Keep-Alive:true
    
  6. Premere il corpo scheda.Press the Body tab.

  7. Immettere le informazioni sul corpo utilizzando la griglia di dati "Chiave/valore" (sostituire l'ID client e i valori dei segreti).Enter the body information using the "Key/Value" data grid (replace the client ID and secret values).

    Griglia dei dati

    In alternativa, fare clic su modifica in blocco a destra della finestra Postman e incollare il seguente corpo (sostituire l'ID client e i valori dei segreti):Alternatively, click Bulk Edit on the right of the Postman window and paste the following body (replace the client ID and secret values):

     grant_type:client_credentials
     client_id:{Your Client ID that you got from your AAD Application}
     client_secret:{Your client secret that you got from your AAD Application's Keys}
     resource:https://rest.media.azure.net
    
  8. Fare clic su Invia.Press Send.

    Ottenere un token

La risposta restituita contiene il token di accesso che si desidera utilizzare per accedere a qualsiasi APIs AMS.The returned response contains the access token that you need to use to access any AMS APIs.

Test di asset API usando il token di accessoTest the Assets API using the access token

In questa sezione viene illustrato come accedere il asset API tramite Postman.This section shows how to access the Assets API using Postman.

  1. Aprire Postman.Open Postman.
  2. Selezionare GET.Select GET.
  3. Incollare l'endpoint dell'API REST (ad esempio, https://amshelloworld.restv2.westus.media.azure.net/api/Assets)Paste the REST API endpoint (for example, https://amshelloworld.restv2.westus.media.azure.net/api/Assets)
  4. Selezionare il autorizzazione scheda.Select the Authorization tab.
  5. Selezionare Token di connessione.Select Bearer Token.
  6. Incollare il token che è stato creato nella sezione precedente.Paste the token that was created in the previous section.

    Ottenere un token

    Nota

    L'esperienza utente Postman potrebbero essere diverso tra PC e Mac.The Postman UX could be different between a Mac and PC. Se la versione Mac non è "Token di connessione" autenticazione a discesa di sezione, è necessario aggiungere il autorizzazione testata manualmente il client Mac.If the Mac version does not have the "Bearer Token" option in the Authentication section dropdown, you should add the Authorization header manually on the Mac client.

    Intestazione di autenticazione

  7. Selezionare intestazioni.Select Headers.

  8. Fare clic su modifica in blocco link a destra della finestra di Postman.Click Bulk Edit link on the right the Postman window.
  9. Incollare le intestazioni seguenti:Paste the following headers:

     x-ms-version:2.15
     Accept:application/json
     Content-Type:application/json
     DataServiceVersion:3.0
     MaxDataServiceVersion:3.0
    
  10. Fare clic su Invia.Press Send.

La risposta restituita contiene le risorse presenti nell'account.The returned response contains the assets that are in your account.

Passaggi successiviNext steps