在没有服务帐户的情况下通过Google Cloud SDK进行身份验证

时间:2020-04-16 17:42:46

标签: python authentication google-cloud-storage google-cloud-sdk

从本地Jupyter笔记本运行。

我正在尝试执行非常简单的任务,使用以下代码从GCP存储桶下载文件:

from google.cloud import storage

# Initialise a client
storage_client = storage.Client("gcpkey.json")
# Create a bucket object for our bucket
bucket = storage_client.get_bucket("gcp_bucket")
# Create a blob object from the filepath
blob = bucket.blob("file_in_bucket_I_want.file")
# Download the file to a destination
blob.download_to_filename("destination_file_name")

重要的是我想使用我的最终用户帐户,而不能使用服务帐户。我发现Google docs令人困惑。有人可以告诉我在哪里获取gcp json密钥,它是否像上面的代码片段一样简单,或者我是否必须添加一些中间步骤?

当我遵循链接的文档时,我将被发送到OAuth门户,而当我通过Google登录时,会收到以下错误消息:

This app isn't verified
This app hasn't been verified by Google yet. Only proceed if you know and trust the developer.

If you’re the developer, submit a verification request to remove this screen. Learn more

1 个答案:

答案 0 :(得分:3)

最简单的方法就是运行

gcloud auth application-default login

然后在脚本中:

storage_client = storage.Client()

它将从环境中获取凭据。

或者,您可以按照this doc进入OAuth同意屏幕并生成客户机密。