-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How do I successfully generate signed URLs to cloud storage objects when using workload identity federation? #164
Comments
Thank you for opening an issue. When using an exported service account key, the URL is signed with the private key embedded in the service account (there's no API call to GCP). When using WIF, there is no private key material stored locally, so you need to use the iamcredentials API's This process is documented in the GCS documentation for signing:
So the algorithm is:
Unfortunately it doesn't look like there's a native function in the Python SDK to do this yet. Does that make sense? |
Thank you for your quick reply @sethvargo! That makes sense. Do you know if there will be a native function in the python SDK anytime soon to do this? |
Hi @cortadocodes - I'm not sure. It would be best to file an issue against the Python library directly: https://github.com/googleapis/python-storage |
I'm going to close this out. Let me know if you need any more assistance! |
TL;DR
Expected behavior
The signed URLs to be generated normally
Observed behavior
As seen here, I get the following failed test
Action YAML
https://github.com/octue/octue-sdk-python/blob/main/.github/workflows/python-ci.yml
Log output
https://github.com/octue/octue-sdk-python/runs/6006955054?check_suite_focus=true
Additional information
I found this similar issue for the
google-cloud-go
package and attempted some of the solutions, but they didn't work.The text was updated successfully, but these errors were encountered: