Compartir a través de


Autenticación de una aplicación cliente (API REST de Azure Data Catalog)


En este artículo se muestra cómo autenticar una aplicación cliente Data Catalog. Incluye ejemplos de C#; sin embargo, el proceso de autenticación es el mismo para otro lenguajes de programación.

Data Catalog aplicaciones cliente usan Active Directory (Azure AD) para autenticar a los usuarios y proteger las aplicaciones. La autenticación es el proceso de identificar una aplicación o usuario. Para identificar la aplicación cliente en Azure AD, registre la aplicación con Azure AD. Al registrar una aplicación cliente en Azure Active Directory, se proporciona a la aplicación acceso a las API de Data Catalog. Para obtener información sobre cómo registrar la aplicación cliente de Data Catalog, consulte Registro de una aplicación cliente.

Data Catalog llamadas API REST se realizan en nombre de un usuario autenticado pasando un token en el encabezado "Authorization" de la solicitud. El token se adquiere a través de Azure Active Directory.

Lo que necesita para autenticar una aplicación cliente de Data Catalog

Para autenticar una aplicación cliente Data Catalog y realizar una solicitud web REST, debe:

  1. Registrar la aplicación cliente: para registrar una aplicación cliente de Data Catalog, consulte Registro de una aplicación cliente. Al registrar una aplicación cliente en Azure Active Directory, se proporciona a la aplicación acceso a las API de Data Catalog.

  2. Asignar el identificador de cliente de la aplicación : para obtener el identificador de cliente de la aplicación, consulte Obtención de un identificador de aplicación cliente. La aplicación usa el identificador de cliente para identificarse a los usuarios a los que solicitan permisos.

    • En el código de la aplicación cliente, asigne la variable clientID al clientID de la aplicación de Azure.
  3. Asignación del URI de redireccionamiento : para una aplicación cliente, un URI de redireccionamiento proporciona a Azure AD más detalles sobre la aplicación específica que autentica. Un identificador uniforme de recursos (URI) es un valor para identificar un nombre de un recurso.

    • En el código de la aplicación cliente, asigne el redirectUri a https://login.live.com/oauth20_desktop.srf. Dado que una aplicación cliente no tiene un servicio externo al que redirigir, este URI es el marcador de posición estándar para las aplicaciones cliente.
  4. Asignación del URI de recursos para Data Catalog API: el URI de recurso identifica el recurso de API de Data Catalog.

    • En el código de la aplicación cliente, asigne resourceUri a https://datacatalog.azure.com.
  5. Asignar el URI de autoridad OAuth2: el URI de autoridad identifica el recurso de autoridad OAuth2.

    • En el código de la aplicación cliente, asigne un URI de autoridad a https://login.windows.net/common/oauth2/authorize.

Para realizar una solicitud de datos al servicio REST de Data Catalog, debe proporcionar un token de acceso. En una aplicación cliente de .NET, se usa la Biblioteca de autenticación de Microsoft (MSAL) para obtener un token de acceso.

Importante

Para autenticar una aplicación cliente, debe agregar una referencia a Microsoft.Identity.Client, que se incluye en la Biblioteca de autenticación de Microsoft (MSAL). Si la aplicación sigue usando ADAL, migrela a MSAL. Para obtener más información, consulte diferencias entre ADAL.NET y MSAL.NET aplicaciones.

Install-Package Microsoft.Identity.Client -Version 4.48.1 

Pasos para obtener un token de acceso

La adquisición de un token de acceso mediante MSAL depende de si va a crear un cliente público o una aplicación cliente confidencial. Consulte los pasos siguientes para adquirir un token de acceso para su escenario:

Si tiene un catálogo de datos que sigue usando la biblioteca de ADAL en desuso, migre la aplicación de ADAL a MSAL.

Realizar una solicitud para Data Catalog API REST mediante un token

Después de obtener un token de acceso de Active Directory (Azure AD), use el token para realizar una solicitud web a la API REST de Data Catalog. Para crear una solicitud web REST de Data Catalog, agregue un token de acceso a un encabezado de solicitud. Por ejemplo, en una aplicación .NET, agregue el

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

Flujo de contexto de autenticación de Azure

En una aplicación cliente .NET, se usa AuthenticationContext para adquirir un token de acceso de Azure. AuthenticationContext es la clase principal que representa la autoridad de emisión del token para los recursos de Azure AD. AuthenticationContext hace lo siguiente:

  1. AuthenticationContext inicia el flujo mediante el redireccionamiento del agente de usuario al extremo de autorización de Azure Active Directory. El usuario se autentica y da su consentimiento, si se requiere consentimiento.
  2. El extremo de autorización de Azure Active Directory redirecciona al agente de usuario a AuthenticationContext con un código de autorización. El agente de usuario, devuelve un código de autorización al URI de redireccionamiento de la aplicación cliente.
  3. AuthenticationContext solicita un token de acceso del extremo de emisión de tokens de Azure Active Directory. Presenta el código de autorización para demostrar que el usuario ha dado su consentimiento.
  4. El extremo de emisión de tokens de Azure Active Directory devuelve un token de acceso.
  5. La aplicación cliente usa el token de acceso para autenticarse en la API web.
  6. Después de autenticar la aplicación cliente, la API rest de Data Catalog devuelve los datos solicitados.

Para obtener más información acerca del flujo de autorización de Azure Active Directory (Azure AD), consulte Flujo de concesión de código de autorización.