@Girish Prajwal Just for better understanding the issue: I would recommend that you remove the VM contributor role from the user and reassign it again, (at the subscription scope). Then sign out and sign back in and try to create the snapshot again.
We have two options for this issue you can add the following line the actions: "Microsoft.Compute/disks/beginGetAccess/action" or just add the line "Microsoft.Compute/disks/*"
Based on the error message: The permissions error "The client with object id does not have authorization to perform action", check that you are currently signed in with a user that is assigned a role that has the Microsoft.Authorization/roleAssignments/write permission such as Owner or User Access Administrator at the scope you are trying to assign the role. For more information, refer to this article for Access denied or permission error, which gives some idea on your query.
Create a snapshot using the portal or PowerShell
Azure: Custom RBAC Role-Definition in your subscription
Hope this helps!
Kindly let us know if the above helps or you need further assistance on this issue.
----------------------------------------------------------------------------------------------------------------
Please don’t forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.