-
Notifications
You must be signed in to change notification settings - Fork 651
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
GCP - Do not require service account key export for google-lifesciences #1709
Comments
Not sure to understand how the auth credentials are taken then? |
If nextflow is executed from an existing GCP instance, the service account is baked into that VM |
I think then we are in the scenario at point 2:
There's no way if the service account info is accessible? It would be preferable to check to give a more consistent error message if missing. |
I was able to bypass the service account key export and use the user credentials via
|
Reviewing the description of how Application Default Credentials work, as described here: https://github.com/googleapis/google-auth-library-java#google-auth-library-oauth2-http The key bit is:
For submitting requests to the Pipelines API, it would be preferable for Nextflow to just pick up the credentials that are available in the runtime environment (the default credentials). This is the way that most other tools work. So the net of it is:
Having users explicitly set But it isn't clear how any other credentials are going to get picked up. The most common one (I think) is #5 ("Google Compute Engine built-in credentials"). The explicit check for |
FWIW, I commented out a bit of code in
In my test case, I was running nextflow from a GCE VM so I wanted nextflow to pick up the service account credentials on my VM. However, with this change, I could also execute nextflow locally and it would pick up my end user credentials that I created with |
Thanks for this detailed report, this is indeed very useful. A quick question related to Google LS execution, in my tests I notice the |
If
Does this answer your question or were you looking for something else? |
Oops.. I've in my previous comment the crucial point was missing. I meant that I've tested in Google removing the check for the Therefore I was wondering how you made it work? |
Which code did you take out, what was the error message, and on which API call? As long as you continue to call |
Hi @mozack , @kdbinder , @snamburi3! If you get the chance, please take a look at #1776 to see if the implementation there (and corresponding documentation) matches up with your expectation for how Nextflow should best handle credentials for the Life Sciences API. Thanks! |
Done |
New feature
Hi, it would be very helpful to use the currently authenticated credentials instead of export service account key for the google-lifesciences executor. In fact, we cannot use the life-sciences API for most of our use cases without this.
This was done previously for the google-pipelines executor:
#1068
Usage scenario
There is data available to the public on GCP that requires security access. Providers of this data do not allow export of security keys because it may circumvent their security measures. For example, the TCGA and TARGET data stored here: https://isb-cgc.appspot.com/ cannot be accessed from a project with an exported security key.
Suggest implementation
It should be possible to just used the currently authenticated user's credentials. This code snippet from @kdbinder may help:
kdbinder@8b6c049
Thanks!
The text was updated successfully, but these errors were encountered: