3 votes

Comment empêcher l'accès direct à l'API hébergée dans Azure app service ?

J'ai une API backend qui est hébergée dans Azure app service. Je souhaite utiliser Azure API Management comme interface pour cette API dorsale et j'ai réussi à le configurer dans Azure. J'ai configuré la gestion de l'API pour qu'elle utilise OAuth lors de l'accès à cette API dorsale, ce qui fonctionne lorsque les clients accèdent à l'API via les points d'extrémité de la gestion de l'API Azure, mais comment puis-je empêcher les gens d'accéder directement aux points d'extrémité de l'API dorsale afin que seuls les appels provenant des points d'extrémité de la gestion de l'API soient autorisés ?

4voto

Vitaliy Kurokhtin Points 20

Il existe plusieurs options de différents niveaux de sécurité :

  1. Secret partagé - définir un certain en-tête avec une certaine valeur dans l'APIM et vérifier cette valeur dans votre backend.
  2. Filtre IP - vérification de l'IP APIM en tant que source au niveau du backend.
  3. Certificat d'authentification du client - téléchargez un certificat d'authentification du client dans l'APIM et joignez-le à chaque demande adressée au backend. Vérifier la présence de ce certificat au niveau du backend.
  4. VNET - placez APIM et votre backend dans le même VNET et bloquez l'accès au backend depuis l'extérieur.

1voto

ZE7EN Points 83

J'ai personnellement utilisé les restrictions de propriété intellectuelle avec beaucoup de succès. L'APIM reçoit une IP statique, vous pouvez donc configurer une restriction d'IP dans l'"API racine" qui n'autorise que les appels de l'APIM. Le résultat est un 403 si vous appelez l'API racine directement.

Si vous ne voulez pas que l'API racine envoie un 403, vous pouvez utiliser des règles pour le modifier, ou vous pouvez configurer l'authentification au niveau de l'APIM et vous obtiendrez un 401 avant même d'atteindre le 403.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X