Azure Logic 앱에 JWT 키를 안전하게 저장하려면 보안 및 규정 준수를 향상시키는 몇 가지 전략을 활용할 수 있습니다.
1. 인증을 위해 MANEDED ID (MI)를 사용하십시오
- 안전한 이유 : 관리 된 ID는 연결 키 또는 비밀을 수동으로 저장하고 관리 할 필요가 없습니다. AAD (Azure Active Directory)를 사용하여 안전한 액세스, 인증 및 인증 프로세스를 단순화합니다.- 구현 방법 : 로직 앱에 시스템이 부여 된 관리 아이덴티티를 활성화합니다. 이를 통해 로직 앱은 키를 직접 처리하지 않고 Azure Key Vault와 같은 Azure 서비스로 인증 할 수 있습니다 [1] [9].
2. Azure 키 볼트 통합
- 안전한 이유 : Azure Key Vault는 암호화 키를 포함한 민감한 데이터를 안전하게 저장하고 관리합니다. 개인 키를 노출시키지 않고 키 보드 내에서 키를 만들어 사용할 수 있습니다.- 구현 방법 :
- Azure CLI 또는 포털을 사용하여 Azure Key Vault에서 키를 만듭니다.
- Azure Key Vault REST API를 사용하여 로직 앱에서 키에 액세스하고 관리하십시오. 이를 위해서는 Key Vault에서 액세스 정책을 설정하여 로직 앱이 키를 검색하거나 사용할 수 있도록해야합니다 [5] [6].
3. 보안 JWT 생성 및 스토리지
- 안전한 이유 : JWTS 생성은 안전한 서명 키를 사용하고 토큰이 HTTPS를 통해 전송되는지 확인합니다.- 구현 방법 :
-Node.js의`jsonwebtoken`과 같은 라이브러리를 사용하여 안전한 비밀 키로 JWT를 생성하십시오.
- 서명 비밀이 Azure Key Vault에 이상적으로 저장되어 있는지 확인하십시오.
- 차단을 방지하기 위해 항상 HTTPS를 통해 JWT를 전송합니다 [3] [5].
4. JWT 처리를위한 모범 사례
- 적절한 만료 시간 설정 : JWT가 오용을 제한하기 위해 합리적인 만료 시간이 있는지 확인하십시오.- HTTPS 사용 : 항상 https를 통해 JWT를 전송하십시오.
- 비밀에 서명하십시오. 안전 : JWT 서명 비밀을 드러내지 마십시오 [3].
이러한 전략을 구현하면 Azure Logic 앱에서 JWT 키를 안전하게 관리하면서 높은 보안 표준 및 규정 준수 요구 사항을 유지할 수 있습니다.
인용 :
[1] https://learn.microsoft.com/en-ie/answers/questions/2088117/how-to-get-jwt-token whith-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-key-kault-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-zure-logic-apps
[9] https://gotoguy.blog/2020/12/04/blog-series-powering-ug--lights-part-3-using-logic-apps-to-authorize-and-ccess-cess-using-using-ou and hue-remote-api/