问题标签 [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.
google-iap - 使用 Google Cloud Identity Aware Proxy 提供细粒度的安全性
上下文希望使用 Google IAP 来保护一组企业和个人客户的访问。谷歌云中运行着一个单一的中央服务,它支持多个客户,因此支持多个不重叠的安全区域。为每个安全区域专门提供一项服务是不经济的。
根据 //cloud.google.com/iap/docs/signed-headers-howto 可用的用户信息是他们的电子邮件和长期谷歌用户 ID。但是,给定的业务安全区域可能有多个授权用户(员工)。是否有一种简单、安全的方法可以将个人身份映射到某种群体身份。在理想情况下,在初始授予对帐户的访问权限期间,将分配一个安全组身份 - 企业名称 - 并将其作为安全标头的一部分传入。
鉴于这种多租户应用程序部署模型非常普遍,我希望 Google 已经提供了它,但我在他们的文档中找不到参考。任何帮助将不胜感激。理查德
google-iap - Google Idenity Aware Proxy 在 SPA 上使用 API 进行身份验证
我很好奇针对受 Google IAP 保护的 restful-api 进行身份验证的“最佳实践”是什么。
请允许我逐步分解它以阐明我想要实现的目标:
- 转到我的开发环境的 url:
dev.blah.com
。在这里,IAP 提示我登录。我登录。我现在可以访问我的 SPA。 - 我正在浏览我的 SPA。但!我无法与我的 API 交谈,因为它也受 IAP 保护。
我已经读到我可以在文档中进行编程身份验证,但我不确定我的特定用例是否适合编程身份验证,或者它是否甚至是安全的。
那么,我是否正确,因为我必须实现客户端编程身份验证工作流程才能访问我的 API?
或者是否有另一种方式说“一旦我通过身份验证访问这个受 IAP 保护的资源,我也可以登录这些其他资源。” 我不能简单地复制令牌,因为它是http-only
并且 cookie 仅限于我当前的域。
一些附加信息:
- 我的服务在 Google Kubernetes Engine 集群中运行,并根据我声明的入口对象自动创建负载均衡器。
- 每个受 IAP 保护的环境都有自己的 OAuth 凭据,我将负载均衡器配置为使用 IAP:
gcloud compute backend-services update [backend-service] --global --iap=enabled,oauth2-client-id=[the_id],oauth2-client-secret=[the_secret]
metabase - 使用 Cloud Identity-Aware 代理替换网站的 Google 登录
Metabase有一个开放的功能请求来支持 IAP。我尝试了一下,并使用 Clojure 实现了使用签名标头保护您的应用程序中详述的步骤(即验证令牌标头、验证令牌有效负载、检索用户身份)。
但这个问题不一定特定于元数据库。总体思路是替换 Google Sign-In,并且仅使用 IAP 签名的标头在 Google App Engine 上的应用程序(特别是 GAE flex 环境)中进行身份验证和用户创建。
“问题”是来自 IAP 令牌的用户身份信息如下所示{"email":"alice@example.com","sub":"accounts.google.com:118133858486581853996"}
:我也遇到了Using special URLs,但这会返回类似:{"email":"accounts.google.com:USER_EMAIL","sub":"accounts.google.com:118133858486581853996"}
。
使用 Google 登录令牌,我可以获取given_name
和family_name
的值email
,这意味着我可以获取或创建有效的元数据库用户。sub
有没有办法通过 JWT (即)获取名字和姓氏accounts.google.com:118133858486581853996
?
jenkins - 如何将 github webhook 配置到 Google Cloud IAP 后面的 Jenkins 服务器
目前在 Google Cloud IAP ( https://cloud.google.com/iap/ )后面有 Jenkins 服务器来处理身份验证并使用 Jenking GitHub 插件。如何配置 GitHub webhook 以使用 Google Cloud IAP?无论我在 webhook 中配置什么,我都会得到
来自 Cloug IAP。关于在 webhook 配置页面中究竟放什么的任何建议?
google-compute-engine - Google Kubernetes Engine 的 Google Identity-Aware-Proxy 和防火墙规则
我想为在 Google Kubernetes Engine 上运行的应用程序配置 Google Identity Aware Proxy。为此,我在我的 Kubernetes 配置中添加了一个入口,因此我得到了一个负载平衡器来配置为身份感知代理。
现在 GCP 向我显示了一些关于有问题的防火墙规则的警告。由于所有这些规则都是由 GKE 配置的,我不太确定它们是否有问题。
据我了解,它10.128.0.0/9
是项目的默认 VPC,并且10.56.0.0/14
是我的 kubernetes 集群中所有容器的 ip 范围。
对我来说,这意味着我的项目/kubernetes-cluster 中的“只有”内部流量可以绕过 IAP。那是对的吗?
nginx - 登录 SPA 后使用 Cloud IAP 特殊 URL 的问题
我一直在使用 Google Cloud IAP 来保护我在https://some-domain下的网络应用。但是,我在使用 nginx + 静态 SPA 访问 Cloud IAP 特殊 url 时发现了一个问题。我发现如果我没有登录,我可以访问以下指定的特殊 url:https ://cloud.google.com/iap/docs/special-urls-howto 。https://some-domain/_gcp_iap/identity
因此,如果我没有登录,我可以轻松访问诸如此类的端点。
但是,在我登录后,我无法再访问特殊的 url ( /_gcp_iap/*
) 并被重定向到 SPA 错误页面。我注意到我的 nginx 配置中有这个:
这是 nginx 配置导致的问题吗?我该如何解决这个问题?
更新:根本原因是由于 3xx 重定向的服务工作者行为(通常发生在登录/身份验证期间)。是否可以让服务人员与 IAP 一起工作?
谢谢你。
google-app-engine - 能否将 App Engine 防火墙与 IAP 结合使用?(或不是 AND)
是否可以设置 App Engine,以便向以下请求者授予对应用程序的访问权限: - 在 App Engine 防火墙 IP 地址白名单上(即没有身份验证) - 或使用 Identity-Aware Proxy 进行身份验证?
换句话说,是否允许公司网络上的任何人或从公共 Internet 登录的任何人都可以访问?
google-iap - 负载均衡器前的 IAP 指向存储桶
我有一个提供静态内容的云存储桶。在此之前,我已经配置了一个负载均衡器,它通过 SSL 提供静态内容。是否可以在负载均衡器前面放置 IAP 以保护存储桶中提供的内容?
google-iap - 是否可以从 Google Cloud Identity Aware Proxy 生成的令牌中获取用户组成员身份
我想将用户组成员信息添加到从 Identity Aware Proxy 生成的 JWT 令牌中。
通过解码 JWT 令牌获取用户标识符后,我们可以通过从我们的应用程序调用 Directory API 来处理这个问题,但是我们需要使用 GSuite 域委派配置服务帐户,然后手动配置 GSuite 安全以允许该帐户调用 Directory API。
我不想为我的所有应用程序执行所有这些步骤,理想情况下,当 IAP 看起来可以访问我需要的所有数据时,我想避免实施授权服务器。
理想情况下,我们希望将组成员身份(GSuite 信息)添加到从 IAP 生成的 JWT 令牌中,并让我们的应用程序通过解码令牌来获取组。
你认为有可能吗?如果不是,使用 IAP 检索用户组成员身份的最佳方法是什么?
谢谢 :)
ios - 在 iOS 项目中使用 Google Identity-Aware Proxy 和 Google SignIn
我们在现有的 iOS 应用程序中使用 Google IAP。因此,在应用程序初始化时,我们为 IAP 进行身份验证。这工作正常。现在,当用户点击使用 google 功能登录时,我们必须再次显示提示选项,他将在其中注册/登录我们的应用程序。所以基本上有 2 个客户端 ID,但谷歌 SDK 不允许使用不同的客户端 ID 再次登录。任何帮助,将不胜感激