我有一个云功能,它受到cloud IAM的限制访问。我有一个外部服务(Auth0(,当发生什么事情时,它会启动钩子。我想让那个钩子触发我的云函数。然而,挂钩应事先向Cloud IAM授权。
我想做的事:
- 创建新成员
auth0-hooks
- 授予该成员
Cloud Function Invoker
权限 - 在钩子的代码中,我想从谷歌获取IAM令牌(元服务器?(
- 在对云功能触发器URL的请求中使用该令牌
- 通过Cloud IAM和给定令牌触发访问
我目前正忙于创建新成员auth0-hooks
。我认为这是一个微不足道的问题,但很快就发现,没有办法简单地添加一个新成员吗?我想过创建一个服务帐户,但不确定是否可以从外部使用服务帐户(通过谷歌元服务器请求访问令牌(?
这就是我目前被卡住的地方
服务帐户是正确的方式。服务帐户是技术帐户。类似于用户帐户,但适用于服务器。
您可以授予它的权限。当您需要在GCP环境之外使用此服务帐户时,您需要创建一个包含私钥的服务帐户密钥文件(这是一个秘密,请确保安全!(。有了这个服务帐户密钥文件,您就可以生成钩子所需的身份令牌,以调用云功能并进行身份验证和授权。
Google Cloud Auth库以多种语言为您提供帮助。
注意:元数据服务器只是谷歌云上的内部服务,无法从外部访问