Google Cloud 身份验证错误。用户名与 json 不匹配

时间:2021-05-11 14:43:45

标签: google-cloud-platform

我想将 dockerfile 上传到 Container Registry。

为此,首先我必须设置身份验证。为了做到这一点,我必须设置应用程序密钥。

至于密钥,我成功地遵循了这些说明: https://cloud.google.com/iam/docs/creating-managing-service-account-keys

我已经设法用密钥下载了 json 文件。

现在对于身份验证部分,我按照此处的步骤操作: https://cloud.google.com/container-registry/docs/advanced-authentication#gcloud-helper

我打开了云外壳(浏览器上的终端)。 我输入 gcloud auth login 我得到一个链接,我打开它,我复制并粘贴一个代码到终端,这工作正常。

现在我必须在我的系统本地键入对我进行身份验证的命令。

我输入 gcloud auth activate-service-account ACCOUNT --key-file=KEY-FILE

KEY-FILE 是 json 的目录。

ACCOUNT 是格式为 [USERNAME]@[PROJECT-ID].iam.gserviceaccount.com 的服务帐户名称。您可以在 Cloud Console 的服务帐户页面上或使用命令 gcloud iam service-accounts list

查看现有服务帐户

我收到此错误:

ERROR: (gcloud.auth.activate-service-account) Invalid value for [ACCOUNT]: The given account name does not match the account name in the key file. This argument can be omitted when using .json keys.

所以 ACCOUNT 有错误。

首先,PROJECT-ID 没问题。

对于 USERNAME,我使用:FIRSTNAME_LASTNAME。这是我在 google shell(在浏览器上)的提示。 当我生成一个终端时,这就是我得到的 FIRSTNAME_LASTNAME@cloudshell

所以我省略了 @cloushell 部分并获得了它之前的部分。

但它不起作用。我打开 json 并且没有包含我的用户名的字段。这些是它具有的字段:

type
project_id
private_key_id
private_key
client_email
client_id
auth_uri
token_uri
auth_provider_x509_cert_url
client_x509_cert_url

project_id 字段包含 PROJECT-ID。 但是在 json 中没有提到我的 USERNAME。

字段 client_id 包含一些数字。

我也通过了电子邮件,我通过了client_id,但错误是一样的。

有人可以帮助我吗,我必须在 gcloud 命令中提供的正确用户名是什么/在哪里?

0 个答案:

没有答案
相关问题