Azure APIM policy.xml 限制路由

Azure APIM policy.xml restricted routing

我在 azure APIM 中有两个产品(APIs)设置在 2 个不同的订阅(2 个不同的域)中。目前我们的 apim 在高级 sku 上,可以调用多个自定义域。根据我将 APIM 部署到的环境 - 我想添加一个策略,该策略将拒绝来自所有其他域的 API 的入站请求并仅接受来自第二个域的请求。基本上限制域 2 上的所有其他 API-1 调用。有没有办法通过添加条件来实现?

通过将策略置于 API 级别,您可以确保它仅针对 API 执行,choose 策略允许条件逻辑,并且策略表达式公开请求信息,所以:

<inbound>
    <base />
    <choose>
        <when condition="@(context.Request.OriginalUri.Host == "contoso.com")">
            <return-response>
                <set-status code="400" reason "Bad request"/>
            </return-response>
        </when>
    </choose>
</inbound>