IAP를 사용하여 생성형 AI 앱 보호

이 튜토리얼에서는 생성형 AI 앱을 Cloud Run에 배포하고 IAP(Identity-Aware Proxy)로 보호하는 방법을 살펴봅니다. IAP는 Cloud Run에 배포된 HTTPS 애플리케이션을 위한 중앙 승인 레이어를 제공합니다. 네트워크 수준 방화벽을 사용하는 대신 IAP를 사용하여 애플리케이션 수준 또는 조직 수준의 액세스 제어 정책을 채택할 수 있습니다.

수동 또는 서드 파티 인증을 사용하여 Cloud Run에 배포된 앱을 보호할 수도 있지만, 앱 제공 중단을 방지하기 위해 대용량 또는 멀티 리전 트래픽에는 IAP를 사용하는 것이 좋습니다.

이 튜토리얼에서는 Gemini API를 호출하는 앱을 배포합니다. 이 앱은 Streamlit 프레임워크를 기반으로 합니다.

기본 요건

이 튜토리얼에서는 다음 도구와 프레임워크를 사용할 수 있다고 가정합니다.

  • Streamlit: Streamlit은 데이터 애플리케이션을 만들고 배포할 수 있는 오픈소스 앱 프레임워크입니다. Python을 사용하여 데이터 스크립트를 웹 앱으로 변환합니다.

  • 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에서 빌드를 실행합니다. 이 튜토리얼에서는 커밋을 Git 저장소에 푸시할 때마다 앱을 빌드하고 Cloud Run에 배포하도록 자동 Cloud Build 트리거를 설정합니다. Cloud Build에 대해 자세히 알아보세요.

  • Cloud Load Balancing: 확장성을 달성하기 위해 앱의 여러 인스턴스에 트래픽을 분산하는 데 도움이 됩니다. 애플리케이션 부하 분산기를 만들어 Cloud Run에서 호스팅되는 앱 백엔드 인스턴스에 트래픽을 분산합니다. Cloud Load Balancing은 IAP의 기본 요건이기도 합니다. Cloud Load Balancing에 대해 자세히 알아보세요.

  • IAP(Identity-Aware Proxy): IAP를 사용하여 앱을 보호하는 중앙 승인 레이어를 만듭니다. IAP는 연결된 Google Cloud 서비스로 확장되는 인증 및 승인 검사를 수행합니다. 또한 IAP는 Cloud Load Balancing을 지원하고, Cloud Load Balancing과 원활하게 통합되므로, 이 튜토리얼에서 가장 효율적인 보안 관리 옵션입니다.

    IAP에 대해 자세히 알아보려면 IAP(Identity-Aware Proxy) 개요를 참조하세요.

    IAP가 Cloud Run에서 작동하는 방식을 알아하려면 IAP 작동 방식의 Cloud Run 섹션을 참조하세요.

유효한 도메인 이름

또한 부하 분산기를 구성하는 데 필요한 인증서를 프로비저닝하려면 유효한 도메인 이름이 있어야 합니다.

튜토리얼 페이지

이 튜토리얼은 다음 페이지로 구성되어 있습니다.

  1. 프로젝트 및 소스 저장소 설정

  2. Cloud Run 서비스 만들기

  3. 부하 분산기 만들기

  4. IAP(Identity-Aware Proxy) 구성

  5. IAP 보안 앱 테스트

  6. 프로젝트 삭제

각 페이지에서는 이 튜토리얼의 이전 페이지에서 안내를 이미 완료했다고 가정합니다.