fsspec / fsspec/gcsfs

"Forbidden" for writing, but not reading, when using `token='cache'` and `token='cloud'`

Open
#230 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
398
Forks
181
Avg merge
2d 10h
Merged PRs (30d)
36

Description

We are using gcsfs inside a pangeo-powered cluster on GCP. One of our users has run into the following somewhat-mysterious behavior: initializing a gcfs.GCSFileSystem object with token='cache' and token='cloud' allows him to read items that are in a bucket on our project, but he hits a 403 and gets Forbidden: https://www.googleapis.com/upload/storage/v1/b/learning2learn/o Insufficient Permission when trying to write to the bucket. This is resolved when using token='browser' and going through that process. Beyond fixing the particular issue, I am also a bit confused on when/how/whether a token gets cached in the user's home directory and how we can examine whether a cached token works. Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the write failure with GCSFileSystem using token='cache' and token='cloud', then compare it with token='browser'. Inspect how cached credentials are stored and examined in the user's home directory; done means the read/write permission behavior and token-cache conditions are understood and the issue is fixed or clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
gcp, python
Domain
authentication, authorization, cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.