Partager via


Authentifier une application cliente (API REST Azure Data Catalog)


Cet article vous montre comment authentifier une application cliente Data Catalog. Les exemples sont en C#, mais le processus d’authentification est identique pour les autres langages de programmation.

Data Catalog applications clientes utilisent Active Directory (Azure AD) pour authentifier les utilisateurs et protéger les applications. L’authentification est le processus consistant à identifier une application ou un utilisateur. Pour identifier votre application cliente dans Azure AD, vous inscrivez votre application auprès d’Azure AD. Lorsque vous inscrivez une application cliente dans Azure Active Directory, vous donnez à votre application l’accès aux API Data Catalog. Pour savoir comment inscrire votre application cliente Data Catalog, consultez Inscrire une application cliente.

Data Catalog les appels d’API REST sont effectués pour le compte d’un utilisateur authentifié en passant un jeton dans l’en-tête « Authorization » de la demande. Le jeton est obtenu via Azure Active Directory.

Éléments dont vous avez besoin pour authentifier une application cliente Data Catalog

Pour authentifier une application cliente Data Catalog et effectuer une requête web REST, vous devez :

  1. Inscrire votre application cliente : pour inscrire une application cliente Data Catalog, consultez Inscrire une application cliente. Lorsque vous inscrivez une application cliente dans Azure Active Directory, vous donnez à votre application l’accès aux API Data Catalog.

  2. Attribuer l’ID client pour votre application : pour obtenir l’ID client de votre application, consultez Comment obtenir un ID d’application cliente. L’ID client est utilisé par l’application pour s’identifier auprès des utilisateurs auxquels elle demande des autorisations.

    • Dans le code de votre application cliente, affectez la variable clientID au clientID de votre application Azure.
  3. Affecter l’URI de redirection : pour une application cliente, un URI de redirection fournit à Azure AD plus de détails sur l’application spécifique qu’il authentifie. Un identificateur de ressource uniforme (URI) est une valeur permettant d’identifier le nom d’une ressource.

    • Dans le code de votre application cliente, affectez l’objet redirectUri à https://login.live.com/oauth20_desktop.srf. Dans la mesure où une application cliente n’a pas de service externe vers lequel rediriger, cet URI est l’espace réservé standard pour les applications clientes.
  4. Affecter l’URI de ressource pour Data Catalog’API : l’URI de ressource identifie la ressource d’API Data Catalog.

    • Dans le code de votre application cliente, affectez le resourceUri à https://datacatalog.azure.com.
  5. Affecter l’URI d’autorité OAuth2 - L’URI d’autorité identifie la ressource d’autorité OAuth2.

    • Dans le code de votre application cliente, affectez un URI d’autorité à https://login.windows.net/common/oauth2/authorize.

Pour effectuer une demande de données au service REST Data Catalog, vous devez fournir un jeton d’accès. Dans une application cliente .NET, vous utilisez la bibliothèque d’authentification Microsoft (MSAL) pour obtenir un jeton d’accès.

Important

Pour authentifier une application cliente, vous devez ajouter une référence à Microsoft.Identity.Client, qui est incluse dans la bibliothèque d’authentification Microsoft (MSAL). Si votre application utilise toujours la bibliothèque ADAL, migrez-la vers MSAL. Pour plus d’informations, consultez Différences entre les applications ADAL.NET et MSAL.NET.

Install-Package Microsoft.Identity.Client -Version 4.48.1 

Procédure d’obtention d’un jeton d’accès

L’acquisition d’un jeton d’accès à l’aide de MSAL dépend de la création d’une application cliente publique ou confidentielle. Reportez-vous aux étapes suivantes pour acquérir un jeton d’accès pour votre scénario :

Si vous avez un catalogue de données qui utilise toujours la bibliothèque ADAL dépréciée, migrez votre application d’ADAL vers MSAL.

Effectuer une requête pour Data Catalog’API REST à l’aide d’un jeton

Après avoir obtenu un jeton d’accès à partir d’Active Directory (Azure AD), vous utilisez le jeton pour effectuer une demande web à l’API REST Data Catalog. Pour créer une requête web REST Data Catalog, vous ajoutez un jeton d’accès à un en-tête de requête. Par exemple, dans une application .NET, ajoutez le

HttpWebRequest request = System.Net.WebRequest.Create(apiUrl) as System.Net.HttpWebRequest;  
...  
string authHeader = authResult.CreateAuthorizationHeader();             
request.Headers.Add("Authorization", authHeader);  

Flux de contexte d’authentification Azure

Dans une application cliente .NET, vous utilisez AuthenticationContext pour obtenir un jeton d’accès Azure. AuthenticationContext est la classe principale qui représente l’autorité d’émission de jetons pour les ressources Azure AD. AuthenticationContext effectue les opérations suivantes :

  1. AuthenticationContext démarre le flux en redirigeant l’agent utilisateur vers le point de terminaison d’autorisation Azure Active Directory. L’utilisateur s’authentifie et accepte, si un accord est requis.
  2. Le point de terminaison d’autorisation Azure Active Directory redirige l’agent utilisateur vers AuthenticationContext avec un code d’autorisation. L’agent utilisateur renvoie un code d’autorisation à l’URI de redirection de l’application cliente.
  3. AuthenticationContext demande un jeton d’accès au point de terminaison d’émission de jetons Azure Active Directory. Il présente le code d’autorisation permettra de prouver que l’utilisateur a donné son consentement.
  4. Le point de terminaison d’émission de jetons Azure Active Directory renvoie un jeton d’accès.
  5. L’application cliente utilise le jeton d’accès pour s’authentifier auprès de l’API web.
  6. Après l’authentification de l’application cliente, l’API REST Data Catalog retourne les données demandées.

Pour en savoir plus sur le flux d’autorisations Azure Active Directory (Azure AD), voir Flux d’octroi d’un code d’autorisation.