카테고리:

Information Schema , 테이블 함수

LOGIN_HISTORY , LOGIN_HISTORY_BY_USER

LOGIN_HISTORY 테이블 함수 집합을 사용하여 다양한 차원에 따라 Snowflake 사용자의 로그인 시도를 쿼리할 수 있습니다.

  • LOGIN_HISTORY는 지정된 시간 범위 내에서 로그인 이벤트를 반환합니다.

  • LOGIN_HISTORY_BY_USER는 지정된 시간 범위 내에서 지정된 사용자의 로그인 이벤트를 반환합니다.

각 함수는 지정된 차원을 따라 쿼리하도록 최적화되어 있습니다. 결과는 SQL 조건자를 사용하여 추가로 필터링할 수 있습니다.

참고

이러한 함수는 지난 7일 이내의 로그인 활동을 반환합니다.

구문

LOGIN_HISTORY(
      [  TIME_RANGE_START => <constant_expr> ]
      [, TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <num> ] )

LOGIN_HISTORY_BY_USER(
      [  USER_NAME => '<string>' ]
      [, TIME_RANGE_START => <constant_expr> ]
      [, TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <num> ] )
Copy

인자

모든 인자는 선택 사항입니다.

TIME_RANGE_START => constant_expr , . TIME_RANGE_END => constant_expr

로그인 이벤트가 발생한 지난 7일 이내의 시간 범위(TIMESTAMP_LTZ 형식)입니다.

TIME_RANGE_END 를 지정하지 않는 경우, 이 함수는 가장 최근의 로그인 이벤트를 반환합니다.

시간 범위가 지난 7일 이내에 속하지 않는 경우, 오류가 반환됩니다.

USER_NAME => 'string'

LOGIN_HISTORY_BY_USER에만 적용

사용자 이름 또는 CURRENT_USER 를 지정하는 문자열입니다. 지정된 사용자에 대한 로그인 이벤트만 반환됩니다. 로그인 이름은 작은따옴표로 묶어야 합니다. 또한, 로그인 이름에 공백, 대/소문자 혼합 문자 또는 특수 문자가 포함된 경우, 이름을 작은따옴표 안에 큰따옴표로 묶어야 합니다(예: '"User 1"' vs 'user1').

기본값: CURRENT_USER

RESULT_LIMIT => num

함수가 반환하는 최대 행 수를 지정하는 숫자입니다.

일치하는 행의 수가 이 제한보다 큰 경우, 지정된 제한까지를 범위로 하여 타임스탬프가 가장 최근인 로그인 이벤트가 반환됩니다.

범위: 1 ~ 10000

기본값: 100.

사용법 노트

  • Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수 이름이 정규화되어야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.

출력

이 함수는 다음 열을 반환합니다.

열 이름

데이터 타입

설명

EVENT_TIMESTAMP

TIMESTAMP_LTZ

이벤트 발생 시간입니다.

EVENT_ID

NUMBER

이벤트의 고유 ID입니다.

EVENT_TYPE

TEXT

인증 이벤트의 경우 LOGIN과 같은 이벤트 유형입니다.

USER_NAME

TEXT

이 이벤트와 연결된 사용자입니다.

CLIENT_IP

TEXT

요청이 시작된 IP 주소입니다.

REPORTED_CLIENT_TYPE

TEXT

보고된 클라이언트 소프트웨어 유형(예: JDBC_DRIVER, ODBC_DRIVER 등)입니다. 이 정보는 인증되지 않았습니다.

REPORTED_CLIENT_VERSION

TEXT

보고된 클라이언트 소프트웨어 버전입니다. 이 정보는 인증되지 않았습니다.

FIRST_AUTHENTICATION_FACTOR

TEXT

사용자를 인증하는 데 사용되는 방법입니다(다단계 인증을 사용하는 경우 첫 번째 요소).

SECOND_AUTHENTICATION_FACTOR

TEXT

다단계 인증을 사용하는 경우 두 번째 요소이고, 그렇지 않으면 NULL입니다.

IS_SUCCESS

TEXT

사용자의 요청이 성공했는지 여부입니다.

ERROR_CODE

NUMBER

요청이 성공하지 못한 경우, 오류 코드입니다.

ERROR_MESSAGE

TEXT

요청이 성공하지 못한 경우, 사용자에게 반환된 오류 메시지입니다.

RELATED_EVENT_ID

NUMBER

향후 사용을 위해 예약되어 있습니다.

CONNECTION

TEXT

클라이언트가 사용하는 연결의 이름이거나, 클라이언트가 연결 URL을 사용하지 않는 경우 NULL입니다. 연결은 클라이언트 리디렉션 의 일부인 Snowflake 오브젝트입니다. 이 오브젝트는 비즈니스 연속성과 재해 복구를 위해 여러 계정에 걸쳐 장애 조치될 수 있는 연결 URL을 나타냅니다. . , NOTE: 클라이언트가 연결 URL이 아닌 계정 URL로 구성된 ID 공급자(IdP)를 통해 인증하는 경우, IdP는 인증이 완료된 후 클라이언트를 계정 URL로 연결합니다. 이 로그인 이벤트의 CONNECTION 열은 NULL입니다. 인증 및 클라이언트 리디렉션 섹션을 참조하십시오.

잘못된 SAML 응답으로 인해 실패한 로그인 시도의 오류 코드/메시지에 대한 자세한 내용은 페더레이션 인증 및 SSO 문제 해결 를 참조하십시오.

현재 사용자의 마지막 로그인 이벤트를 100개까지 검색합니다.

select *
from table(information_schema.login_history_by_user())
order by event_timestamp;
Copy

지정된 사용자의 마지막 로그인 이벤트를 1000개까지 검색합니다.

select *
from table(information_schema.login_history_by_user(USER_NAME => 'USER1', result_limit => 1000))
order by event_timestamp;
Copy

지난 1시간 동안 현재 역할이 모니터링하도록 허용된 모든 사용자의 로그인 이벤트를 100개까지 검색합니다.

select *
from table(information_schema.login_history(TIME_RANGE_START => dateadd('hours',-1,current_timestamp()),current_timestamp()))
order by event_timestamp;
Copy