🚨 Breaking News : Fin de la autentificación básica en Business Central

¿Qué significa?

Que como anunció Microsoft en el lanzamiento de la ultima versión ,el día 1 de Octubre se deshabilita la autentificación básica para (api,Odata y Soap).

¿Y eso?

Bueno si te haces esa pregunto no has recibido o no has estado al tanto de las comunicaciones de Microsoft porque se anuncio hace 2 años y debería estar ya deshabilitada, ya que se indico que se haría en Abril del 2022 pero se decidió posponer.

¿Y no hay vuelta atrás?

Pues no, se ha decido que ya no hay mas aplazamientos . A partir del dia 1 de Octubre se empezara a deshabilitar en diferentes regiones. Es posible que la nuestra sea la primera o no.

¿Cómo sabemos que aun tenemos llamadas con autentificación Básica?

No voy a entrar en que si a estas alturas deberíamos saberlo pero te aseguro que Microsoft se va encargar de que lo sepas o lo sepa tu cliente mira lo que nos dice Microsoft en su comunicado:

Los usuarios deben comenzar a recibir una notificación en el producto si ha habido al menos una llamada de servicio web exitosa entrante en las últimas 24 horas que utilizó la autenticación básica.

Para salir de la notificación en el producto, no debe haber ninguna llamada de servicio web correcta que haya utilizado la autenticación básica en las últimas 24 horas y 48 horas.

Este mecanismo de notificación en el producto durará hasta la eliminación de la autenticación básica en el inquilino especificado.

¿Podemos adelantarnos?

Por supuesto , ¿conoces la telemetría ,tanto si sí como si no, ha venido para quedarse y si quieres ser proactivo te recomiendo habilitarla. En mi canal de YouTube te explico como : https://bit.ly/YouTubeTechSphereDynamics

Microsoft nos ha dejado una consulta KQL para poder saber donde están aun esas llamadas:

traces

| where 1==1

    and timestamp > ago(7d)

    and customDimensions.eventId == 'RT0008'

    and customDimensions.aadTenantId == '<AAD Tenant ID>'

| extend httpHeaders = customDimensions.httpHeaders       

| extend httpHeadersTmp =  tostring( httpHeaders)

| extend httpHeadersJSON = parse_json(httpHeadersTmp)

| extend msUserAgent = tostring( httpHeadersJSON.['ms-dyn-useragent'] )

| extend httpAuthorization = tostring( httpHeadersJSON.['Authorization'] )

| where httpAuthorization == '["Basic <redacted>"]'

| project aadId = tostring( customDimensions.aadTenantId )

        , environmentName = tostring( customDimensions.environmentName )

        , category = tostring( customDimensions.category )

        , endpoint = tostring( customDimensions.endpoint )

        , platform = tostring( customDimensions.componentVersion)

        , env_cloud_location

        , httpAuthorization

        , customDimensions

        ,timestamp

Pero prefiero esta de Kennie Nybo Pontoppidan. Twitter: @KennieNP

// successful/failed authentication calls joined to web service telemetry to extract endpoint, http headers, ...
// use this to find who is calling using basic authentication
let auth_calls =
traces
| where customDimensions.eventId in ( "RT0020" , "RT0021" )
| where operation_Id != 'N/A'
| project timestamp, operation_Id
;
let ws_calls = 
traces
| where customDimensions.eventId == 'RT0008'
| project operation_Id
, httpHeaders = customDimensions.httpHeaders
, aadTenantId = customDimensions.aadTenantId
, environmentName = customDimensions.environmentName
, environmentType = customDimensions.environmentType
, companyName = customDimensions.companyName
, alObjectId = customDimensions.alObjectId
, alObjectName = customDimensions.alObjectName
, alObjectType = customDimensions.alObjectType
, category = customDimensions.category
, endpoint = customDimensions.endpoint
, httpStatusCode = customDimensions.httpStatusCode 
| extend httpHeadersTmp =  tostring( httpHeaders)
| extend httpHeadersJSON = parse_json(httpHeadersTmp)
;
auth_calls
| join kind=leftouter ws_calls on $left.operation_Id == $right.operation_Id
| where isnotempty( aadTenantId )

Aquí os dejo el enlace.

Os dejo también un mini video de como llevarlo a Microsoft Power BI .

¿Y ahora que?

Pues si tienes llamadas aun configuradas así empieza a planificar cambiarlas e informa a tus clientes.

Hay numerosa documentación blogs y ejemplos en la red. Dos años da para mucho 😉.

te recomiendo:

Yun Zhu : https://yzhums.com/20690/

Roberto Corella : https://blog.dynasoft.es/

Kauffmann @ Dynamics 365 Business Central

Y la documentación oficial : https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/webservices/authenticate-web-services-using-oauth

Quedan menos de 12 Días

Como dicen los Estopa en una canción suya :

«y a mañana no llegamos,
la vida en un minuto no pasa tan deprisa
por si acaso disfruto corre que me da la risa»

Espero que os resulte de interés y :

✅ Suscríbete al canal ( anima y da ese empujón a todo esto).

✅ Pulsa «like» si te ha gustado.

✅ Si no quieres perderte nada, ya sabes, pulsa la campana.

✅ En los comentarios déjame cualquier idea, duda, corrección o aportación. Todo será bien bienvenido.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s