🔐 루터봇 스레드 읽기 — 도메인 위임 1건 요청 (관리자용)
루터봇이 채팅 스레드의 이전 메시지를 읽어 맥락으로 활용(예: 답글로 "@Rootr 이 내용 문서에 넣어줘")하려면,
관리자님이 admin.google.com 에서 도메인 전체 위임 1건을 추가해야 합니다.
📍 위치는 GCP 가 아니라
admin.google.com(관리 콘솔) 입니다.
설정 방법
- https://admin.google.com 접속 (최고관리자)
- 보안(Security) → 액세스 및 데이터 제어 → API 제어(API controls)
- 아래 "도메인 전체 위임 관리(Manage Domain-wide Delegation)" 클릭
- [새로 추가 / Add new]
- 값 입력:
| 항목 | 값 |
|---|---|
| 클라이언트 ID | 105672650448652352052 |
| OAuth 범위 | https://www.googleapis.com/auth/chat.messages.readonly |
- 승인(Authorize)
이 위임이 실제로 허용하는 것 (정확히)
도메인 위임은 "안심하세요"로 넘길 사안이 아니므로, 판단에 필요한 사실만 적습니다.
무엇을 하게 되나
- 이 서비스 계정이 부여된 범위 안에서만 사용자를 대행(impersonate)할 수 있게 됩니다.
- 이번에 부여하는 범위는 딱 하나:
chat.messages.readonly.- ✅ 가능: 사용자를 대신해 Google Chat 메시지 조회(읽기)
- ❌ 불가: 메시지 전송·삭제·수정, 그리고 Gmail·Drive·Calendar·Directory·관리자 등 그 외 전부.
위임 목록에 없는 범위는 구조적으로 호출 자체가 불가능합니다(위 테스트에서 unauthorized_client 로 거부됨).
정직하게 — 감안할 점
- 도메인 위임은 강력한 기능이라, 원칙상 이 서비스 계정은 조직 사용자 누구든 대행해 "채팅 메시지 읽기"를 수행할 수 있습니다 (범위별 위임은 OU 단위로 좁힐 수 없음). 실제 노출 표면은 "채팅 메시지 읽기 전용"으로 한정됩니다.
- 봇 서버 코드는 이 권한을 요청을 보낸 본인의 스레드 맥락을 읽는 용도로만 호출합니다.
출처 · 통제권
- 서비스 계정은 우리 회사 소유 GCP 프로젝트
rootr-bot-08040251소속입니다(외부 업체 계정 아님). - 언제든 취소 가능: 같은 화면에서 이 항목을 삭제하면 즉시 무효화됩니다.
- 감사: 사용은 서버 로그(
~/rootr-bot)와 GCP 감사 로그로 확인할 수 있습니다.
검증 방법 (원하시면)
- 부여 전/후로, 이 클라이언트 ID가 가진 범위가 위 한 줄뿐인지 위임 목록에서 직접 확인할 수 있습니다.
- 부여 전에는 봇의 읽기 호출이 실제로 거부됩니다(확인 완료). 부여 후에만 채팅 읽기가 열립니다.
완료 후
승인이 끝나면 개발 담당자(geunwoong.ryu@visitinc.kr)가 서버에서 실제 동작을 검증한 뒤 기능을 활성화합니다.
이 위임 없이도 봇의 문서 읽기/쓰기/검색 등 기본 기능은 정상 동작하며, 이 위임은 스레드 맥락 읽기에만 쓰입니다.
관련: /루터봇/Google 관리자 설정 체크리스트 (앞서 하신 권한 2건)