Azure Logic 앱에서 JWT 토큰을 처리하려면 보안 및 효율성을 보장하기위한 몇 가지 모범 사례가 포함됩니다. 몇 가지 주요 고려 사항은 다음과 같습니다.
1. 보안 서명 비밀 : JWT 서명 비밀을 드러내지 마십시오. 타협하면 공격자가 토큰을 위조하여 무단 액세스를 초래할 수 있습니다 [1].
2. HTTPS 사용 : 항상 HTTPS를 통해 JWT를 전송하여 가로 채지 않도록 보호하십시오. 이렇게하면 전송 중에 토큰이 노출되지 않도록합니다 [1].
3. 적절한 만료 시간 설정 : 토큰은 오용 기회의 창을 제한하기 위해 합리적인 만료 시간이 있어야합니다. 이것은 토큰이 손상되면 장기 무단 액세스를 방지하는 데 도움이됩니다 [1].
4. JWTS를 올바르게 확인하십시오 : API 관리의 JWT 액세스 제한 정책 검증과 같은 정책을 사용하여 JWT의 존재와 유효성을 시행하십시오. 이 정책은 토큰이 의도 한대로 사용되도록 청중과 같은 청구를 확인할 수 있습니다 [3].
5. 토큰 유형 차별화 : 액세스 토큰과 ID 토큰을 구별하여 클라이언트가 토큰을 사용하도록하십시오. 이것은 토큰의 범위 또는 청중 주장을 확인하여 달성 할 수 있습니다 [2].
6. 키 회전 구현 : JWKS (JSON Web Key Set) 엔드 포인트를 사용하여 서명 키를 단단히 관리하고 회전시킵니다. 이를 통해 통합을 방해하지 않고 쉬운 키 업데이트가 가능합니다 [2].
7. 토큰 패스 안전 : JWT를 워크 플로우를 통해 전달할 때는 토큰 자체를 노출시키지 않고 승인을 유지하기 위해 전체 토큰이 아닌 주장을 전달하는 것을 고려하십시오 [4].
8. 로직 앱에서 인증 구성 : 로직 앱의 인증 옵션을 사용하여 워크 플로 트를 트리거하기 위해 유효한 JWT가 필요합니다. 발행자와 잠재 고객이 예상 신분 공급자에 대한 토큰을 검증하도록 올바르게 구성되어 있는지 확인하십시오 [5].
인용 :
[1] https://www.restack.io/p/tokenization-azure-logic-apps-answer-cat-ai
[2] https://curity.io/resources/learn/jwt-best-practices/
[3] https://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-restr/336802
[4] https://stackoverflow.com/questions/33231560/azure-logic-app-passing-jwt-token
[5] https://autosysops.com/blog/parse-jwt-tokens-in-azure-logic-apps
[6] https://learn.microsoft.com/en-us/aspnet/core/security/authentication/configure-jwt-bearer-authentication?view=aspnetcore-9.0
[7] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-securing-a-logic-app
[8] https://blog.logrocket.com/jwt-authentication-best-practices/