n8n 워크플로우를 구축하다 보면 사내 구글 워크스페이스(Google Sheets, Google Drive, Gmail 등)의 데이터를 읽거나 써야 하는 경우가 많습니다. 이때 n8n과 구글 시스템을 안전하게 연결하기 위한 "통행증(API 자격 증명)"을 발급받으려면, 팀 전용의 Google Cloud Console 프로젝트가 반드시 필요합니다.
프로젝트 개설 권한 및 정책
전사 데이터 보안 및 중앙 집중식 권한 관리를 위해, 실무자 개인 계정으로 구글 클라우드 프로젝트를 임의 생성하는 것은 제한되어 있습니다.
어떤 경우에 신청해야 하나요?
- n8n에서 Google Sheets 노드를 사용해 데이터를 시트에 추가하거나 불러오고 싶을 때
- 구글 드라이브의 특정 폴더에 파일을 자동으로 업로드하거나 다운로드할 때
- 그 외 구글에서 제공하는 서비스(캘린더, 문서 등) 연동이 필요할 때
신청 절차
구글 데이터 연동이 필요한 팀은 아래 양식을 작성하여 #인프라-업무요청에 문의해 주시기 바랍니다.
신청 양식
Slack #인프라-업무요청 채널에 문의
| 항목 | 작성 예시 |
|---|---|
| 신청 팀명 | 인사팀 |
| 프로젝트 관리 책임자 | 팀장 또는 지정 담당자 성함 |
| 사용 목적 및 시나리오 | 매일 접수된 구글 폼 응답을 구글 시트에 자동 기록 |
| 필요 API 항목 | Google Sheets API, Google Drive API |
개설 완료 후 후속 작업
테크 그룹에서 프로젝트 생성이 완료되면, 신청하신 담당자에게 "프로젝트 관리자 권한"이 위임됩니다.
⚠️ OAuth2 인증 사용 금지: 개인 동의 기반의 OAuth2 인증은 퇴사·비밀번호 변경 시 인증이 만료되어 자동화가 중단될 수 있으므로 전면 금지됩니다. 반드시 서비스 계정(Service Account) 방식만 사용해 주십시오.
단계별 설정 방법
1 API 활성화
- Google Cloud Console 접속
- 상단 프로젝트 선택기에서 테크팀이 생성해준 조직 프로젝트를 선택
- 좌측 메뉴 → API 및 서비스 → 라이브러리
- 필요한 API를 검색하여 사용 버튼 클릭 (예: Google Sheets API, Google Drive API, Google Calendar API)
2 서비스 계정(Service Account) 생성
- 좌측 메뉴 → IAM 및 관리자 → 서비스 계정
- 상단의 "서비스 계정 만들기" 클릭
- 서비스 계정 이름 입력 (예: n8n-인사팀-자동화)
- "완료" 클릭
3 JSON 키 발급
- 생성된 서비스 계정 목록에서 방금 만든 계정을 클릭
- 상단 탭 중 "키" 선택
- "키 추가" → "JSON" 선택 → "만들기" 클릭
- JSON 파일이 자동 다운로드됨
주의: JSON 키 파일은 비밀번호와 동일한 수준의 보안 자산입니다. 슬랙·이메일로 공유하지 마시고, n8n Credentials에만 등록해 주십시오.
4 n8n에 크리덴셜 등록
- n8n → 좌측 메뉴 Credentials → Add Credential
- 사용할 서비스 검색 (예: Google Sheets API, Google Drive API)
- 인증 방식에서 Service Account 선택 (⚠️ OAuth2를 선택하지 마세요)
- 3단계에서 다운로드한
.json파일의 내용을 붙여넣기 - 크리덴셜 이름을 네이밍 규칙에 맞게 입력 (형식: [팀 or 이름]-[서비스명]-[용도], 예시: 인사팀-Google Sheets-주간리포트)
- Save 클릭
필수: Google Workspace 리소스 공유 설정
서비스 계정은 일반 사용자와 달리 자동으로 권한이 부여되지 않습니다.
- 서비스 계정의 이메일 주소를 확인합니다 (형식:
계정이름@프로젝트ID.iam.gserviceaccount.com) - 접근하려는 Google Sheets 또는 Drive 폴더를 엽니다
- 공유 버튼 클릭 → 서비스 계정 이메일 주소를 입력 → 편집자 권한으로 추가
- 이 단계를 빠뜨리면 n8n에서 "권한 없음(403)" 에러가 발생합니다
Tip: Drive 폴더 단위로 공유하면 하위 파일에 모두 권한이 적용되므로, 파일마다 개별로 공유할 필요가 없습니다.