Python 访问受IAP保护的应用程序时拒绝访问服务帐户
试图让python命令行访问(HTTP GET)受IAP保护的应用程序 与 但403错误发生异常:服务帐户xxx@xxxxxxxxx-production.iam.gserviceaccount.com无权访问受IAP保护的应用程序 已经尝试了以下方法,但问题仍然存在,如上所述 1.删除/创建服务帐户Python 访问受IAP保护的应用程序时拒绝访问服务帐户,python,google-cloud-platform,in-app-purchase,google-oauth,Python,Google Cloud Platform,In App Purchase,Google Oauth,试图让python命令行访问(HTTP GET)受IAP保护的应用程序 与 但403错误发生异常:服务帐户xxx@xxxxxxxxx-production.iam.gserviceaccount.com无权访问受IAP保护的应用程序 已经尝试了以下方法,但问题仍然存在,如上所述 1.删除/创建服务帐户 2.重新创建json密钥文件 3.授予服务帐户项目所有者权限 if __name__ == '__main__': os.environ[ "GOOGLE_APPLICAT
2.重新创建json密钥文件
3.授予服务帐户项目
所有者权限
if __name__ == '__main__':
os.environ[
"GOOGLE_APPLICATION_CREDENTIALS"] = '/Users/foo/bar.json'
print make_iap_request('https://foo.com/', 'xxxxtheidforthatiapservice.apps.googleusercontent.com')
我认为您需要遵循以下程序:
使用OpenID连接(OIDC)令牌对服务帐户进行身份验证
到云IAP安全资源
将服务帐户添加到云IAP安全项目的
生成一个。这将使用需要客户ID的目标受众
附加声明来查找
您的客户ID,请按照以下步骤操作:
a。转到云IAP页面
b。找到要访问的资源,然后单击“编辑”
OAuth客户端
在“更多”菜单上编辑OAuth客户端
c。在出现的凭证页面上,记下客户端ID
请求云IAP安全客户端ID的令牌
在Authorization:Bearer
头中包含OIDC令牌,以向云IAP安全资源发出经过身份验证的请求
您是否尝试将服务帐户电子邮件地址添加到IAP授权屏幕(信息面板)并为其分配IAP角色?我只测试了用户标识,所以我不确定服务帐户是否是受支持的标识。