使用 IAP 保护生成式 AI 应用

本教程介绍如何将生成式 AI 应用部署到 Cloud Run 并使用 Identity-Aware Proxy (IAP) 对其进行保护。IAP 为部署到 Cloud Run 的 HTTPS 应用提供中央授权层。您可以使用 IAP 来采用应用级或组织级访问权限控制政策,而不是使用网络级防火墙。

请注意,虽然也可以使用手动或第三方身份验证来保护部署到 Cloud Run 的应用,但我们建议为大量或多区域流量使用 IAP,以避免应用服务中断。

在本教程中,您将部署一个调用 Gemini API 的应用。该应用基于 Streamlit 框架。

前提条件

本教程假定您能够使用以下工具和框架:

  • StreamlitStreamlit 是一个开源应用框架,可让您创建和部署数据应用。它使用 Python 将数据脚本转换为 Web 应用。

  • Git:在本教程中,您将使用 Git 代码库来管理应用的源代码。如需详细了解如何使用 Git,请参阅 Git 文档

Google Cloud 服务

您必须对以下 Google Cloud 服务有基本的了解:

  • Vertex AI 上的生成式 AI:可让您访问 Google 的 LLM,以便对其进行测试、调优和部署,从而在应用中进行使用。详细了解 Vertex AI 上的生成式 AI。

  • Cloud Run:一个托管式计算平台,可让您部署和运行容器映像。您需要创建一个 Cloud Run 服务来部署应用。详细了解 Cloud Run。

  • Cloud Build:在 Google Cloud 上执行构建。在本教程中,您将设置一个自动 Cloud Build 触发器,以便在您每次将提交推送到 Git 代码库时,自动构建应用并将其部署到 Cloud Run。详细了解 Cloud Build。

  • Cloud Load Balancing:有助于在应用的多个实例之间分配流量,以实现可伸缩性。您可以创建一个应用负载均衡器,以将流量分配到 Cloud Run 上托管的应用后端实例。Cloud Load Balancing 也是 IAP 的前提条件。详细了解 Cloud Load Balancing。

  • Identity-Aware Proxy (IAP):您可以使用 IAP 创建一个中央授权层来保护应用。IAP 会进行身份验证和授权检查,这些检查会扩展到关联的 Google Cloud 服务。IAP 还支持 Cloud Load Balancing 并与其无缝集成,这使其成为适用于本教程的最高效的安全管理选项。

    如需详细了解 IAP,请参阅 Identity-Aware Proxy 概览

    如需了解 IAP 如何与 Cloud Run 搭配使用,请参阅“IAP 的工作原理”中的 Cloud Run 部分

有效的域名

此外,您必须拥有有效的域名来预配证书,因为配置负载均衡器需要证书。

教程页面

本教程包含以下页面:

  1. 设置项目和源代码库。

  2. 创建 Cloud Run 服务。

  3. 创建负载均衡器。

  4. 配置 Identity-Aware Proxy (IAP)。

  5. 测试受 IAP 保护的应用。

  6. 清理您的项目。

每个页面均假定您已经按照本教程中之前页面的说明操作。