Cloud/GCP
GCP OAuth(인증)을 PSC (Private Service Connect)를 통해 사설망으로 연결하는 방안
달빛궁전-
2026. 3. 31. 16:18
목적 :
GCP 계정인증을 PSC로 사용하기
인증 트래픽의 사설 경로화: 온프레미스(On-Premise) 환경에서 GCP 계정 인증 요청 시, 공인 인터넷이 아닌 Cloud VPN과 PSC를 거치는 사설망 경로를 통해 Google OAuth Server에 도달하도록 구성하는 것
계정 유형별 호환성 검증: 개인 계정(gmail.com)뿐만 아니라 조직 계정(예: mz.co.kr) 등 다양한 도메인의 계정들이 PSC 경로를 통해 문제없이 인증되는지 확인하는 것이 주요 테스트 방안 보안성 강화: 내부 서버가 인터넷 게이트웨이를 통하지 않고도 외부 구글 API 서버와 안전하게 통신할 수 있는 환경을 구축
구성도

테스트 방안
- DNS 조작: 온프레미스 서버의 /etc/hosts 파일을 수정하여, 구글 인증 서버 주소인 oauth2.googleapis.com의 IP를 PSC 엔드포인트의 사설 IP(예: 100.100.100.100)로 지정합니다.
- 인증 액세스 범위(Scopes) 검사: Google API Console을 통해 인증에 필요한 액세스 범위를 검사하며, 이 과정에서 획득한 액세스 토큰을 API에 실어 전송하게 됩니다.
- 브라우저 기반 인증: 사용자가 gcloud auth login을 실행하면 브라우저 링크가 생성됩니다. 사용자는 이 링크를 통해 구글 로그인 및 권한 승인(Consent)을 진행합니다.
- 토큰 발급 및 활성화: 인증 완료 후 브라우저에서 제공된 확인 코드(Verification Code)를 터미널에 입력하면, 해당 계정이 활성화(Active Account)되어 GCP 자원에 접근할 수 있는 권한을 얻게 됩니다
테스트 실행결과
- VPN 구성
- On-premise의 server 구성에서 /etc/hosts 파일에 “oauth2.googleapis.com” PSC IP로 수정
- 사용자 계정에 대한 인증 진행
개인계정 - 조직계정
gmail.com외 다른 조직 계정도 모두 인증되는 것을 확인함
https://developers.google.com/identity/protocols/oauth2?hl=ko
OAuth 2.0을 사용하여 Google API에 액세스하기 | Authorization | Google for Developers
의견 보내기 OAuth 2.0을 사용하여 Google API에 액세스하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 참고: Google의 OAuth 2.0 구현 사용은 OAuth 2.0 정책의 적용
developers.google.com
Google의 OAuth 2.0에 대한 설명입니다.
테스트 방안과 동일하게 되어있는건 아니나, 인증 흐름은 동일합니다.
- 권한 식별: 앱이 필요한 API와 액세스 범위(Scope)를 정의합니다.
- 사용자 리디렉션: 앱은 요청한 권한 목록과 함께 사용자를 Google 인증 서버로 리디렉션합니다.
- 사용자 동의: 사용자가 요청된 권한을 검토하고 승인 여부를 결정합니다.
- 승인 코드 응답: Google 서버는 사용자의 승인을 확인한 후 리디렉션 URI를 통해 앱에 '승인 코드'를 전달합니다.
- 토큰 교환: 앱은 승인 코드를 Google의 토큰 엔드포인트(
oauth2.googleapis.com)에 전송하여 '액세스 토큰' 및 '갱신 토큰'으로 교환합니다. - API 호출: 발급받은 액세스 토큰을 HTTP 헤더에 담아 실제 Google API를 호출합니다.