Azure Logic 앱에서 ID 토큰을 사용하려면 안전한 워크 플로를 유지하기 위해 이해하는 데 중요한 몇 가지 보안 영향이 필요합니다.
보안 혜택
1. 관리 ID : Azure Logic Apps는 관리 된 ID를 활용하여 하드 코딩 된 자격 증명없이 Azure 서비스를 인증 할 수 있습니다. 이 접근법은 자격 증명 노출의 위험을 제거하고 수동 비밀 관리의 필요성을 줄여 전반적인 보안을 향상시킵니다 [3] [6].
2. Bearer Token 인증 : Bearer Tokens는 Azure Logic 앱과 통합 된 REST API를 보호하는 데 널리 사용됩니다. 이 방법은 '권한 부여'헤더에 보호 된 자원에 액세스 할 수있는 보안 토큰을 제시하여 간단하고 안전한 인증 메커니즘을 제공하는 것입니다 [5].
보안 문제
1. 토큰 관리 : ID 토큰을 포함한 액세스 토큰은 민감 할 수 있습니다. 유출되면 자원에 대한 무단 액세스를 허용 할 수 있습니다. 보안 위반을 방지하기 위해서는 이러한 토큰의 적절한 관리 및 저장이 필수적입니다 [8].
2. 승인 정책 제한 사항 : Azure Logic App은 OAUTH 인증을 지원하는 반면, 승인 정책에는 제한이 있습니다. 예를 들어, 역할을 확인하거나 로직 앱 내에서 토큰 서명을 검증 할 수있는 옵션이 없으므로 잘못 만들어진 토큰이 통과 할 수 있습니다. 이로 인해 강력한 역할 기반 승인 또는 토큰 검증이 필요한 미션 크리티컬 응용 프로그램에 적합하지 않습니다 [1].
3. SAS TOKENS vs. OAUTH : 로직 앱의 기본 HTTP 트리거는 트리거 URL에 포함 된 SAS 토큰을 사용합니다. SAS 토큰은 본질적으로 나쁘지 않지만 안전하게 처리해야합니다. 관리 된 ID로 OAUTH로 전환하면 URL의 정적 자격 증명을 피함으로써 보안을 향상시킬 수 있습니다 [1].
모범 사례
- 관리 된 신원 사용 : 하드 코드 자격 증명을 피하기 위해 인증을 위해 관리 된 신원을 선호합니다.
- 보안 토큰 스토리지 : Azure Key Vault와 같은 토큰을 단단히 보관하십시오.
- 토큰을 모니터링하고 검증하십시오. 중요한 응용 프로그램의 경우 기능 앱과 같은 외부 서비스를 사용하여 토큰 서명 및 역할을 검증하십시오.
- 액세스 제한 : 공인 신분 만 논리 앱 및 리소스에 액세스 할 수 있는지 확인하십시오.
인용 :
[1] https://hybridbrothers.com/using-managed-identities-logic-app-http-triggers/
[2] https://docs.azure.cn/en-us/connectors/introduction
[3] https://dev.to/prachibhende/security-first-architection-in-azure-logic-apps-patterns-patterns-practices and-compliance-56j5
[4] https://stackoverflow.com/questions/79171052/how-do-you-authenticate-a-call-to--a-paldard-via-oauth2-0
[5] https://www.restack.io/p/azure-logic-app-bearer-token-answer-cat-ai
[6] https://turbo360.com/blog/azure-managed-service-identity-for-logic-apps
[7] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-securing-a-logic-app
[8] https://www.wiz.io/academy/azure-security-risks
[9] https://www.linkedin.com/pulse/managed-ondities-logic-apps-azure-ad-automate-your-stuff-periwal