I gave a user's Google account access to one of my datasets. They are using this Python script:
def query_stackoverflow():
client = bigquery.Client()
query_job = client.query(
"""
SELECT *
FROM `myproject.mydata.mytable`
ORDER BY someColumn DESC
LIMIT 10"""
)
results = query_job.result()
It works but they are seeing this warning:
UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK without a quota project. You might receive a "quota exceeded" or "API not enabled" error. We recommend you rerun
gcloud auth application-default login
and make sure a quota project is added. Or you can use service accounts instead. For more information about service accounts, see https://cloud.google.com/docs/authentication/
warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)
I read through some docs but I don't understand what this means. Does this mean I should put a quota on my project? I know this person and trust them, but does this mean they could use up all of my bq quota with their queries? It also seems like this could be "solved" by using a service account so is this quota a hard limit on non-service account access I can't change?
Giving the user's Google account access is more convenient and secure then creating a service account and generating keys for them.