【发布时间】:2018-05-25 12:22:34
【问题描述】:
我找到的大部分关于 GCP 的文档中,REST API 都需要用户交互来进行身份验证。是否有可能在没有用户交互的情况下访问 GCP 资源?
例如:我想在我的本地工作站中实现一个 cron 作业来启动 GCP 机器。
【问题讨论】:
标签: rest api google-app-engine google-cloud-platform
我找到的大部分关于 GCP 的文档中,REST API 都需要用户交互来进行身份验证。是否有可能在没有用户交互的情况下访问 GCP 资源?
例如:我想在我的本地工作站中实现一个 cron 作业来启动 GCP 机器。
【问题讨论】:
标签: rest api google-app-engine google-cloud-platform
是的,有可能,这是service accounts 用于:
服务帐户是一个 Google 帐户,代表一个 应用程序,而不是代表最终用户。
重要提示:对于几乎所有情况,无论您是在本地开发还是在生产应用程序中,都应该使用服务 帐户,而不是用户帐户或 API 密钥。您可以使用服务 通过向您的应用程序提供其私钥或使用 在 Google Cloud 上运行时可用的内置服务帐号 函数、Google App Engine、Google Compute Engine 或 Google Kubernetes 引擎。
所有 GCP API 都支持服务帐号。对于大多数服务器应用程序 需要与 GCP API 通信,我们建议使用服务 帐户,因为它们是最广泛支持和最灵活的方式 验证。
如需了解更多信息,请参阅getting started with authentication。
您必须创建一个代表您的应用程序的服务帐户(作为 cron 作业执行),并在您的应用程序中使用该服务帐户的凭据对 REST API 调用进行身份验证。
【讨论】: