Proteger um app de IA generativa usando o IAP

Neste tutorial, mostramos como implantar um app de IA generativa no Cloud Run e protegê-lo com o Identity-Aware Proxy (IAP). O IAP fornece uma camada de autorização central para aplicativos HTTPS implantados no Cloud Run. Use o IAP para adotar políticas de controle de acesso no nível do aplicativo ou no nível da organização em vez de usar firewalls.

Embora também seja possível usar a autenticação manual ou de terceiros para proteger um app implantado no Cloud Run, recomendamos o uso do IAP para grandes volumes ou tráfego multirregional, para evitar interrupções na veiculação do app.

Neste tutorial, você vai implantar um app que faz chamadas para a API Gemini. O app é baseado no framework Streamlit.

Pré-requisitos

Este tutorial pressupõe que você possa usar as seguintes ferramentas e frameworks:

  • Streamlit: o Streamlit é um framework de app de código aberto que permite criar e implantar aplicativos de dados. Ele transforma scripts de dados em apps da Web usando Python.

  • Git: para este tutorial, você usa um repositório Git para gerenciar o código-fonte do seu app. Para mais informações sobre como usar o Git, consulte a Documentação do Git.

Serviços do Google Cloud

É necessário ter um conhecimento básico dos seguintes serviços do Google Cloud:

  • IA generativa na Vertex AI: fornece acesso aos LLMs do Google para que você possa testar, ajustar e implantar esses recursos para uso nos aplicativos. Saiba mais sobre a IA generativa na Vertex AI.

  • Cloud Run: uma plataforma de computação gerenciada que permite implantar e executar imagens de contêineres. Você cria um serviço do Cloud Run para implantar seu app. Saiba mais sobre o Cloud Run.

  • O Cloud Build executa seus builds na infraestrutura do Google Cloud. Para este tutorial, você configurou um gatilho do Cloud Build para criar e implantar o app ao Cloud Run sempre que enviar as confirmações para o repositório Git. Saiba mais sobre o Cloud Build.

  • Cloud Load Balancing: ajuda a distribuir o tráfego entre várias instâncias do seu app para ter escalonabilidade. Você cria um balanceador de carga de aplicativo para distribuir o tráfego para as instâncias de back-end do aplicativo hospedados no Cloud Run. O Cloud Load Balancing também é um pré-requisito para o IAP. Saiba mais sobre o Cloud Load Balancing.

  • Identity-Aware Proxy (IAP): você usa o IAP para criar uma camada de autorização central para proteger o app. O IAP faz verificações de autenticação e autorização que se estendem aos serviços do Google Cloud vinculados. O IAP também tem suporte e se integra perfeitamente ao Cloud Load Balancing, sendo a opção de gerenciamento de segurança mais eficiente para este tutorial.

    Para saber mais sobre o IAP, consulte a Visão geral do Identity-Aware Proxy.

    Para entender como o IAP funciona com o Cloud Run, consulte a seção do Cloud Run em "Como o IAP funciona".

Nome de domínio válido

Além disso, é preciso ter um nome de domínio válido para provisionar um certificado que é necessário para configurar o balanceador de carga.

Páginas de tutoriais

Este tutorial tem as seguintes páginas:

  1. Configure seu projeto e o repositório de origem.

  2. Criar um serviço do Cloud Run.

  3. Criar um balanceador de carga.

  4. Configure o Identity-Aware Proxy (IAP).

  5. Teste o app protegido por IAP.

  6. Limpar o projeto.

Cada página pressupõe que você já tenha realizado as instruções das páginas anteriores do tutorial.