gpt4 book ai didi

google-cloud-storage - 让 gsutil 使用 gcloud 激活的服务帐户的问题

转载 作者:行者123 更新时间:2023-12-04 19:33:33 24 4
gpt4 key购买 nike

我正在尝试获取我通过 gcloud auth login 激活的服务帐户,以便由 gsutil 获取。大查询命令行工具 bq 可以很好地使用它。

我遵循的操作顺序:

第一的:

gcloud auth activate-service-account --key-file snip.json snip@developer.gserviceaccount.com

这导致输出:
[snip@developer.gserviceaccount.com] 的已激活服务帐户凭据

第二:
我通过以下方式确认凭证处于事件状态:
gcloud auth list

结果是:
**认证账户:
- snip@developer.gserviceaccount.com(事件)...

第三:
我看看 bq 工具是否捡到它:
bq ls

它正确地列出了我项目中的数据集。

第四:
我在我的存储桶上尝试 gsutil。我已将我的服务帐户用户作为所有者添加到此存储桶以确保它具有权限。
gsutil ls gs://snip

这导致:漫长的等待,然后最终:
您正在尝试访问未配置的 protected 数据
证书。请访问https://cloud.google.com/console#/project
并注册一个帐户,然后运行“gcloud auth login”
命令配置 gsutil 以使用这些凭据。


然后我使用调试命令:
gsutil -D

输出:
gsutil version: 4.11
checksum: snip (OK)
boto version: 2.30.0
python version: 2.7.5 (default, Jun 17 2014, 18:11:42) [GCC 4.8.2 20140120 (Red Hat 4.8.2-16)]
OS: Linux 3.10.0-123.20.1.el7.x86_64
multiprocessing available: True
using cloud sdk: True
config path: no config found
gsutil path: /home/blah/google-cloud-sdk/platform/gsutil/gsutil
compiled crcmod: False
installed via package manager: False
editable install: False
Command being run: /home/blah/google-cloud-sdk/platform/gsutil/gsutil -o GSUtil:default_project_id=snip -D
config_file_list: []
config: [('debug', '0'), ('working_dir', '/mnt/pyami'),'https_validate_certificates', 'true'), ('debug', '0'), ('working_dir', '/mnt/pyami'), ('default_project_id', 'snip')]

在此之后,如果我通过 gcloud auth login 将我自己的用户 ID 添加到凭证存储,则 gsutil ls gs://snip 工作正常。如果我随后将服务帐户切换为事件帐户而不是我的用户 ID(使用 gcloud config set 帐户),则它不再工作 - 我收到与上述相同的错误消息。

最后一条信息 - 我在我自己的 VM 上运行它,而不是在 GCE 中。

最佳答案

我能够重现这个问题。它似乎只发生在 JSON key 文件中。 Google 已根据 this 了解此问题.在问题解决之前,我建议您使用 P12 key 文件进行身份验证,或者将默认项目服务帐户添加为您尝试访问的存储桶的所有者。

关于google-cloud-storage - 让 gsutil 使用 gcloud 激活的服务帐户的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29400717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com