Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问受IAP保护的应用程序时拒绝访问服务帐户_Python_Google Cloud Platform_In App Purchase_Google Oauth - Fatal编程技术网

Python 访问受IAP保护的应用程序时拒绝访问服务帐户

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

试图让python命令行访问(HTTP GET)受IAP保护的应用程序

但403错误发生异常:服务帐户xxx@xxxxxxxxx-production.iam.gserviceaccount.com无权访问受IAP保护的应用程序

已经尝试了以下方法,但问题仍然存在,如上所述 1.删除/创建服务帐户
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角色?我只测试了用户标识,所以我不确定服务帐户是否是受支持的标识。