- 카테고리:
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> ] )
인자¶
모든 인자는 선택 사항입니다.
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;
지정된 사용자의 마지막 로그인 이벤트를 1000개까지 검색합니다.
select * from table(information_schema.login_history_by_user(USER_NAME => 'USER1', result_limit => 1000)) order by event_timestamp;
지난 1시간 동안 현재 역할이 모니터링하도록 허용된 모든 사용자의 로그인 이벤트를 100개까지 검색합니다.
select * from table(information_schema.login_history(TIME_RANGE_START => dateadd('hours',-1,current_timestamp()),current_timestamp())) order by event_timestamp;