You need to double check your current active account and make sure your current active account have that permission. Or else you need to go to your Google cloud console to assign the permission to your current active account or you need to switch your account.
$ gcloud beta functions deploy helloWorld --stage-bucket hdgem --trigger-topic hello_world
ERROR: (gcloud.beta.functions.deploy) ResponseError: status=, code=[Forbidden], message=[The caller does not have permission]
i88ca@hdgem:~/gcf_hello_world$ gcloud auth list
- firstname.lastname@example.org ACTIVE
To set the active account, run:
$ gcloud config set account `ACCOUNT`