在本地应用中使用 IAP 概览

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

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

简介

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

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

一个部署可以有多个在外部应用负载均衡器后面运行的 Cloud Service Mesh 后端服务。每个后端服务均会映射到单个本地应用。

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

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

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

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

下图显示了Google Cloud 应用(app1)和本地应用(app2)的 Web 请求的概要流量流。

路由规则

配置 IAP 连接器部署时,您可以配置路由规则。这些规则会将到达 DNS 主机名入站点的经过身份验证和授权的 Web 请求路由到作为目的地的 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

后续步骤