NunezERP
← Volver a los artículos

Client ID y Client Secret para Business Central desde Azure

Este tipo de configuración nos permite identificar una aplicación frente a Business Central y decidir exactamente qué permisos tendrá.

Publicado el

Inicia sesión para exportar este artículo

Cuando queremos conectar una aplicación o un servicio externo con Business Central sin depender de una cuenta de usuario, una de las opciones más habituales es utilizar una aplicación de Microsoft Entra con autenticación mediante Client ID + Client Secret.

Este tipo de configuración nos permite identificar una aplicación frente a Business Central y decidir exactamente qué permisos tendrá.

En este artículo veremos únicamente cómo crear esa aplicación y configurarla en Business Central, ya que los usos pueden ser bastante variables.

Registrar una aplicación en Microsoft Entra

Lo primero que necesitamos es una cuenta con permisos suficientes para registrar aplicaciones y conceder los permisos necesarios. Desde Azure accederemos a Registros de aplicaciones o directamente a:

https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

Registro de aplicaciones en Microsoft Entra

Hacemos clic en Nuevo registro y creamos una nueva aplicación.

Nombre de la nueva aplicación

En este caso configuraremos también la siguiente URI de redirección:

https://businesscentral.dynamics.com/OAuthLanding.htm

Esta URI se utiliza en escenarios de autenticación interactiva con Business Central. Para la autenticación mediante Client ID + Client Secret que veremos en este artículo no es estrictamente necesaria, ya que no existe un inicio de sesión interactivo de usuario, pero podemos dejarla configurada igualmente.

Configurar los permisos de Business Central

Desde la aplicación que acabamos de crear accedemos a Permisos de API y pulsamos en Agregar un permiso.

Permisos de API de la aplicación

Buscamos Dynamics 365 Business Central.

Permisos de API de Dynamics 365 Business Central

Como queremos que sea la propia aplicación la que se autentique, debemos trabajar con Permisos de aplicación. El permiso más habitual para trabajar con las APIs y servicios web de Business Central es:

API.ReadWrite.All

Si posteriormente necesitamos trabajar con las Automation APIs de Business Central, también podemos necesitar permisos adicionales como:

Automation.ReadWrite.All.

Una vez configurados los permisos, debemos conceder el consentimiento del administrador. El resultado debería ser similar al siguiente:

Permisos configurados y consentimiento del administrador

Crear el Client Secret

El siguiente paso es crear el secreto que utilizará nuestra aplicación para autenticarse, mediante el menú de “Certificados y secretos” y “Secretos de cliente”:

Certificados y secretos de la aplicación

Cuando lo creemos veremos una pantalla similar a esta:

Datos del secreto de cliente

Este punto es importante porque el valor completo del secreto solo se muestra en el momento de crearlo. Si cerramos la pantalla sin guardarlo tendremos que generar uno nuevo.

También conviene tener controlada su fecha de expiración. Cuando el secreto caduque, las integraciones que dependan de él dejarán de autenticarse hasta que configuremos uno nuevo.

Nota: El Client ID es el campo Id. de aplicación (cliente) de nuestra aplicación, necesario luego en BC.

Dar acceso a la aplicación en Business Central

La aplicación ya existe en Microsoft Entra, pero todavía tenemos que indicarle a Business Central que puede acceder al entorno. Este paso ya lo hacemos desde la aplicación:

Aplicaciones de Microsoft Entra en Business Central

Creamos un nuevo registro utilizando como “Id. de cliente” el “Id. de aplicación” y habilitamos la aplicación para asignarle sus permisos correspondientes.

Estos permisos funcionan mediante los “conjuntos de permisos” estándar de BC. Digamos que lo que estamos creando es como si fuera una identidad técnica que va a acceder a Business Central desde servicios externos. Dependiendo, por tanto, de los permisos que le demos, podrá consultar, modificar o ejecutar determinados registros.

Lo ideal es crear un conjunto de permisos específico para este tipo de aplicaciones, de tal forma que se tengan siempre controlados. Una aplicación utilizada exclusivamente para consultar movimientos contables no debería tener permisos para modificar clientes, productos o configuraciones del sistema.

Usos

Una vez tenemos el Client ID + Client Secret y la aplicación configurada en Business Central, podemos utilizar estas credenciales en muchos escenarios. Por ejemplo, podemos utilizarlas para conectarnos desde Power Query, consumir las APIs estándar de Business Central, acceder a servicios web OData, desarrollar integraciones con aplicaciones externas o ejecutar procesos automáticos sin depender del inicio de sesión de una persona.

La principal ventaja es precisamente esa: la integración deja de estar vinculada a un usuario concreto y podemos controlar sus permisos de forma independiente.

Una idea para seguir pensando.

Explorar otras lecturas →