Almacenamiento seguro de tokens de acceso para Azure Key Vault

5

Estoy usando la bóveda KEY de Azure para almacenar claves de cifrado y manejar el cifrado y el descifrado, ya que tenemos una especificación que requiere que se mantengan las claves de cifrado offsite , sin embargo, esto me ha dejado con el problema de qué hacer con el access_token Que he recibido de azures Oauth process.

El sentido común me dice que debo cifrar este token cuando está almacenado en la base de datos, pero no puedo hacerlo, ya que la función de cifrado de Azure requiere que el token realice el cifrado y el descifrado, por lo tanto, no se puede usar para cifrarlo.

Parece que todo lo que he hecho es mover la portería, ya no tengo la clave de cifrado almacenada en una base de datos, en cambio tengo un token de acceso que se puede usar para descifrar los datos de todos modos. Tengo que almacenar client_id y client_secret un_encrypted por el mismo motivo.

¿Me estoy perdiendo algo aquí?

    
pregunta Rob Holmes 19.12.2017 - 16:10
fuente

1 respuesta

1

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óndelpfximportadoenelAlmacéndecertificados.

AlmenosenWindows,ustedcomoadministradorsecretopuedeconvertirlaclaveprivadayelcertificadoenunformatopfxqueestá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.
respondido por el hendryanw 19.03.2018 - 14:22
fuente

Lea otras preguntas en las etiquetas