You can block IP addresses access and limit access to certain individuals by using Azure Active Directory authentication with Azure Maps.
When you say matrix maps, I'm assuming you mean distance/travel time matrices via the matrix routing API. There are two different ways to access the matrix API via a POST request. There is a synchronous and allows up to 100 cells of a matrix to be calculated. The asynchronous API can calculate up to 700 cells of a matrix in a single request.
When using the synchronous API, the results are returned in the response. When using asynchronous API, the response has a matrix ID in the header that you can then use with the following API to download the results: https://learn.microsoft.com/en-us/rest/api/maps/route/get-route-matrix?tabs=HTTP
Some more details can be found here: https://learn.microsoft.com/en-us/azure/azure-maps/how-to-use-best-practices-for-routing
Here is a sample that uses the asynchronous route matrix in a web app: https://samples.azuremaps.com/?search=matrix&sample=calculate-nearest-locations
If you are looking to use this API outside of a web API, you might find one of the client REST SDKs useful: https://learn.microsoft.com/en-us/azure/azure-maps/rest-sdk-developer-guide
Geocoding can be done in a lot of ways. If creating a web app, the web SDK has a services module that makes it easy to geocode addresses:
If you are looking to just geocode addresses, I recommend using the v2 search services: https://learn.microsoft.com/en-us/rest/api/maps/search-v2 If you also want to be able to search for points of interest or do more complex type of search, use one of the v1 search services: https://learn.microsoft.com/en-us/rest/api/maps/search