IS_AGENT_ACTIVATED
IS_AGENT_ACTIVATED (SYS_CONTEXT 함수)
현재 실행 컨텍스트에 에이전트가 활성화되어 있으면 VARCHAR 값 'TRUE'를, 활성화된 에이전트가 없으면 'FALSE'를 반환해요.
본문
구문
SYS_CONTEXT(
'SNOWFLAKE$CURRENT' ,
'IS_AGENT_ACTIVATED'
)
인자
'SNOWFLAKE$CURRENT'
- 현재 실행 컨텍스트에 대한 컨텍스트 정보를 반환하는 함수를 호출하고 싶다고 지정해요.
'IS_AGENT_ACTIVATED'
- IS_AGENT_ACTIVATED 함수를 호출해요. 이 함수는 추가 인자를 받지 않고, 현재 실행 컨텍스트에서 에이전트가 활성화되어 있는지 여부를 반환해요.
반환 값
이 함수는 다음 VARCHAR 값 중 하나를 반환해요.
- 현재 실행 컨텍스트에 에이전트가 활성화되어 있으면 'TRUE'.
- 활성화된 에이전트가 없으면 'FALSE'.
함수는 다음 시나리오에서 'TRUE'를 반환해요.
- Snowflake 1자사(당사) 에이전트가 쿼리를 실행하는 경우. 여기에는 다음이 포함돼요: 명명된 Cortex Agent(데이터 에이전트). Snowflake CoCo 클라이언트(CLI, 데스크톱 또는 웹) 또는 REST API를 통해 호출된 상태 비저장 lite 에이전트. Snowflake CoWork를 통해 시작된 쿼리.
- 외부 에이전트가 쿼리를 실행하는 경우. 여기에는 다음이 포함돼요: 관리형 MCP 서버를 통해 Snowflake에 연결하는 에이전트. SERVICE_AGENT 사용자가 연 세션(자동으로 에이전트 활성 상태). IS_AGENTIC = TRUE로 구성된 Snowflake OAuth 커스텀 클라이언트 통합 또는 External OAuth 통합을 사용하는 세션.
Snowflake가 에이전트 세션을 식별·감사·관리하는 방법에 대한 개요는 Agent identity 문서를 참고하세요.
이 반환 값을 BOOLEAN 값 TRUE 또는 FALSE와 비교하려면 반환 값을 BOOLEAN으로 캐스팅하세요. 예를 들어:
SELECT SYS_CONTEXT('SNOWFLAKE$CURRENT', 'IS_AGENT_ACTIVATED')::BOOLEAN = TRUE;
2026_06 동작 변경 번들
계정에서 2026_06 동작 변경 번들을 활성화하고 SYS_CONTEXT를 통해 이 함수를 호출하면, VARCHAR 문자열 'TRUE' 또는 'FALSE' 대신 BOOLEAN을 반환해요.
기존 캐스팅(예: ::BOOLEAN 또는 ::NUMBER)은 계속 그대로 동작해요.
네임스페이스별 모든 속성과 함수의 반환 타입은 SYS_CONTEXT return types 문서를 참고하세요.
예시
다음 예시는 현재 실행 컨텍스트에 에이전트가 활성화되어 있는지 확인해요.
SELECT SYS_CONTEXT('SNOWFLAKE$CURRENT', 'IS_AGENT_ACTIVATED');
에이전트 접근을 제한하는 마스킹 정책
IS_AGENT_ACTIVATED를 마스킹 정책에서 사용해 에이전트가 쿼리를 실행할 때 민감 데이터를 마스킹할 수 있어요.
CREATE OR REPLACE MASKING POLICY mask_ssn_from_agents
AS (val STRING) RETURNS STRING ->
CASE
WHEN SYS_CONTEXT('SNOWFLAKE$CURRENT', 'IS_AGENT_ACTIVATED') = 'TRUE'
THEN '***-**-' || RIGHT(val, 4)
ELSE val
END;
ALTER TABLE hr.employees
MODIFY COLUMN ssn
SET MASKING POLICY mask_ssn_from_agents;
에이전트가 시작한 쿼리가 ssn 열에 접근하면 마지막 네 자리만 보여요. 직접 사용자 쿼리는 전체 값을 볼 수 있어요.
더 알아보기
- Context functions — 컨텍스트 함수 모음
- SYS_CONTEXT (SNOWFLAKE$CURRENT) — 현재 실행 컨텍스트 정보 반환
- SYS_CONTEXT return types — SYS_CONTEXT 반환 타입