I am trying to lock down apim access by incoming ip

Kevin Perillo 20 Reputation points
2025-02-18T21:44:08.2933333+00:00

I am trying to lock down an APIM site by incoming IP. It seems like the best route is to use APIM Premium V2 to do VNET injection so I can use a network security group to allow incoming traffic. However, this requires upgrading to Premium V2. There is no way to upgrade an existing APIM instance apparently. However, when trying to create a new one APIM instance on Previum V2, I need to fill out a form to be granted access. I have done this several times, but received no response or acknowledgement of my request. How can I get this preview? Is there another way to do this that doesn't require Premium v@ tier on api management instance?

Azure API Management
Azure API Management
An Azure service that provides a hybrid, multi-cloud management platform for APIs.
2,303 questions
0 comments No comments
{count} votes

Accepted answer
  1. Suwarna S Kale 786 Reputation points
    2025-02-19T02:26:17.2233333+00:00

    Hello Kevin Perillo,

    Thank you for posting your question in the Microsoft Q&A forum.

    Azure API Management (APIM) is a powerful tool for managing, securing, and monitoring APIs. However, securing an APIM instance by restricting incoming IP addresses can be challenging, especially when working with specific tiers like Premium V2.

    Restricting incoming IP addresses is a common security requirement to ensure that only trusted sources can access an API. The most robust way to achieve this in Azure API Management is by using the Premium V2 tier, which supports Virtual Network (VNET) injection. By injecting the APIM instance into a VNET, users can leverage Network Security Groups (NSGs) to define IP-based access rules. However, this approach requires upgrading to the Premium V2 tier, which is currently in preview and not directly accessible to all users.

    While Premium V2 is the ideal solution for VNET integration and IP restriction, there are several alternative approaches that can be implemented without upgrading to this tier. These solutions vary in complexity and cost, allowing users to choose the one that best fits their requirements. Below are some options you may explore:

    1. Using Azure Application Gateway

    Azure Application Gateway is a web traffic load balancer that can be deployed in front of an APIM instance to restrict incoming IP addresses. It includes a Web Application Firewall (WAF) that supports IP-based access rules. By configuring the Application Gateway to allow only specific IP addresses, users can effectively secure their APIM instance. Useful link - https://learn.microsoft.com/en-us/azure/application-gateway/overview

    1. Using Azure Front Door

    Azure Front Door is a global content delivery network (CDN) that can be used to secure and optimize API traffic. Like Application Gateway, it includes a WAF that supports IP-based restrictions. By deploying Azure Front Door in front of an APIM instance, users can restrict access to specific IP addresses while benefiting from global load balancing and DDoS protection. Useful link - https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/afds-overview

    1. Using APIM's Built-In IP Filtering

    For simpler use cases, APIM provides a built-in IP filtering feature that can be configured using policies. The <ip-filter> policy allows users to define allow or deny rules for specific IP addresses or ranges. While this approach is less scalable than using NSGs or WAFs, it is a quick and cost-effective solution for basic IP restriction requirements. Useful link - https://learn.microsoft.com/en-us/azure/api-management/api-management-policies#access-restriction-policies

    If the above answer helped, please do not forget to "Accept Answer" as this may help other community members to refer the info if facing a similar issue. Your contribution to the Microsoft Q&A community is highly appreciated.


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.