Per memorizzare in modo sicuro le chiavi JWT nelle app di Azure Logic, è possibile sfruttare diverse strategie che migliorano la sicurezza e la conformità:
1. Usa l'identità gestita (MI) per l'autenticazione
- Perché è sicuro: l'identità gestita elimina la necessità di archiviare e gestire manualmente le chiavi o i segreti di connessione. Utilizza Azure Active Directory (AAD) per l'accesso sicuro, semplificare i processi di autenticazione e autorizzazione.- Come implementare: abilitare l'identità gestita assegnata dal sistema per la tua app logica. Ciò consente all'app logica di autenticarsi con servizi Azure come Azure Key Vault senza gestire direttamente i tasti [1] [9].
2. Integrazione del Vault chiave di Azure
- Perché è sicuro: Azure Key Vault memorizza in modo sicuro e gestisce dati sensibili, comprese le chiavi crittografiche. Le chiavi possono essere create e utilizzate all'interno del cimici dei tasti senza esporre la chiave privata.- Come implementare:
- Creare una chiave in Azure Key Vault utilizzando Azure CLI o il portale.
- Utilizzare l'API REST AZURE CHIAVE Vault per accedere e gestire le chiavi dalla tua app logica. Ciò richiede l'impostazione di criteri di accesso nel Vault per consentire l'app logica di recuperare o utilizzare i tasti [5] [6].
3. Secure JWT Generation and Storage
- Perché è sicuro: la generazione di JWT implica in modo sicuro l'uso di una chiave di firma sicura e garantire che il token venga trasmesso su HTTPS.- Come implementare:
- Usa una libreria come `jsonwebtoken` in node.js per generare jwts con una chiave segreta sicura.
- Assicurarsi che il segreto della firma sia immagazzinato in modo sicuro, idealmente nel Vault di Azure Key.
- Trasmettere sempre JWT su HTTPS per prevenire l'intercettazione [3] [5].
4. Best practice per la gestione di JWT
- Impostare tempi di scadenza appropriati: assicurarsi che i JWT abbiano tempi di scadenza ragionevoli per limitare l'abuso.- Usa HTTPS: trasmetti sempre JWT su HTTPS.
- Continua a firmare i segreti di firma: non esporre mai il tuo segreto di firma JWT [3].
Implementando queste strategie, è possibile gestire in modo sicuro le chiavi JWT nelle app di logica di Azure mantenendo alti standard di sicurezza e requisiti di conformità.
Citazioni:
[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-torage
[3] https://www.restack.io/p/tokenization-azure-logic-apps-answer-cat-ai
[4] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-custom-api-uhentication
[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--home-pice-lights-part-3-using-logic-apps-to-authorize-and-get-access-token-using-using-using-oauth-and-hue-remote-ipi/