No estoy seguro de si el access_token
que recibió de la autenticación de Azure tiene una vida útil permanente. Estoy asumiendo que no lo es. De cualquier manera, aún necesitas tener client_id
y client_secret
para obtener el access_token
, y eso significa que deberías concentrarte en asegurar el client_secret
o encontrar las alternativas.
En lugar de utilizar client_secret
para autenticarse, puede usar la autenticación de certificado de cliente como se explica en este : autenticar con un certificado en lugar de un secreto del cliente .
Enlaimagenanterior,eldesarrolladornonecesitaconocerelvalordelaclaveprivadadelcertificadoparaquesuaplicaciónseautentiquecorrectamenteenAzureActiveDirectory.Ensulugar,solonecesitanconocerlaubicacióndelpfx
importadoenelAlmacéndecertificados.
AlmenosenWindows,ustedcomoadministradorsecretopuedeconvertirlaclaveprivadayelcertificadoenunformatopfx
queestáprotegidoporcontraseña,yluegoimplementarloenelalmacéndecertificadosdeWindows.Deestamanera,nadiepodríaconocerlaclaveprivadaamenosqueconozcanlacontraseñadelarchivopfx
.
ElotroenfoqueespecíficodeAzureComputeesusar Azure Managed Identidad del servicio . Al usar Azure MSI, Azure asignará automáticamente sus recursos, como una VM con un Identity / Service Principal, y puede enviar solicitudes a un punto final específico al que solo puede acceder su recurso para obtener el access_token
. Pero tenga cuidado de que Azure MSI todavía esté en la vista previa pública, así que revise los problemas conocidos antes de usarlo.
LaimagenanteriorexplicacómoAzureResourceManagerasignaunaidentidaddePrincipaldeServicioasuVM.
- CuandohabilitaMSIenunamáquinavirtual,AzurecrearáunprincipaldeservicioensuAAD.
- AzureimplementaráunanuevaextensióndemáquinavirtualdeMSIensumáquinavirtual.Estoproporcionaunpuntofinalen enlace que se utilizará para obtener el
access_token
para el principal del servicio.
- Luego puede usar
access_token
para acceder a los recursos, como el Almacén de claves, que autoriza el acceso principal del servicio.