I have several Microsoft Azure functions developed. I would like to use a gateway with firewall to make my Azure functions available and protected using one public IP only.
Azure API management allows you to provide a single access point for all your customers.
If you've made a HTTP triggered Azure Function (or any SOAP or REST service for that matter), you can use API management to provide a central access point for this function. This allows you to do load balancing / hot swapping / rate limiting / authentication and authorization / IP whitelisting and more.
See here for some more info on HTTP triggered functions: https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-serverless-api
See here for how to create an Open API for your Azure Function: https://docs.microsoft.com/en-us/azure/azure-functions/functions-openapi-definition
I think this could be achieved by using api management. With Api management you can add a single point of access. First you have to create an api management instance. And you can add api products as well so for the 3rd party who consume your api can subscribe to your api products. Take a look at developer portal and publisher portal in the api managment instance. Just take a look, https://azure.microsoft.com/en-us/services/api-management/