docs: [esign] Google Cloud Vision API 활성화 절차 및 인증 구조 문서화

- API Key와 API 활성화는 별개 개념 (인증 vs 서비스 사용 권한)
- 활성화 직접 링크 및 CLI 방법 추가
- SAM 프로젝트 Google API 활성화 목록 (Vertex AI, GCS, FCM, Vision)
- GoogleVisionAdapter 인증 우선순위 3단계 설명
This commit is contained in:
김보곤
2026-03-23 08:15:52 +09:00
parent 14b5dcb3ef
commit 48b517b3e9

View File

@@ -667,13 +667,13 @@ verification_completed — 모든 단계 통과
## 10. 설정 (config)
```php
// config/esign.php (추가)
// config/esign.php
'handwriting_verification' => [
'enabled' => env('ESIGN_HWR_ENABLED', false),
'enabled' => env('ESIGN_HWR_ENABLED', true),
// HWR 엔진 우선순위
'engine' => env('ESIGN_HWR_ENGINE', 'clova'), // clova, google, tesseract
'fallback_engine' => env('ESIGN_HWR_FALLBACK', 'google'),
// HWR 엔진 우선순위: clova, google_vision, tesseract
'engine' => env('ESIGN_HWR_ENGINE', 'clova'),
'fallback_engine' => env('ESIGN_HWR_FALLBACK', 'google_vision'),
// Naver Clova OCR
'clova' => [
@@ -681,16 +681,17 @@ verification_completed — 모든 단계 통과
'secret_key' => env('CLOVA_OCR_SECRET_KEY'),
],
// Google Cloud Vision
'google' => [
'credentials_path' => env('GOOGLE_VISION_CREDENTIALS'),
// Google Cloud Vision (서비스 계정 우선, API Key 폴백)
'google_vision' => [
'credentials_path' => env('GOOGLE_VISION_CREDENTIALS', env('GOOGLE_APPLICATION_CREDENTIALS')),
'api_key' => env('GOOGLE_VISION_API_KEY'),
],
// 검증 설정
'default_threshold' => 80.0, // 기본 통과 임계값 (%)
'max_attempts' => 5, // 최대 시도 횟수
'min_strokes' => 5, // 최소 스트로크 수
'recognition_timeout' => 5, // 인식 타임아웃 (초)
'default_threshold' => 80.0,
'max_attempts' => 5,
'min_strokes' => 5,
'recognition_timeout' => 5,
// 이미지 전처리
'image_max_width' => 1200,
@@ -698,6 +699,56 @@ verification_completed — 모든 단계 통과
],
```
### 10.1 Google Cloud Vision API 활성화 절차 (필수)
> **핵심**: Google Cloud 서비스 계정(API Key)이 있더라도, 개별 API는 프로젝트 수준에서 **별도로 활성화**해야 한다. API Key/서비스 계정은 **인증 수단**이고, API 활성화는 **서비스 사용 권한**이다 — 별개의 개념이다.
```
❌ 서비스 계정만 있으면 모든 Google API를 바로 사용 가능 (틀림)
✅ 서비스 계정 + 해당 API 활성화 = 두 가지 모두 필요
```
**활성화 방법**:
1. Google Cloud Console 접속
2. 프로젝트 선택: `codebridge-chatbot` (ID: 814841800268)
3. [API 및 서비스] → [라이브러리] → "Cloud Vision API" 검색
4. **"사용(Enable)" 버튼** 클릭
5. 활성화 후 수 분 내 적용
**직접 링크**:
```
https://console.developers.google.com/apis/api/vision.googleapis.com/overview?project=codebridge-chatbot
```
**CLI 방법** (gcloud 설치 시):
```bash
gcloud services enable vision.googleapis.com --project=codebridge-chatbot
```
**현재 SAM 프로젝트에서 활성화된 Google API 목록**:
| API | 용도 | 상태 |
|-----|------|:----:|
| Vertex AI | AI 기능 (Gemini) | ✅ 기존 |
| Cloud Storage | 파일 저장 (GCS) | ✅ 기존 |
| FCM | 푸시 알림 | ✅ 기존 |
| **Cloud Vision** | **필기 인식 (HWR)** | ✅ 2026-03-23 활성화 |
### 10.2 인증 우선순위 (GoogleVisionAdapter)
```
1순위: 서비스 계정 JSON → OAuth2 Bearer Token
├─ config('esign.handwriting_verification.google_vision.credentials_path')
├─ env('GOOGLE_APPLICATION_CREDENTIALS')
└─ config('gcs.service_account_path') ← 기존 GCS 서비스 계정 공유
2순위: API Key (폴백)
└─ config('esign.handwriting_verification.google_vision.api_key')
```
SAM 프로젝트는 기존 GCS 서비스 계정(`/var/www/sales/apikey/google_service_account.json`)을 공유하므로 **`.env` 변경 없이** Vision API를 사용한다.
---
## 11. 개발 로드맵