How do the user permission work in GitLab?

I don’t understand how GitLab interacts with Git in that regard. Will the permissions be for GitLab only or will they be applied if I for example use the command line or a plugin for my IDE?

How does it work? I could not find a simple answer to this basic question at all that is understandable for a person that is new to SCM.

Permissions are enforced for all access to a git repository.
It doesn’t matter whether you use the Web-UI, git-command-line or any git-UI.
GitLab sits between the (internal) git-server and your clients.