我在AWS中有一个服务(web客户端),需要触发GCP中的一个云函数,我想保证它的安全性,所以我不能允许所有用户调用提到的云函数,但我想允许我在AWS中的服务调用提到的云函数。
我搜索了互联网,我看到了以下链接:link1, link2,但我无法找到解决方案。
所有提到的解决方案都谈到手动生成所需的idToken,但由于它是一个服务,我没有手动生成idToken的选项,我尝试使用带密钥的服务帐户。Json文件选项,但会抛出以下错误:
request https://us-central1-multi-service-app-js.cloudfunctions.net/helloHttp with target audience https://us-central1-multi-service-app-js.cloudfunctions.net/helloHttp
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>401 Unauthorized</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Unauthorized</h1>
<h2>Your client does not have permission to the requested URL <code>/helloHttp</code>.</h2>
<h2></h2>
</body></html>
既然您在寻求一般性建议,我建议您查看一下GCP工作负载身份联合。以下是一些链接:
GCP -工作负载身份联合概述
GCP -配置工作负载身份联合
GCP -具体配置说明
Medium -无密钥API身份验证-从AWS启动GCP工作负载
YouTube - AWS到GCP无服务帐户密钥!!-工作负载标识联合
YouTube - GCP -工作负载身份联合-从AWS Lambda函数访问GCS桶
您可能会发现许多其他的工作负载识别联邦信息源,这些信息源不一定与AWS相关。