我有一个关于 Compute VM 及其相关权限的问题。我在项目级别拥有“所有者”权限。我创建了一个 VM,但无法为其分配外部 IP 地址。在参考谷歌云文档时,我似乎仍然可以使用 VPN 或 IAP 连接到这个虚拟机。单击 VM 旁边的 SSH 链接后,我看到它使用 Cloud-IAP 隧道,但连接失败。
这是未找到外部 IP 地址的错误消息;默认使用 IAP 隧道。
ERROR: (gcloud.compute.start-iap-tunnel) Error while connecting [4003: u'failed to connect to backend'].
ssh_exchange_identification: Connection closed by remote host
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
Run Code Online (Sandbox Code Playgroud)
我如何去连接到这个虚拟机?
感谢您对此的帮助
我在 GCS 存储桶中有一些内容:
$ gsutil ls gs://my-bucket
index.html
Run Code Online (Sandbox Code Playgroud)
我想使用 Identity-Aware Proxy (IAP) 在 OAuth 后面提供此服务。我正在遵循这些说明。
我已经创建了一个负载均衡器和“后端存储桶”,如下所示:
但是,在 Identity-Aware Proxy 页面上,我没有看到我的负载均衡器列出:
是否可以将 IAP 与后端存储桶一起使用?
我最近在 GKE 集群中启用了 IAP。
我按照这里的说明操作:https : //cloud.google.com/iap/docs/enabling-kubernetes-howto
服务配置如下:
---
apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
name: foo-bc-iap
namespace: foo-test
spec:
iap:
enabled: true
oauthclientCredentials:
secretName: iap-client-secret
---
apiVersion: v1
kind: Service
metadata:
name: foo-internal-service
namespace: foo-test
annotations:
cloud.google.com/backend-config: '{"ports":{"80":"foo-bc-iap"}}'
spec:
type: NodePort # To create Ingress using the service.
selector:
app: foo-test
ports:
- protocol: TCP
port: 80
targetPort: 8081
Run Code Online (Sandbox Code Playgroud)
我使用的凭据是 OAuth 2.0 客户端 ID(类型:Web 应用程序)。
当我在 Kubernetes 服务上激活 IAP 时,确保受 IAP 保护的 API 端点的工作方式不同后,我编写了以下测试程序以确保可以从 JSON 文件“account.json”中提供的服务帐户访问该端点。
在编写此示例应用程序时,我查阅了此文档:https …
jwt google-cloud-platform kubernetes google-kubernetes-engine google-iap
我正在尝试找出如何注销正在使用 Google IAP 背后的应用程序的用户
最终目标是能够让用户立即返回到他们第一次访问该网站时完成的初始流程(即,他们在再次登录之前无法访问我的应用程序)
我查看了文档,我所能看到的只是https://cloud.google.com/iap/docs/special-urls-howto的“清除用户登录”部分
但是,当用户重定向到 /_gcp_iap/clear_login_cookie 时,这会将 GCP_IAAP_AUTH_TOKEN cookie 设置为 none,然后将用户重定向到我的应用程序的根目录。对 / 的请求随后将用户重定向到https://accounts.google.com/o/oauth2/v2/auth(包括许多获取参数),然后又将用户重定向到 /_gcp_gatekeeper/authenticate,其中然后再次设置 GCP_IAAP_AUTH_TOKEN cookie,最后将用户返回到我的应用程序(现在重新登录,就像什么都没发生一样)
这里的问题可能是用户仍然登录其他谷歌帐户应用程序吗?(例如谷歌云控制台、gmail 等)
我想知道是否可以将 GCP_IAAP_AUTH_TOKEN cookie 值发送到https://accounts.google.com/o/oauth2/revoke?token= token,但这似乎被 IAP 负载均衡器剥离
对此的任何和所有帮助表示赞赏。
我为 AppEngine 配置了 Google Cloud IAP,然后,当我尝试访问我的应用程序时,我登录到我的 Google 帐户,并被重定向到以下网址:
project-id.appspot.com/_gcp_gatekeeper/authenticate?state=long-state-string&scope=email%20openid%20https://www.googleapis.com/auth/userinfo.email&authuser=2&hd=domain.com&session_state=a23b09e8ae90697d931d96068fdcf163a7a71010..9268&提示=同意
该页面仅显示以下错误,其他均不重要:
There was a problem with your request. Error code 11
Run Code Online (Sandbox Code Playgroud)
尝试到处寻找日志但徒劳无功。@马修萨克斯你有什么想法吗?
我在开发环境中设置了云IAP(使用Kubernetes并使用Let的加密),一切正常.
该应用程序的设置非常基本:
1)API在项目A中具有许多REST端点和持久数据存储
2)在不同的项目BSPA中使用所述的前端应用程序API
在我的浏览器(试过Chrome和Firefox),我可以(通过在浏览器选项卡将每个域)来验证我的谷歌用户在通过IAP屏这两个应用,但一旦我尝试使用SPA和它试图请求的API,我看到网络请求302重定向到Google IAP登录页面.
问题:是否需要API代表用户通过请求发送标头或cookie,以便IAP允许pass-thru?
注意
我顺便说一句看到这两个饼干GCP_IAAP_AUTH_TOKEN和GCP_IAAP_XSRF_NONCE.
cookies google-cloud-platform google-kubernetes-engine gcp google-iap
我正在尝试从第三方 JavaScript 集成对我的 web api 服务器进行 ajax 调用。但是,在我的 API 服务器上启用 IAP 后,我无法从我的集成服务器调用我的 Web api。我已将我的集成服务器添加为 Web 应用程序的客户端 ID 中的授权 JavaScript 来源。
下面是错误。
从源“ https://myintegration.com ”访问“ https://webapiserver.com/apiendpoint1 ”处的 XMLHttpRequest已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头.
如果我最后缺少其他配置,请告诉我。谢谢。
我有一个受身份感知代理(IAP)保护的角度应用程序。我正在尝试将 Firebase 添加到此应用程序,以便将 firestore 用于使用 AngularFire 的组件。我不想让用户登录两次,所以我考虑使用 IAP 与 Firebase 进行身份验证。
我试过了:
让 GCP 发挥其魔力,看看用户是否自动插入 Firebase Auth 模块 - 但事实并非如此。
我尝试在 cookie 中使用从 IAP 获得的令牌,方法GCP_IAAP_AUTH_TOKEN是signInWithCustomToken- 不起作用,令牌无效。
我尝试过getRedirectResult在通过 IAP 登录后使用它是否已注入那里 - 但事实并非如此。
我花了几天时间试图让它发挥作用,我也让一位同事看过它,但这似乎不可能。现在,作为最后的手段,我在这里写信看看是否有人知道这是否可能。
如果没有,我将不得不建议团队切换身份验证方法并摆脱 IAP,但我宁愿保留它。
更多信息:
环境: App Engine Flex 上的 NodeJS 10
角度版本: 7.xx
AngularFire 版本: 5.2.3
注意:我没有后端,因为我想独立使用这个组件,如果需要的话最多可以与几个云功能一起使用。我正在尝试使用 Firestore 作为“后端”。
google-app-engine firebase google-cloud-platform angularfire2 google-iap
如何使用 Python 访问受 IAP 保护的资源?更具体地说,我想Bearer在Authorization标头中生成调用 IAP 保护资源所需的令牌。
我创建了一个服务帐户,授予它“IAP 保护的 Webapp 用户”权限并将其 JSON 凭据下载到磁盘。
我正在尝试为托管在Google云中的应用程序设置云IAP。
通过Web登录该应用程序效果很好,您将重定向到Google身份验证页面,并重定向回网站,并将会话令牌设置为cookie。
通过非Web界面进行身份验证,请遵循编程身份验证指南,尝试在那里描述的命令行方式以及使用iOS SDK。在这两种情况下,登录都可以正常工作,并且我从登录过程中收到一个id_token。但是当我发出如下请求时:
curl --verbose --header 'Authorization: Bearer ID_TOKEN' https://an-app.appspot.com/api/user
Run Code Online (Sandbox Code Playgroud)
我总是收到以下回复:
There was a problem with your request. Error code 13
Run Code Online (Sandbox Code Playgroud)
不管请求中的ID_TOKEN是什么,响应始终是错误代码13。如果我未指定Authorization标头,则会将我重定向到Google的登录页面。
我缺少任何设置或配置吗?
google-iap ×10
angularfire2 ×1
cookies ×1
cors ×1
firebase ×1
gcp ×1
jwt ×1
kubernetes ×1
python ×1