【问题标题】:Gcloud : Authenticating with Service AccountGcloud:使用服务帐户进行身份验证
【发布时间】:2023-11-25 12:48:01
【问题描述】:

使用 gcloud 使用服务帐户进行身份验证 我们正在使用以下命令使用 .json 文件激活服务帐户。

gcloud auth activate-service-account <service_account> --key-file <file_name>

完成此操作后,我们就可以部署模板了。 但是我们不应该将 json 文件保存在服务器上以进行身份​​验证。

是否有任何其他方式来验证部署模板?

有没有什么方法可以在不使用 json 文件的情况下使用客户端密码和客户端 ID 部署模板?

【问题讨论】:

    标签: authentication google-cloud-platform gcloud


    【解决方案1】:

    要在不存储私钥的情况下授权 Cloud SDK 工具,也可以使用令牌,see OAuth

    1. gcloud init 在您的本地终端上,see Run gcloud init documentation
    2. gcloud init 在 Compute Engine 虚拟机实例上,see Set up gcloud compute documentation

    为避免提示,请在命令行中为 gcloud init 提供参数(仅在 $ gcloud config set disable_prompts false 时有效)

    $ gcloud init --account=[account-name] --configuration=[config-name] --project=[prj-name] --console-only

    有关详细信息,请参阅文档 Managing SDK ConfigurationsManaging SDK Properties

    还有 Google Cloud Shell,具有 5GB 的永久磁盘存储空间,使用 Cloud SDK 无需额外授权,see Starting Cloud Shell

    要提供授权,您也可以使用Cloud Identity and Access Management APIanswer for similar question on Stack Overflow

    对您也有帮助

    【讨论】:

    • 嗨,Pawel,了解了 outh2 的概念。我们只在 gcloud cli 上工作,所以我们需要通过 cli 传递身份验证详细信息,而不使用 apis 或 .json 文件有什么方法可以实现吗?
    • 您是否尝试使用$ gcloud init?我相信,这就是您正在寻找的。​​span>
    • gcloud init 提示设置所有配置,我不希望在两者之间出现提示。
    • 您尝试过使用 Cloud Shell 吗?无需进行身份验证。它是免费的,如果需要,您可以轻松上传模板或存储其他 json 凭证文件。
    • 我不能使用cloud shell,需要在我的服务器上配置
    最近更新 更多