Azure Logic 앱에서 JWT를 보호하기 위해 HTTPS를 구성하려면 다음을 수행하십시오.
1. 로직 앱 엔드 포인트에 대한 HTTPS를 확인하십시오 : Azure Logic 앱은 HTTP를 통해서만 액세스 할 수 있어야합니다. 이것은 모든 로직 앱이 https를 사용할 수 있도록 "deny-logicapps with-https"와 같은 Azure 정책을 사용하여 시행 될 수 있습니다 [2].
2. 추가 보안을 위해 API 관리를 사용하십시오 : APIM (Azure API Management)을 로직 앱 앞에 배치하십시오. APIM은 OAUTH 2.0 및 AAD (Azure Active Directory) 인증과 같은 추가 보안 기능을 제공하며 JWTS [1] [4]를 검증하는 데 사용할 수 있습니다.
3. API 관리 정책으로 JWT를 확인하십시오. API 관리의 JWT 정책을 사용하여 JWT의 존재와 타당성을 시행하십시오. 이 정책은 승인 된 요청 만 처리되도록 청중과 같은 청구를 확인할 수 있습니다 [1].
4. JWT 변속기를 확보하십시오 : 항상 https를 통해 JWT를 전송하여 도청 공격을 방지하십시오. 이를 통해 JWT가 클라이언트와 서버간에 안전하게 전송되도록합니다 [6].
5. JWTS를 안전하게 저장하십시오 : 브라우저 쿠키 또는 안전한 스토리지 솔루션과 같은 메커니즘을 사용하여 JWTS를 안전하게 저장하여 무단 액세스를 방지합니다 [6].
6. HTTPS 요청에 대한 클라이언트 인증서 구현 : 로직 앱이 클라이언트 인증서를 사용하여 HTTPS 요청을 작성 해야하는 경우 .crt 및 .key 파일을 Azure Key Vault 또는 Blob Storage에 업로드하십시오. 로직 앱의 HTTP 작업 에이 파일을 사용하여 HTTPS 요청을 안전하게 보내십시오 [5].
이 단계를 수행하면 HTTPS 및 추가 보안 조치를 사용하여 Azure Logic 앱에서 JWT를 효과적으로 보호 할 수 있습니다.
인용 :
[1] https://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-restr/336802
[2] https://www.azadvertizer.net/azpolicyadvertizer/deny-logicapps-without-https.html
[3] https://adityadeshpandeadi.wordpress.com/2020/07/23/authorization-for-azure-logic-apps-token/
[4] https://turbo360.com/blog/logic-app-best-practices-secure-your-zure-logic-apps
[5] https://stackoverflow.com/questions/78261501/azure-logic-app-https-connection-over-ssl-using-crt-key-files
[6] https://www.softwaresecured.com/post/how-to-properly-secure-your-jwts
[7] https://microsoft.github.io/azure-threat-research-matrix/credentialaccess/azt601/azt601-3/
[8] https://auth0.com/blog/how-to-validate-jwt-dotnet/