Reputation: 1360
We are an ISV who offer a proprietary web application that can be installed anywhere: Window Server, Linux, Docker etc.
Normally, we would provide a license file that allows the web application to run past the 60 day trial period. The license file we issue is linked to a specific domain name, so the license file can't be copied and used for running the web application elsewhere.
We would like to offer the software via an Azure Marketplace Virtual Machine offering with a per-core, per-hour cost that is billed through Azure.
If we do this, how do we protect the software installed on the VM? What is to prevent someone from connecting to the VM and copying the software to a non-metered VM?
Is there some way for the web application to verify that it is running in a metered VM? Perhaps via the metadata service?
Upvotes: 0
Views: 138
Reputation: 1360
The best solution seems to be to use the Azure metadata service as an alternative to the license file.
The attested data endpoint provides a cryptographically-signed document that contains the SKU of the image from which the VM was created.
This allows the software to verify that it is running in a VM billed through Azure Marketplace.
Upvotes: 0