Щоб надійно зберігати клавіші JWT у програмах Azure Logic, ви можете використовувати кілька стратегій, що підвищують безпеку та відповідність:
1. Використовуйте керовану ідентичність (MI) для аутентифікації
- Чому це безпечно: керована ідентичність усуває необхідність зберігати та керувати клавішами з'єднання або секретами вручну. Він використовує Azure Active Directory (AAD) для безпечного доступу, спрощення процесів аутентифікації та авторизації.- Як реалізувати: Увімкнути керовану ідентичність, призначену системою для вашого логічного додатка. Це дозволяє логічному додатку автентифікуватись із послугами Azure, як склепіння Azure Key, без клавіш безпосередньо [1] [9].
2. Інтеграція ключа Azure Key
- Чому це безпечно: Azure Key Sault надійно зберігає та керує конфіденційними даними, включаючи криптографічні клавіші. Клавіші можна створити та використовувати в ключових сховищах, не розкриваючи приватний ключ.- як реалізувати:
- Створіть ключ у сховищі ключа Azure за допомогою Azure Cli або порталу.
- Використовуйте API REST Key Key Rest для доступу та управління клавішами у своєму логічному додатку. Це вимагає налаштування політики доступу в ключовому сховищі, щоб дозволити вашій логічній програмі отримати або використовувати клавіші [5] [6].
3. Забезпечити покоління та зберігання JWT
- Чому це безпечно: генерування JWTS надійно передбачає використання безпечного ключа підписання та забезпечення того, щоб маркер передавався над HTTPS.- як реалізувати:
- Використовуйте таку бібліотеку, як `jsonwebtoken` в node.js, щоб створити JWTS із захищеним секретним ключем.
- Переконайтесь, що секрет підписання надійно зберігається, в ідеалі у сховищі Azure Key.
- Завжди передайте JWTS над HTTPS для запобігання перехоплення [3] [5].
4. Найкращі практики для обробки JWT
- Встановіть відповідний термін придатності: Переконайтесь, що JWTS має розумний термін придатності для обмеження зловживання.- Використовуйте HTTPS: Завжди передайте JWTS через HTTPS.
- Продовжуйте підписувати секрети Безпечні: ніколи не розкривайте свій секрет підписання JWT [3].
Реалізуючи ці стратегії, ви можете надійно керувати клавішами JWT у програмах Azure Logic, зберігаючи високі стандарти безпеки та вимоги до відповідності.
Цитати:
[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-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-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-power-up-your-home-fice-lights-part-3-using-logic-apps-to-authorize-and-get-access-using-oauth-and-hue-remote-api/