Microsoft Learn. (n.d.). Understand how Azure RBAC determines if a user has access to a resource. Retrieved from https://learn.microsoft.com/en-us/azure/role-based-access-control/overview-access-control#how-azure-rbac-determines-if-a-user-has-access-to-a-resource
Reference details: The section "Access evaluation" explains that Azure first checks for any deny assignments, and if one exists for the action, access is blocked, even if a role assignment grants access.
Microsoft Learn. (n.d.). Understand Azure role definitions. Retrieved from https://learn.microsoft.com/en-us/azure/role-based-access-control/role-definitions#notactions
Reference details: The "NotActions" section states, "NotActions specify the management operations that are excluded from the allowed Actions. An effective permission is computed by subtracting the NotActions operations from the Actions operations."
Microsoft Learn. (n.d.). What is Azure role-based access control (Azure RBAC)?. Retrieved from https://learn.microsoft.com/en-us/azure/role-based-access-control/overview#scope
Reference details: The "Scope" section describes how permissions are inherited from parent scopes. "When you assign a role at a parent scope, those permissions are inherited by the child scopes." This confirms that Role1 assigned at MG1 applies to VM1.