我尝试运行gsutil命令列出Google云端存储中存储桶中的内容。我几乎可以肯定这个命令没什么问题。
我得到的错误是:
CommandException: You have multiple types of configured credentials (['Oauth 2.0 User Account', 'OAuth 2.0 Service Account']), which is not supported. For more help, see "gsutil help creds".
我已经阅读了" gsutil help creds"中的详细信息,但这只包含四种凭据类型的高级定义,这些都没有用。
阅读错误消息,似乎我基本上需要删除其中一个"配置的凭据",在这种情况下,我想删除" Oauth 2.0用户帐户"证书。并使用" OAuth 2.0服务帐户"。
因此,我查看了" .boto"包含我自动生成的配置凭据的文件,但它看起来不像是可以编辑的Oauth 2.0用户帐户。
我还尝试在Google的开发者控制台中挖掘删除Oauth 2.0用户帐户,但我无法做到。
基本上,我的问题(假设它是正确的问题),如何删除" Oauth 2.0用户帐户" Google云端平台中的凭据?
答案 0 :(得分:5)
请运行:
gsutil -D
调试输出将包含config_file_list,它应该显示多个凭据的定义位置。
您是否使用Google Compute Engine运行?此问题发生的常见方式是,当GCE已经创建了服务帐户凭据时,用户在〜/ .boto中配置gsutil(使用gsutil config)的凭据(在/etc/boto.cfg中)
答案 1 :(得分:1)
您是否尝试过运行gcloud auth:
Usage: gcloud auth [optional flags] <command>
command may be activate-refresh-token | activate-service-account |
list | login | revoke
Manage oauth2 credentials for the Google Cloud SDK.
optional flags:
--format FORMAT Format for printed output.
--help Display detailed help.
--project PROJECT Google Cloud Platform project to use for this
invocation.
--quiet, -q Disable all interactive prompts.
-h Print a summary help and exit.
commands:
activate-refresh-token
Get credentials via an existing refresh token.
activate-service-account
Get credentials via the private key for a service
account.
list List the accounts for known credentials.
login Get credentials for the tools in the Google Cloud SDK
via a web flow.
revoke Revoke authorization for credentials.