Чтобы надежно хранить клавиши JWT в приложениях Azure Logic, вы можете использовать несколько стратегий, которые повышают безопасность и соответствие:
1. Использовать управляемую идентичность (MI) для аутентификации
- Почему это безопасно: управляемая личность устраняет необходимость хранения и управления клавишами соединения или секретами вручную. Он использует Azure Active Directory (AAD) для безопасного доступа, упрощения процессов аутентификации и авторизации.- Как реализовать: включить системную управляемую идентичность для вашего приложения Logic. Это позволяет логическому приложению аутентифицировать с помощью сервисов Azure, таких как Vault Key Vault без обработки клавиш непосредственно [1] [9].
2. Интеграция Vault Vault Vault Azure
- Почему это безопасно: Vault Vault Azure надежно хранит и управляет конфиденциальными данными, включая криптографические ключи. Ключи могут быть созданы и использованы в клавишном хранилище без разоблачения закрытого ключа.- Как реализовать:
- Создайте ключ в Vault с ключом Azure с помощью Azure CLI или портала.
- Используйте API REST клавиш Azure Vault для доступа и управления клавишами из вашего приложения Logic. Это требует настройки политик доступа в Key Vault, чтобы ваше логическое приложение было извлекать или использовать клавиши [5] [6].
3. Защитное генерацию и хранение JWT
- Почему это безопасно: создание JWTS надежно включает в себя использование безопасного ключа подписи и обеспечение того, чтобы токен передавался по HTTPS.- Как реализовать:
- Используйте библиотеку, такую как `jsonwebtoken` in node.js, чтобы генерировать JWT с безопасным секретным ключом.
- Убедитесь, что секрет подписания хранится надежно, в идеале в Vault Azure Key.
- Always transmit JWTs over HTTPS to prevent interception[3][5].
4. Лучшие практики для обработки JWT
- Установите соответствующее время истечения: убедитесь, что у JWT есть разумное время истечения, чтобы ограничить неправильное использование.- Используйте HTTPS: всегда передавайте JWT по HTTPS.
- Продолжайте безопасно подписывать секреты: никогда не разоблачайте секрет подписи JWT [3].
Внедряя эти стратегии, вы можете безопасно управлять клавишами JWT в приложениях Azure Logic, сохраняя при этом высокие стандарты безопасности и требования к соответствию.
Цитаты:
[1] https://learn.microsoft.com/en-ie/answers/questions/2088117/how-to-get-jwt-token-which-is-in-vs-code
[2] https://www.descope.com/blog/post/developer-guide-jwt-storage
[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-authentication
[5] https://zure.com/blog/azure-key-wault-sign-and-crypt-json-web-tokens/
[6] https://stackoverflow.com/questions/57884305/using-azure-key-wault-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-powning-plog-momefice-lights-part-3-using-logic-apps-to-authorize-and-get-access-token-using-oauth-hue-remote-authorize-and-get-access-token-uas-oauth-hue-remote-api/