Is there is an Azure API available that would allow me to do the steps outlined here:
The closest thing I can find is:
https://docs.microsoft.com/en-us/rest/api/authorization/roleassignments
I use the Python SDK, the interface to that API is here - https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-authorization
This API seems to be for granting access to resources under an Azure subscription, not to the subscription itself...