Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure functions 仅允许通过APIM访问功能_Azure Functions_Azure Api Management - Fatal编程技术网

Azure functions 仅允许通过APIM访问功能

Azure functions 仅允许通过APIM访问功能,azure-functions,azure-api-management,Azure Functions,Azure Api Management,我们的合作伙伴曾经直接访问我们的函数,最近我们创建了一个APIM并将Azure函数与之连接,我们使用了一些方法(如JWT)来保护它。但我们发现合作伙伴仍然可以像往常一样访问这些功能。 是否可以拒绝从internet访问功能,但不能访问APIM。您可以尝试将功能应用程序和APIM放在azure VNET中,然后internet访问将被拒绝 看看这个: 有两种方法限制对Azure功能的访问: 启用该功能。这将禁用所有公共访问,并且仅从VNET内部限制访问。此功能需要一个未使用的子网,然后将使用该子网

我们的合作伙伴曾经直接访问我们的函数,最近我们创建了一个APIM并将Azure函数与之连接,我们使用了一些方法(如JWT)来保护它。但我们发现合作伙伴仍然可以像往常一样访问这些功能。
是否可以拒绝从internet访问功能,但不能访问APIM。

您可以尝试将功能应用程序和APIM放在azure VNET中,然后internet访问将被拒绝

看看这个:


有两种方法限制对Azure功能的访问:

  • 启用该功能。这将禁用所有公共访问,并且仅从VNET内部限制访问。此功能需要一个未使用的子网,然后将使用该子网分配入站专用IP地址。最好在与APIM相同的VNET内创建子网

  • 使用功能并允许访问APIM使用的子网

  • 注意:其他线程提到了区域VNet集成,这是不正确的,因为该功能用于建立出站连接。如果您的应用程序服务需要调用VNet中托管的资源,那么区域VNet集成将非常有用


    函数已经在VNet中,并且函数和存储在同一子网中,否则它无法访问存储。@William您已经这样做了吗?我认为这应该是避免外部访问的一个好方法。@William如果您使用不需要存储的触发器,如httptrigger,则不需要将存储放入VNET。@William和Turbo在评论中说的,如果您是httptrigger,您可以设置函数访问级别,以便只有那些具有密钥的函数才能访问该函数。您应该考虑撤销密钥以供访问伙伴,因为您希望使用APIM,您可以逐步取消并开始使用apim,而不是直接使用azure功能。azure功能当前的身份验证级别是什么?如果您使用特定于功能的密钥进行设置,合作伙伴为什么可以访问?@Turbot Current access level正在使用app key,并且密钥已共享给合作伙伴。