APIM (Azure API Management)에서 OpenID Connect 구성에는 API에 대한 안전하고 효율적인 인증 및 승인을 보장하기위한 몇 가지 모범 사례가 필요합니다. 몇 가지 주요 고려 사항은 다음과 같습니다.
1. Azure AD 응용 프로그램 생성 :
-AD (Azure Active Directory)에 응용 프로그램을 등록하여 API를 나타냅니다. 이 응용 프로그램은 APIM에서 OpenID Connect를 구성하는 데 사용됩니다 [3].
- 개발자 포털과 함께 사용하려는 경우 응용 프로그램이 다중 테넌트로 표시되어 있는지 확인하십시오 [3].
2. OpenID Connect Authorization 구성 :
- Azure Portal에서 APIM 인스턴스로 이동하여 "OpenID Connect"섹션 [1] [3] 아래에 새로운 OpenID Connect Authorization 서버를 추가하십시오.
-일반적으로`https://login.microsoftonline.com/.
- 만든 Azure AD 응용 프로그램의 클라이언트 ID 및 클라이언트 비밀을 입력하십시오 [1] [3].
3. ridirect uris 구성 :
- Azure AD 응용 프로그램에서 권한 부여 코드와 암시 적 보조금 흐름에 대한 리디렉션 URI를 추가하십시오. 이 URI는 일반적으로 OpenID Connect 설정 동안 APIM에 의해 제공됩니다 [1] [3].
4. API 용 OpenID 연결 활성화 :
- APIM에서 보호하려는 API를 선택하고 설정으로 이동하십시오. 보안 하에서 OAUTH 2.0을 선택하고 [1]를 구성한 OpenID Connect Authorization Server를 선택하십시오.
5. JWT 토큰 검증 :
-APIM의 'Validate-JWT'정책을 사용하여 승인 헤더에서 전송 된 JWT 토큰을 확인하십시오. 이 정책은 토큰의 청중 주장을 확인하여 백엔드 응용 프로그램의 클라이언트 ID [5] [8]와 일치하는지 확인합니다.
- OpenID Connect URL, Audience 및 Issuer와 같은 민감한 정보를 안전하게 저장하기 위해 명명 된 값 또는 Azure 키 볼트를 사용하는 것을 고려하십시오 [6].
6. 테스트 및 모니터링 :
-APIM 개발자 포털을 사용하여 API를 테스트하여 OpenID Connect 인증이 올바르게 작동하는지 확인하십시오 [3].
- API 트래픽 및 인증 흐름을 모니터링하여 문제 또는 보안 취약점을 식별합니다 [7].
이러한 모범 사례를 따르면 Azure APIM의 OpenID Connect를 사용하여 API를 효과적으로 보호 할 수 있습니다.
인용 :
[1] https://www.cloudfronts.com/unctateorized/securing-an-api-open-od-connect-from-aapim-part-2-configure-setup-and-open-id-connect-the-developer-console/
[2] https://stackoverflow.com/questions/77698997/configure-azure-apim-application-with-oauth-2-0 whith-will-secure-api-with-jwt-t
[3] https://winterdom.com/2017/11/11/openid-connect-api-management
[4] https://www.liatrio.com/resources/blog/azure-api-management-okta-integration
[5] https://learn.microsoft.com/en-us/azure/api-management/api-management-how-protect-backend-with-aad
[6] https://stackoverflow.com/questions/72716297/can-openid-config-ulience-issuer- value-in-the-azure-apim-policies-be/72716409
[7] https://techcommunity.microsoft.com/discussions/azure/api-management-service-secure-configuration-for-standard-v2-sku/4336449
[8] https://learn.microsoft.com/en-us/azure/api-management/authentication-authorization-overview