사전 준비
- 역할, 서비스 사용자, 토큰을 만들
ACCOUNTADMIN(또는 동등한) 권한. - 해당 사용자에게 연결할 네트워크 정책. 네트워크 정책이 없으면 Snowflake는 토큰 인증을 거부합니다.
- 역할이 사용할 수 있는 웨어하우스. 메타데이터 쿼리는 컴퓨트가 필요 없으므로, 웨어하우스가 없어도 연결 테스트는 통과하고 실제 분석만 실패할 수 있습니다.
설정
1
읽기 전용 역할 만들기
ACCOUNTADMIN으로 실행하세요. USAGE_VIEWER는 미터링과 스토리지를, OBJECT_VIEWER는 객체 인벤토리를 담당하며, GOVERNANCE_VIEWER가 QUERY_HISTORY를 읽을 수 있게 합니다:2
서비스 사용자 만들기
SERVICE 유형 사용자는 비밀번호, MFA, SSO가 없으므로 토큰으로만 인증합니다:3
네트워크 정책 연결하기
테스트 계정이 아니라면 이 단계를 건너뛰는 것이 가장 흔한 설정 실패이며, 반환되는 오류(
ALLOWED_IP_LIST를 사용 중인 이그레스 IP 대역으로 좁히세요:390403)는 정책을 언급하지 않습니다.4
프로그래매틱 액세스 토큰 발급하기
DAYS_TO_EXPIRY는 엄격한 만료 기한이며, 그날부터 연결이 390318로 실패하기 시작하므로 새 토큰을 발급해야 합니다.5
CloudThinker에서 연결 추가하기
Connections → Snowflake로 이동해 다음을 입력하세요:
- Account identifier:
MYORG-MYACCOUNT. Snowsight → Account details에서 확인합니다. 전체 URL이 아닙니다. - Programmatic access token: 이전 단계에서 발급한 토큰. 계정 비밀번호가 아닙니다.
- Role: 선택 사항. 비워 두면 사용자의 기본 역할을 사용합니다.
- Warehouse: 선택 사항. 비워 두면 사용자의 기본 웨어하우스를 사용합니다.
연결 세부 정보
필요한 권한
읽기 전용 (기본값)
GOVERNANCE_VIEWER는 놓치기 쉽습니다. 이것이 없으면 비용과 스토리지 답변은 계속 작동하지만, 느린 쿼리와 오류 답변은 모두 QUERY_HISTORY에서 실패합니다.
쓰기 접근 (활성화하는 경우에만)
OPERATE는 에이전트가 조작해도 되는 웨어하우스에만 부여하고, 공유 프로덕션 웨어하우스에는 절대 부여하지 마세요. 리소스 모니터를 붙인 전용 에이전트 웨어하우스를 두면 어떤 프롬프트로도 올릴 수 없는 컴퓨트 상한이 생깁니다.
에이전트 기능
연결하면 Tony는 다음을 할 수 있습니다:연결 확인
프롬프트 예시
쓰기 접근
연결은 읽기 전용으로 제공되며, 접근 권한은 자격 증명을 따르므로 쓰기는 연결마다 결정합니다. 하나의 워크스페이스가 읽기 전용 토큰과 쓰기 가능 토큰을 동시에 가질 수 있습니다.
Connections → Snowflake → Tool permissions에서 켭니다. 먼저 따져볼 두 가지:
- 여기서 쓰기란 정확히 두 가지 작업이며, 임의의 SQL이 아닙니다. 리소스 모니터 상향,
DATA_RETENTION_TIME_IN_DAYS하향, 웨어하우스 크기 변경은 여전히 Snowsight에서 직접 실행할 구문으로 보고됩니다. - 권한 부여가 더 강한 통제입니다. 도구 권한은 CloudThinker가 쓰기를 요청할지를 결정하고, 토큰의
ROLE_RESTRICTION과 역할의 권한이 Snowflake가 쓰기를 허용할지를 결정합니다.
문제 해결
인증이 즉시 실패함 (390403)
인증이 즉시 실패함 (390403)
사용자에게 네트워크 정책이 없습니다. 정책이 연결될 때까지 Snowflake는 토큰 인증을 거부합니다:
ALTER USER SVC_CLOUDTHINKER SET NETWORK_POLICY = CT_POLICY;어제는 되던 것이 실패함 (390318)
어제는 되던 것이 실패함 (390318)
토큰이 만료되었거나 취소되었습니다.
DAYS_TO_EXPIRY는 엄격한 만료 기한입니다. 새 토큰을 발급하고 연결을 업데이트하세요.Connected인데 모든 쿼리가 실패함 (090073)
Connected인데 모든 쿼리가 실패함 (090073)
리소스 모니터가 할당량을 초과했거나, 웨어하우스가 중단된 채 재개하지 못하고 있습니다. 권한이 아니라 계정 용량 문제이므로 어떤
GRANT로도 해결되지 않습니다. 계정 관리자가 리소스 모니터를 올리거나 재설정해야 합니다.자격 증명이 유효하고 테스트 프로브는 컴퓨트가 필요 없기 때문에 연결 상태는 Connected로 유지됩니다.No active warehouse selected (000606)
No active warehouse selected (000606)
서비스 사용자에게
DEFAULT_WAREHOUSE가 없고 설정된 웨어하우스도 없습니다. 연결의 Warehouse를 설정하거나 사용자에게 기본값을 지정하세요.섹션이 비어서 반환됨
섹션이 비어서 반환됨
오류가 아닙니다.
ACCOUNT_USAGE는 최대 몇 시간까지 지연되고 1년치 이력을 보관하므로, 활동이 적은 계정에서 좁은 기간을 조회하면 행이 없습니다.보안
- 최소 권한 — 에이전트가 사용 사례에 필요한 권한만 부여하세요. 읽기 전용으로 시작한 후 필요에 따라 확장하세요.
- 기본 읽기 전용 — 에이전트가 이 연결을 통해 변경 작업을 수행하게 할 것이 아니라면 읽기 전용 자격증명을 사용하세요.
- 자격증명 교체 — 정기 일정에 따라 키와 토큰을 교체하세요. 연결을 업데이트하면 CloudThinker가 새 값을 자동으로 반영합니다.
- 오프보딩 시 취소 — 연결을 삭제하거나 팀원이 퇴사할 때 프로바이더에서 자격증명을 제거하세요.
- 전용 서비스 사용자 —
TYPE = SERVICE사용자는 비밀번호, MFA, SSO가 없어 토큰이 유일한 진입 경로가 되고 감사 기록이 읽기 쉬워집니다. - 토큰을 제한하고 만료시키기 —
ROLE_RESTRICTION은 연결이 도달할 수 있는 범위를 제한하고,DAYS_TO_EXPIRY는 잊기 쉬운 교체 주기를 강제합니다.
관련 항목
Tony 에이전트
데이터베이스 중심 최적화 에이전트
ClickHouse 연결
ClickHouse 클러스터를 위한 유사한 설정