问题标签 [google-iap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
262 浏览

google-cloud-platform - 有没有办法将另一个 ClientId 添加到 Google Cloud Identity Aware Proxy?

我正在寻找一种将另一个客户端 ID 添加到 IAP 的方法,因为如果我可以尝试使用使用 android 客户端 ID 但在同一个项目中生成的令牌请求受保护的资源,它会给我这个错误:

IAP 凭据无效:JWT 受众与此应用程序不匹配(“aud”声明(“用于生成令牌的 android 客户端 ID”)与预期值不匹配(“IAP 客户端 ID”))

0 投票
2 回答
598 浏览

google-app-engine - 是否可以为身份感知代理下的服务提供特定端点的公共访问权限?

我在 Google Cloud App 引擎中有一项服务,它位于IAP后面。

它仅供我组织内的用户访问。我需要让所有用户都可以访问该服务的一些端点。有没有可能实现?

我找到了一个指令,它说这是可能的,但它也说:The allUsers and allAuthenticatedUsers values are unsupported member types in a conditional role binding. If you specify one of these member types, the setIamPolicy operation will fail.

这对我来说并不清楚,而且有点混乱。

一个小例子:我的服务有一个 url https://google-cloud-app-engine-service.com 我只想让这个服务的一个端点可供所有人使用: https://google-cloud-app-engine -service.com/public_endpoint

谢谢!

0 投票
1 回答
629 浏览

google-app-engine - 使用 Identity Aware Proxy,是否可以向同一 GCP 项目中具有不同主机名的另一个 GAE“服务”发出跨源请求?

设置:

  • 服务 A(前端):GAE 服务静态站点,从 A 发出的所有调用都发生在客户端。
  • 服务 B (api):GAE 实例托管 REST API。

如果没有 Identity Aware Proxy,我可以通过将 CORS 设置为允许来自服务 A 主机名的调用,从前端的客户端向不同主机名上的 api 发出请求。

我希望能够在两种服务都在 Identity Aware Proxy 之后做同样的事情。

按照IAP 文档中的说明,我有:

  1. 设置我的应用程序以响应 OPTIONS 请求
  2. 使用 gcloud CLI 将 access_settings.cors_settings.allow_http_options 设置更改为 true。

这是我面临的错误:

Access to XMLHttpRequest at 'https://api-dot-my-app-dev.appspot.com/api/123' from origin 'https://frontend-dot-my-app-dev.appspot.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

当我从 localhost 到 localhost 或从服务 A(客户端)到 localhost api 发出相同的请求时,请求成功。

这让我相信这个问题与 Identity Aware Proxy 有关。我唯一的猜测是它与预检请求有关,我在浏览器控制台的网络请求中看不到任何内容。

我真的很希望能够让这两个应用程序使用自己的主机名保持在 IAP 之后,同时仍然进行通信。不幸的是,我对如何做到这一点有很多想法。

与此同时,我现在使用下面的替代#2 来工作。

备择方案:

  1. 让 API 为静态站点提供服务,以便它们位于相同的主机名上
  2. 使用dispatch.yaml从相同的主机名服务两个站点

如果这是可能的或可能出了什么问题,有什么想法吗?

编辑:是一个演示我的问题的仓库。

编辑 2:根据这篇文章,这个功能曾经可以工作,谷歌表示支持它是个好主意,但没有提供时间表。

0 投票
1 回答
1760 浏览

google-iap - Google Cloud Identity Aware Proxy over Corporate Proxy

为应用程序配置了 Google Cloud Identity Aware Proxy。到目前为止,只要我不使用公司代理,我就可以 ssh 到它。尝试通过代理(IAP 端点位于公司代理中的“允许”列表中),但由于 SSL 证书错误而失败。

错误:

有没有人成功为 IAP 配置公司代理?如果是,您认为需要什么配置才能使其正常工作?

提前非常感谢!!

0 投票
2 回答
107 浏览

google-cloud-dataflow - CDAP DataFusion GET 管道运行无效 IAP 凭证错误

我正在尝试进行 GET API 调用以获取特定的管道运行历史记录。API URL如下

此 API 调用需要我通过命令行获得的访问令牌 gcloud print-access-token 以上在基本版上运行良好

当我在企业版实例上运行它时,我收到以下错误 无效的 IAP 凭据:预计 JWT 有 3 个部分,由“。”分隔  但有两部分

我需要关于如何成功调用此 CDAP API 的帮助。

0 投票
1 回答
146 浏览

google-cloud-platform - 基于查询的参数路由 Google 负载均衡器 - IAP

最近,我正在使用基于查询的参数路由测试 Google https 负载均衡器,配置后,我发现我无法在除默认后端之外的任何后端服务上激活 IAP,IAP 中没有任何后端出现。

对于 http,根据文档,它工作正常,但 IAP 中仍然没有后端(默认除外)出现。

https://cloud.google.com/load-balancing/docs/https/setting-up-query-and-header-routing

有没有人面临这样的问题?任何想法 - 我将不胜感激。谢谢,亚当

0 投票
0 回答
226 浏览

angular - 带有 Gmail API 的 IAP 访问令牌

我有以下错误

google.auth.exceptions.RefreshError:凭据不包含刷新访问令牌所需的必要字段。您必须指定 refresh_token、token_uri、client_id 和 client_secret。

我的项目是用 Angular 前端和烧瓶构建的。我的 Web 应用程序受 IAPGmail.readonly范围内的保护(我需要为用户列出所有标签)。

所以我需要从 IAP oauth2 获取 access_token 并将其传递到后面以调用 Gmail API Angular 端我尝试用这个获取我的 access_token

初始化间隙

验证 gapi 是否为 init

从我的组件中,我通过标头 access_toke

烧瓶方面我在这里得到令牌并建立凭据:

我错过了什么?谢谢你

因此,我将烧瓶更改为通过(请求模块)发送 HTTP 请求并添加标头 Authorization : 。但我感觉 IAP oauth2 不提供范围访问(即使在配置中设置)

'error': {'code': 403, 'message': 'Request has enough authentication scopes.', 'errors': [{'message': 'Insufficient Permission', 'domain': 'global', 'reason' :'insufficientPermissions'}],'状态':'PERMISSION_DENIED'}

所以我可能需要双重身份验证一次用于 IAP(域访问)和其他用于范围访问(Gmail 对我)源问题跟踪器

0 投票
1 回答
227 浏览

google-app-engine - 通过offline_access 范围获取refresh_token 与IAP 一起使用

我正在使用 IAP 来保护 Web API 应用程序。我已启用服务帐户以通过id_token. 我可以id_token通过使用以下断言签署 JWT(使用我的服务帐户的密钥)来获得(JWT)

然后发布到令牌服务如下

现在我也想获得一个refresh_token,已经不可能了。我试过了,scope=openid offline_access但没有运气。是offline_access在 Google Auth Server 中实现的吗?还有其他获取 refresh_token 的机制吗?

0 投票
1 回答
254 浏览

google-app-engine-python - URL 的身份识别代理 (IAP) - Google 应用引擎

我们有两个项目——

项目 1 - Google App 引擎标准 python 2.7。项目 2 - Google Appp 引擎标准 python 3.3

项目 1 应用程序使用 Firebase 用户身份验证进行保护。我们需要访问从项目 2 访问的项目 1 的特定功能(URL)。来自项目 2 的调用将由服务器(而不是用户)完成。我们需要这是安全的。

我们可以在项目 1 中使用 IAP 仅启用此功能(URL)吗?并使用此处的说明进行身份验证?

如果以上不是解决方案,我们有什么选择?

0 投票
1 回答
572 浏览

google-app-engine - 如何在谷歌云项目中停用 IAP?

我在 GCP 项目上遇到问题

我在应用程序上添加了 IAP。我允许专业谷歌域上的每个用户。

我发现 IAP 不是一个好的解决方案。我终于从项目中删除了 IAP。我取消了功能。我删除了角色/成员。

现在所有项目都崩溃了:当我尝试通过触发器部署我的服务时,Cloud Build 返回该错误“错误:(gcloud.app.deploy)PERMISSION_DENIED:您无权充当'ID@appspot.gserviceaccount.com'”当我向服务发起 http 请求时,该服务不会创建实例。我有那个错误“等待网络连接打开。主题:”应用程序/无效“地址:127.0.0.1:8080”

帐户“ID@appspot.gserviceaccount.com”具有所有者角色。

我已经检查了 IAM 角色,它似乎没有丢失一个,我已经检查了其他项目,看起来不错。

这不是应用程序的代码,因为我在本地的笔记本电脑上尝试过,并且服务运行良好。我已经使用 gcloud 命令部署了我的服务,但是这些服务无法访问我有错误 500,因为我的应用程序没有部署。

我不知道我必须在 IAM 中更改哪个角色才能修复所有应用程序。