问题标签 [identity-aware-proxy]

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 投票
2 回答
214 浏览

google-app-engine - 将防火墙添加到 IAP 保护的 App Engine 应用程序,其中成员:allUsers 被授予“IAP 保护的 Web 应用程序用户”

我在同一个 Google 项目中有多个 App Engine 服务。我希望为某些服务而不是其他服务启用 IAP(在同一个项目中),但是,我知道这是不可能的。对于我理想情况下不希望启用 IAP 的服务,我不想通过授予角色allUser将其向整个 Internet 开放。IAP-secured Web App User我仍然希望对谁可以访问资源进行某种 IP 限制。但是,谷歌在文档中明确表示(https://cloud.google.com/iap/docs/managing-access),

目前,授予公共访问权限的绑定不能有与之关联的条件。例如,如果请求路径以 /public/ 开头,则允许任何人访问资源的策略是无效的。

此应用程序的用户将是外部客户,因此我不希望通过向他们提供服务帐户和凭据文件并与他们共享代码以生成 OIDC 令牌的过程。

话虽这么说,是否有任何解决方法仍然添加 IP 限制?

0 投票
1 回答
55 浏览

google-cloud-platform - Identity-Aware Proxy 是否为并发用户重复使用 IP 地址?

使用Identity Aware Proxy将 SSH 流量通过隧道传输到 VM 时,传入流量来自以下范围内的 IP 地址:35.235.240.0/20。

如果多个用户同时连接到一个虚拟机,IAP 是否会重用一个 IP 地址,或者它是否保证每个会话都有一个与之关联的唯一 IP 地址?

例如,如果机器中同时有 5 个用户who,他们是否可能在此输出中看到相同的 IP:

0 投票
1 回答
926 浏览

web - 如何从 Google Identity Aware Proxy 后面的 Web 应用程序访问已通过身份验证的用户?

我有一个位于 Google 身份识别代理 (IAP) 后面的网络应用程序。IAP 在转发到我的 Web 应用程序之前对用户进行身份验证。如何从我的 Web 应用程序访问已通过身份验证的用户?

获取用户的身份中,它声明有X-Goog-Authenticated-User-EmailX-Goog-Authenticated-User-Id标题。但是,我在响应标头中看不到那些:

我确实看到了一些 cookie:

例如,我希望能够在我的网络应用程序中显示他们的姓名和头像照片,以表明他们已通过身份验证并已登录。我知道这些信息可通过 Google 的 OAuth2 结构获得,但我如何从 IAP 获取这些信息?

0 投票
1 回答
357 浏览

google-cloud-platform - 如何使用 Identity-Aware-Proxy 保护 Google Cloud Functions

我无法使用 Identity-Aware-Proxy 保护我的 Google Cloud 功能。

即使我已经按照文档中的理解完成了所有步骤(这个:https ://cloud.google.com/iap /docs/enabling-compute-howto)。

我的设置:我有一个谷歌云功能。这可以通过通过后端服务连接到 Google Cloud Load Balancer 的自定义域访问。

我已将 OAuth 同意屏幕配置为“外部”用户类型,并将我的 Google 帐户添加到测试用户。

然后,我在该后端服务上启用了 IAP,并添加了具有“IAP-secured Web App User”角色的同一个 Google 帐户。

IAP 页面上的“状态”列显示“正常”。负载均衡器页面上的后端服务还显示“身份识别代理:已启用”。当我现在尝试为我的 Cloud Function 访问以前公开可用的域时,我现在看到了 Google 登录屏幕,登录后我被重定向到“您无权访问”屏幕。

我错过了哪些步骤,甚至误解了正确的步骤?

我为“Cloud Identity-Aware Proxy API”启用了审核日志,但是当我登录并重定向到“您无权访问”屏幕时,日志资源管理器中没有记录任何内容。

因此,屏幕显示我已成功通过身份验证,但未正确授权。同时,即使此页面https://cloud.google.com/iap/docs/audit-log-howto表明它应该记录不足的访问级别,审核日志仍然为空。我很困惑。

0 投票
2 回答
670 浏览

google-app-engine - Google Cloud Platform 和 Terraform 使用 Identity Aware Proxy IAP 保护 App Engine

大约三天后,我开始疯狂地尝试通过 Terraform 我的 App Engine 来确保安全。当我通过 GCP 控制台手动保护我的应用程序时,我的步骤是:

  • 创建应用引擎
  • 激活 IAP 并创建 OAuth 同意屏幕
  • 激活对 Web 应用程序的保护 (=> App Engine)

手动它可以工作。

使用 terraform,我已经成功创建了所有变量、提供程序并激活了所有需要的 API,但我保护应用程序的方法似乎有问题,但我不知道是什么。下面是我的代码片段:

  1. 创建 App Engine(有效)
  1. 激活 IAP 并创建 OAuth 同意屏幕(不起作用)

执行这个我得到这个错误:

创建品牌时出错:googleapi:错误 409:请求的实体已存在

我的代码或方法有什么问题?

非常感谢每一位!

0 投票
0 回答
147 浏览

google-cloud-platform - 允许 SPA 和 REST API 之间通过 IAP 进行通信

my-app-frontend目前在 GKE和上有两个部署my-app-backend,都通过入口访问并受 IAP 保护。my-app-backend还启用了 CORS。当my-app-frontend托管在向托管在my-app.com发出请求时,由于 CORS 错误而被阻止:. 我正在寻找一种解决方案,该解决方案将保留在不同的主机上,并且不涉及代码更改。my-app-backendapi.my-app.comCross-Origin Resource Sharing error: MissingAllowOriginHeadermy-app-frontendmy-app-backend

相同的设置适用于 Cloudflare Access,因为您可以添加my-app.comapi.my-app.com作为受信任的来源,它会access-control-allow-origin在响应中添加标头,但我想将其保留在 CGP 生态系统中。

预期结果: my-app-backend应该能够my-app-frontend在托管在不同域(my-app-backend->api.my-app.commy-app-frontend-> my-app.com)上时发出 HTTP 请求,并且不应该涉及代码更改以检查/添加标头my-app-backend

到目前为止我已经尝试过:

  • 在设置中启用了 HTTP 选项,my-app-backend以便预检请求不需要 auth 标头。
  • 在 Auth 2.0 客户端 ID 设置中添加my-app.comapi.my-app.com作为授权的 JavaScript 来源。
  • 在同一个域my-app-backend->my-app.com/apimy-app-frontend->上托管两个部署my-app.com,这种方法有效,但这不是我想要的,因为我想将它们保留在不同的域中。
0 投票
0 回答
229 浏览

google-app-engine - 身份识别代理授权错误 403 org_internal

我有一个通过 App Engine 在 GCP 中托管的 Python Streamlit 应用程序。按照本教程,我添加了一个身份识别代理来保护应用程序。

IAP 已激活,并且 OAuth 同意屏幕设置为内部。在 IAP 设置中,我添加了自己和一个具有“IAP-secured Web App User”角色的伙伴。

虽然我可以在使用关联的 google 帐户登录后访问该应用程序,但在他关联的 google 帐户中登录时,他会收到“错误 403:org_internal”错误。

我已经尝试过的:

  • 将 OAuth 同意屏幕设置为外部(测试模式)并添加了我们俩
  • 将他添加到我们的 GCP 组织

两者都没有工作。毕竟他只是无法访问该应用程序。任何想法我做错了什么?

0 投票
1 回答
489 浏览

google-app-engine - 使用 IAP 在 App Engine 上提供服务到服务请求

我正在使用 Google App Engine 来托管几个服务(一个NextJS SSR 服务和一个基于 Express 构建的后端 API)。我已经设置了我的dispatch.yaml文件以将/api/*请求路由到我的 API 服务,并且所有其他请求都被路由到default(NextJS)服务。

问题:我还为 App Engine 开启了 Identity-Aware Proxy。当我尝试GET从我的 NextJS 服务向我的 API(服务器端,通过getServerSideProps)发出请求时,它会再次触发 IAP 登录页面,而不是点击我的 API。我尝试了一些想法来解决这个问题:

  1. 转发 API 请求中的所有 cookie
  2. 如此处所述设置X-Requested-With标题
  3. 向我的 App Engine 默认服务帐户授予受 IAP 保护的 Web 应用用户权限

但似乎没有任何效果。我已经确认关闭 App Engine 的 IAP 可以让一切按预期运行。从前端对 API 的任何请求也可以按预期工作。是否有我缺少的解决方案或解决方法?

0 投票
0 回答
198 浏览

google-cloud-platform - 如何在没有负载均衡器域名的情况下将 Cloud Run 隐藏在 Identity-Aware Proxy 后面?

我按照文档(使用 Cloud Run 设置负载均衡器设置外部 HTTPS 负载均衡器)并成功在负载均衡器上启用了 IAP,该负载均衡器以 Cloud Run 作为后端。

似乎要使 IAP 工作,负载均衡器的前端需要配置为 HTTPS,而这又需要拥有一个域。

有没有办法在不专门注册域的情况下仍然在 Cloud Run 上拥有 IAP?

0 投票
0 回答
181 浏览

google-cloud-platform - 带 IAP 的 GCP 负载均衡器

有没有办法设置负载均衡器,这样我就可以在不暴露应用程序的 443 端口的情况下启用 IAP?

我想在负载均衡器中接受 https 请求(只是为了启用 IAP),但在我的应用程序中只接受 http 请求?如何添加从负载均衡器的 433 端口转发到后端服务的 80/8080 端口的转发规则?