Para almacenar de forma segura las claves JWT en Azure Logic Apps, puede aprovechar varias estrategias que mejoran la seguridad y el cumplimiento:
1. Use la identidad administrada (MI) para la autenticación
- Por qué es segura: la identidad administrada elimina la necesidad de almacenar y administrar claves o secretos de conexión manualmente. Utiliza Azure Active Directory (AAD) para el acceso seguro, simplificando los procesos de autenticación y autorización.- Cómo implementar: habilitar la identidad administrada asignada por el sistema para su aplicación lógica. Esto permite que la aplicación lógica se autentique con servicios de Azure como Azure Key Vault sin manejar las claves directamente [1] [9].
2. Integración de bóveda clave de Azure
- Por qué es seguro: la bóveda clave de Azure almacena de forma segura y administra datos confidenciales, incluidas las claves criptográficas. Las claves se pueden crear y usar dentro de la bóveda clave sin exponer la clave privada.- Cómo implementar:
- Cree una llave en la bóveda clave de Azure usando Azure CLI o el portal.
- Use la Azure Key Vault REST API para acceder y administrar las claves desde su aplicación lógica. Esto requiere configurar políticas de acceso en la bóveda clave para permitir que su aplicación lógica recupere o use claves [5] [6].
3. Generación y almacenamiento seguro JWT
- Por qué es seguro: generar JWTS implica de forma segura utilizar una clave de firma segura y garantizar que el token se transmitiera a través de HTTPS.- Cómo implementar:
- Use una biblioteca como `jsonWebToken` en Node.js para generar JWTS con una clave secreta segura.
- Asegúrese de que el secreto de firma se almacene de forma segura, idealmente en Azure Key Vault.
- Siempre transmita JWTS a través de HTTP para evitar la intercepción [3] [5].
4. Las mejores prácticas para el manejo de JWT
- Establezca tiempos de vencimiento apropiados: asegúrese de que los JWT tengan tiempos de vencimiento razonables para limitar el uso indebido.- Use HTTPS: siempre transmite JWTS a través de HTTPS.
- Siga seguros los secretos de firma: nunca exponga su secreto de firma de JWT [3].
Al implementar estas estrategias, puede administrar de forma segura las claves JWT en aplicaciones de lógica de Azure mientras mantiene altos estándares de seguridad y requisitos de cumplimiento.
Citas:
[1] https://learn.microsoft.com/en-ie/answers/questions/2088117/how-to-get-jwt-token-which-is-generated-in-vs-code
[2] https://www.descope.com/blog/post/developer-guide-jwt-storage
[3] https://www.restack.io/p/tokenization-azure-logic-apps-uswer-cat-ai
[4] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-custom-api- autenticación
[5] https://zure.com/blog/azure-key-vault-sign-and-encrypt-json-web-tokens/
[6] https://stackoverflow.com/questions/57884305/Using-azure-key-vault-on-azure-logic-app-api-connection
[7] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-securing-a-logic-app
[8] https://turbo360.com/blog/logic-app-best-practices-secure-your-azure-logic-apps
[9] https://gotoguy.blog/2020/12/04/blog-series-powering-up-your-home-ofice-lights-part-3-using-logic-apps-to-authorize-and-get-access-token-using-oauth-and-hue-remote-api/