# Event Hub 정책 설정 가이드 ## 📌 개요 Azure Event Hub 사용을 위한 공유 액세스 정책(SAS Policy) 설정 방법 ## 🔧 설정 단계 ### 1. Azure Portal 접속 - Event Hub Namespace: `hgzero-eventhub-ns` - 리소스 그룹: `rg-digitalgarage-02` ### 2. 정책 생성 #### (1) STT 서비스용 Send 정책 ``` 정책 이름: stt-send-policy 권한: ✓ Send 용도: STT 서비스가 음성 인식 결과를 Event Hub에 발행 ``` **생성 방법**: 1. `hgzero-eventhub-ns` → 공유 액세스 정책 2. `+ 추가` 클릭 3. 정책 이름: `stt-send-policy` 4. **Send** 체크 5. **만들기** 클릭 6. 생성된 정책 클릭 → **연결 문자열-기본 키** 복사 #### (2) AI 서비스용 Listen 정책 ``` 정책 이름: ai-listen-policy 권한: ✓ Listen 용도: AI 서비스가 Event Hub에서 이벤트를 구독 ``` **생성 방법**: 1. 공유 액세스 정책 → `+ 추가` 2. 정책 이름: `ai-listen-policy` 3. **Listen** 체크 4. **만들기** → 연결 문자열 복사 #### (3) 관리용 Manage 정책 ``` 정책 이름: hgzero-manage-policy 권한: ✓ Manage (Send + Listen 포함) 용도: 개발, 테스트, 관리 작업 ``` **생성 방법**: 1. 공유 액세스 정책 → `+ 추가` 2. 정책 이름: `hgzero-manage-policy` 3. **Manage** 체크 (자동으로 Send/Listen 포함) 4. **만들기** → 연결 문자열 복사 ### 3. 연결 문자열 형식 ``` Endpoint=sb://hgzero-eventhub-ns.servicebus.windows.net/; SharedAccessKeyName=stt-send-policy; SharedAccessKey=; EntityPath=hgzero-eventhub-name ``` ### 4. IntelliJ 실행 프로파일 설정 #### STT 서비스 (`.run/SttServiceApplication.run.xml`) ```xml ``` #### AI 서비스 (`.run/AiServiceApplication.run.xml`) ```xml ``` ## ✅ 검증 방법 ### 연결 테스트 ```bash # STT 서비스 시작 후 로그 확인 # 성공 메시지 예시: [INFO] EventHubProducerClient - Connected to Event Hub: hgzero-eventhub-name ``` ### 권한 검증 - **Send 정책**: 이벤트 발행만 가능 - **Listen 정책**: 이벤트 구독만 가능 - **Manage 정책**: 모든 작업 가능 ## 🔐 보안 권장사항 1. **최소 권한 원칙**: 각 서비스는 필요한 권한만 부여 2. **키 회전**: 정기적으로 액세스 키 재생성 3. **환경 분리**: Dev/Prod 환경별 별도 정책 사용 4. **연결 문자열 보호**: Git에 커밋하지 않음 (환경 변수 사용) ## 📚 참고 문서 - [Azure Event Hub SAS 인증](https://learn.microsoft.com/azure/event-hubs/authenticate-shared-access-signature)