从运行在Google Cloud VM实例上的应用程序访问Google Secrets-将云API分配给VM [英] Accessing Google Secrets from an application running on a Google Cloud VM instance - Assigning Cloud APIs to VM

查看:22
本文介绍了从运行在Google Cloud VM实例上的应用程序访问Google Secrets-将云API分配给VM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Google Secrets存储API密钥和其他特定于应用程序的&q;机密&q;。当我使用停靠容器将应用程序部署到VM实例时,我希望它使用VM的关联服务帐户访问Google Secrets。

我使用以下工具使其正常工作:

  • 正在将";Secret Manager秘密访问者";权限分配给服务帐户。
  • 授予我的虚拟机访问所有API的权限:

从安全角度和推荐的最佳实践来看,我不想授予对所有API的访问权限。默认访问选项不起作用,我无法从列表中确定要启用哪些选项以允许从我的虚拟机访问Google Secrets。

TLDR-我需要授予我的Google Compute VM实例对哪些云API的访问权限,以便它可以访问Google Secrets,而无需授予它对所有云API的访问权限?

推荐答案

根据Secret Manager documentation,您需要云平台OAuth作用域。

注意:要从Compute Engine实例或Google Kubernetes Engine节点(也是Compute Engine实例)访问Secret Manager API,该实例必须具有云平台OAuth作用域。有关计算引擎中访问范围的详细信息,请参阅计算引擎文档中的服务帐户权限。

我不确定您能否在Web用户界面中设置此作用域,但您可以通过命令行设置它。

可能的替代方案

我所做的不是在VM上设置作用域,而是专门为VM创建服务帐户(而不是使用默认服务帐户),然后授予此服务帐户对特定资源(如它应该有权访问的特定机密,而不是所有资源)的访问权限。当您在Web用户界面中执行此操作时,访问范围将消失,并且系统会指示您使用IAM角色来控制虚拟机访问,如下所示:

这篇关于从运行在Google Cloud VM实例上的应用程序访问Google Secrets-将云API分配给VM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆