Azure Key Vault en entornos de producción
El origen de esta entrada es una consulta de un compañero, que me ha motivado a explicar mi experiencia con Azure Key Vault y su uso en producción.
¿Qué es Azure Key Vault?
Lo primero, por si no os suena, Azure Key Vault es un servicio de gestión de claves criptográficas y secretos. Se trata de un servicio de Azure en el que se pueden mantener secretos (contraseñas) o claves criptográficas que se usarán desde diferentes aplicaciones. Lo más interesante de este servicio es que separa la gestión del ciclo de vida de las claves (que normalmente será responsabilidad de los responsables de seguridad) del ciclo de vida de las aplicaciones que usan las claves (que serán responsabildad de los desarrolladores).
Si queréis leer en más detalle sobre Azure Key Vault: https://docs.microsoft.com/azure/key-vault/
¿Por qué no veo las claves en el Key Vault de producción?
Esta fue la duda que me planteó mi compañero. Y venía justificada porque en el entorno de desarrollo, podía conectarse con su cuenta al Key Vault de desarrollo y ver las claves que existían, sus propiedades, etc. Pero en el entorno de producción ya no era así. Su cuenta de desarrollador no tenía ningún permiso en el Key Vault de producción y por lo tanto no veía ninguna clave ni secreto. La aplicación funcionaba correctamente (porque se habían asignado los permisos a la identidad de la aplicación), pero los desarrolladores no podían ver si las claves existían, sus propiedades, etc.
La conclusión era que todo funcionaba correctamente y que el modelo de permisos de acceso para el Key Vault estaba funcionando correctamente. En la mayoría de ejemplos que existen se muestran las claves, propiedades, etc. porque se hace con permismos de administrador, pero no hay que asumir que siempre se tendrán esos permisos.