在本地应用中使用 IAP 概览

借助 Identity-Aware Proxy (IAP),您可以管理对 Google Cloud 外部基于 HTTP 的应用的访问权限。这包括企业数据中心中的本地应用。

如需了解如何使用 IAP 保护本地应用,请参阅为本地应用设置 IAP

简介

IAP 使用 IAP 本地连接器定位本地应用。本地连接器使用 Cloud Deployment Manager 模板来创建将 IAP 本地连接器托管和部署到启用了 IAP 的 Google Cloud 项目所需的资源,并将经过身份验证的请求和授权请求转发到本地应用。

本地连接器会创建以下资源:

一个部署可以有多个在单个外部 HTTP(S) 负载平衡器后面运行的 Traffic Director 后端服务。每个后端服务均会映射到单个本地应用。

部署 IAP 本地连接器并为新创建的本地连接器后端服务启用 IAP 后,IAP 会通过基于身份和基于上下文的身份和访问权限管理 (IAM) 访问政策来保护应用。由于 IAM 访问政策在后端服务资源层级配置,因此您能够针对每个本地应用拥有不同的访问控制列表。这意味着只需一个 Google Cloud 项目即可管理对多个本地应用的访问权限。

在本地应用中使用 IAP 的工作原理

将请求发送到托管在 Google Cloud 上的应用后,IAP 会对用户请求进行身份验证和授权。然后,IAP 会授予用户对 Google Cloud 应用的访问权限。

在请求发送到本地应用后,IAP 会对用户请求进行身份验证和授权。然后,它会将请求路由到 IAP 本地连接器。IAP 本地连接器通过混合连接网络端点组将请求从 Google Cloud 转发到本地网络。

下图显示了针对 Google Cloud 应用 (app1) 和本地应用 (app2) 的 Web 请求的高级流量。

路由规则

配置 IAP 连接器部署时,您可以配置路由规则。这些规则会将进入 DNS 主机名入站点的经过身份验证和授权的网络请求路由到作为目的地的 DNS 主机名。

以下是为 IAP 连接器 Deployment Manager 模板定义的 routing 参数的示例。

   routing:
     - name: hr
       mapping:
        - name: host
          source: www.hr-domain.com
          destination: hr-internal.domain.com
        - name: sub
          source: sheets.hr-domain.com
          destination: sheets.hr-internal.domain.com
     - name: finance
       mapping:
        - name: host
          source: www.finance-domain.com
          destination: finance-internal.domain.com
  • 每个 routing 名称对应一个由 Ambassador 创建的新 Compute Engine 后端服务资源。
  • mapping 参数指定后端服务的 Ambassador 路由规则列表。
  • 路由规则的 source 会映射到 destination,其中 source 是进入 Google Cloud 的请求的网址,destination 是对用户进行授权和身份验证后 IAP 将流量路由到的本地应用的网址。

下表演示了将传入请求从 www.hr-domain.com 路由到 hr-internal.domain.com 的示例规则:

Compute Engine 后端服务 路由规则名称 来源 目的地
hr hr-host www.hr-domain.com hr-internal.domain.com
hr-sub sheets.hr-domain.com sheets.hr-internal.domain.com
finance finance-host www.finance-domain.com finance-internal.domain.com

后续步骤