codyc4321
codyc4321

Reputation: 9682

Forbidden: 403 User not authorized even though the user is logged in

I am getting 403 error on Mac trying to hit a URL that uses the Python client:

Traceback (most recent call last):
  File "/Users/cchilders/.virtualenvs/myproject/lib/python2.7/site-packages/flask/app.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/cchilders/.virtualenvs/myproject/lib/python2.7/site-packages/flask/app.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/cchilders/work_projects/myproject/myproject/blueprints/admin.py", line 25, in health
    return admin.Health.read()
  File "/Users/cchilders/work_projects/myproject/myproject/views/admin.py", line 52, in read
    if not topic.exists():
  File "/Users/cchilders/.virtualenvs/myproject/lib/python2.7/site-packages/gcloud-0.18.3-py2.7.egg/gcloud/pubsub/topic.py", line 179, in exists
    api.topic_get(topic_path=self.full_name)
  File "/Users/cchilders/.virtualenvs/myproject/lib/python2.7/site-packages/gcloud-0.18.3-py2.7.egg/gcloud/pubsub/connection.py", line 171, in topic_get
    return conn.api_request(method='GET', path='/%s' % (topic_path,))
  File "/Users/cchilders/.virtualenvs/ourapi/lib/python2.7/site-packages/gcloud-0.18.3-py2.7.egg/gcloud/connection.py", line 347, in api_request
    error_info=method + ' ' + url)
Forbidden: 403 User not authorized to perform this action. (GET https://pubsub.googleapis.com/v1/projects/myproject/topics/mytopic)
127.0.0.1 - - [10/Nov/2016 16:40:58] "GET /admin/health/ HTTP/1.1" 500 -

views/admin.py

    ps = pubsub.Client()
    topic = ps.topic(application.config['PUBSUB_TOPIC'])
    # topic.project = application.config['PUBSUB_PROJECT']
    t_component = Component()
    t_component.name = 'topic'
    t_component.status = 'UP'
    t_component.desc = ('{} exists and is healthy.'
                        .format(topic.full_name))
    if not topic.exists():
        t_component.status = 'DOWN'
        t_component.desc = (
            'Configured PUBSUB topic ({}) does not exist.'
            .format(topic.full_name)
        )

I created the topic/subscription so I have permissions. My config and gcloud user is correct, I did gcloud auth ... and double-checked. I'm the only one getting this error and I did have my personal account used on this laptop to practice the gcloud tutorial. My coworker thought using that other account in the past may cause an issue. I checked my config and the project I'm pointing to, it's the right project.

Upvotes: 1

Views: 392

Answers (1)

codyc4321
codyc4321

Reputation: 9682

There is a difference between gcloud auth login and gcloud auth application-default login

Re-logging in under gcloud auth application-default login fixed

Upvotes: 1

Related Questions