The role assignment is excellent feature over the various platforms (Google, GitHub, Facebook, etc. ). However, I've been thinking about a specific security "threat" which might arise from that.
Nick is someone with my absolute confidence in him/her. I want to take him as an administrator of my important project (S/HE will work on the project only from the office workstation).
I've two choice:
1) Grant his user permission to the project directly (his account is secured with 2-step auth too).
2) Give the access to our primary account (which is secured with 2-step authorization and only I can grant him with one-time code during the first-login), from where it will access the project.
The reason that I don't fully like the first method, is that s/he has a total freedom of where to use his account, on mobile, laptop, PC, guest house or who knows, and as s/he is not a security expert (but a typical user that is helping me), of course there is chances, that one day his account might get hacked (viruses, bots, infected PC or whatever threats), so, my project will be under a risk too.
There are of course higher threats against giving access to main account, but the reason that main account will be used ONLY from office WorkStation (and only authorized by my given codes), I couldn't finally decide which method could be more secure in such cases...