Gemini API사용시 PSC를 사용하여 보안성을 높이고, VPC-SC로 상세 보안을 더한 부분을 설명합니다.

- VPC SC를 통한 보안방법
https://cloud.google.com/blog/ko/products/ai-machine-learning/ai-private-service-connect-vpc-service-controls-gemini-api
- VPC - SC 생성
- 보호할 리소스
- 보호서비스 선택
- PSA 여부
- 허용 IP
- 테스트코드
# 1. 변수 설정
PROJECT_ID="shared-vpc-test-2-"
LOCATION="us-central1"
MODEL_ID="gemini-2.5-flash"
# 2. 토큰 갱신
ACCESS_TOKEN=$(gcloud auth print-access-token)
# 3. Gemini API 호출 (진짜 명령어)
curl -X POST \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent" \
--resolve ${LOCATION}-aiplatform.googleapis.com:443:100.100.100.10 \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{ "text": "Hello, Gemini! If you receive this, answer with: PSC Connection Successful!" }]
}]
}'
- 서비스 차단시
PERMISSION_DENIED으로 실행할 수 없으며, 사유(Type)는 VPC_SERVICE_CONTROLS 때문이다.
- VPN IP 허용시
Access Contex Manager로 이동
→ 액세스 수준 생성
조건 작성방법
IP 서브네트워크 → 비공개 IP → VPC에 HostNetwork VPC 추가
VPN을 통해 들어오는 패킷들이 HostNetwork VPC로 왔기에 허용됨
- 보안을 더 세밀하게 설정시
액세스 수준대신
인그레스 정책에서 ID + 소스 + 타켓을 설정하여 더 좁혀서 설정
네트워크 보안 관점
Access Manager Context 서비스와 같이 VPC SC를 사용하면 위치정보, IP, 기기정보(유료) 외부에서 오는 네트워크와 내부 VPC 트래픽으로 오는 것을 네트워크적으로 (외부IP → Vertex AI (Gemini Model API) 로 허용, 차단 하는 것은 가능합니다.

다만 VPC SC는 VPN으로 들어오는 On-presmise/VPN IP의 네트워크단 제어를 지원하지를 않음
On-premise → GCP (Host VPC)로 들어오기에 해당 VPC를 허용하면, 해당 VPC의 트래픽은 허용처리가 가능함
즉 VPN을 통해 들어오는 패킷들이 HostNetwork VPC로 왔기에 허용할 수 있는 있으며
이는 해당 VPC 에서 VM을 만든다면, 해당 VM에서 호출이 가능할 수 있습니다.
(물론 SA에 Vertex API 권한이 있어야하지만, 호출될 가능성이 있다는 점입니다.)
네트워크 IP와 Port로 제어를 원하신다면, Azure측에서 → GCP (PSC IP)에 대해 Egress 를 차단하는 정책을 두는 것이 방법이라 생각됩니다.
네트워크 외 다른 방안은 인그레스 정책 방안이 있습니다.
VPC-SC는 다양한 조건 조합이 가능하고 고객사마다 지향하는 보안 요건이 상이하므로, 특정 방식만이 '유일한 정답'이라고 정의하기는 어려우며, VPC-SC 에 대해 상세하게 확인하고 싶다면 “VPC SC 관련 정리” 문서 참조
GCP VPC-SC(VPC Service Controls) 정리
정의: IAM(ID 기반 보안)과는 독립적으로, 컨텍스트 기반의 경계 보안을 제공하는 추가 보안 계층 목적: 데이터 무단 반출 방지: 권한이 있는 내부자가 데이터를 외부 버킷으로 복사하거나 유출하
seonggi.kr
참조 :
Google Cloud PSC(Private Service Connect)를 사용하여 Vertex AI Gemini 비공개 접근 구성하기 | Google Cloud 블로
긴 여정을 정리하면 PSC와 VPC-SC가 서로 다른 역할을 수행하면서 안전한 비공개 구성을 구현하였습니다. PSC는 '통신 경로'를 공개 인터넷에서 비공개로 전환하여 공개 인터넷에 노출되지 않는 통
cloud.google.com
'Cloud > GCP' 카테고리의 다른 글
| GCP VPC-SC(VPC Service Controls) 정리 (0) | 2026.05.08 |
|---|---|
| GCP Agent Engine - PSC-Interface을 통한 MCP Server 사용방안 (0) | 2026.05.03 |
| GCP VPC간 Classic VPN 생성 스크립트 (0) | 2026.04.22 |
| GCP 메일 계정과 도메인 (0) | 2026.04.20 |
| Model Armor 실시간 알림 설정 방안 (0) | 2026.04.01 |
| GCP OAuth(인증)을 PSC (Private Service Connect)를 통해 사설망으로 연결하는 방안 (0) | 2026.03.31 |
| GCP 권한 변경시 실시간 알림 설정방안 (0) | 2026.02.28 |