ServiceNow® 인스턴스 준비하기¶
Snowflake Connector for ServiceNow® V2에는 Snowflake Connector 약관 이 적용됩니다.
Snowflake Connector for ServiceNow®V2 를 설치하기 전에 ServiceNow® 인스턴스를 설정해야 합니다. 다음 단계를 완료합니다.
ServiceNow® 인스턴스 액세스 - ServiceNow® 인스턴스를 사용할 준비가 되었는지 확인합니다.
ServiceNow® 사용자 - 필요한 사용자가 올바르게 구성되었는지 확인합니다.
최적화된 성능을 위해 열 인덱스 설정 - 최상의 성능을 위해 열 인덱스를 구성합니다.
선택적 단계 - 필요한 경우 선택적 구성을 검토하고 수행합니다.
ServiceNow® 인스턴스 액세스¶
ServiceNow® 인스턴스가 공개적으로 사용 가능한지 확인합니다. 커넥터는 VPN 뒤에 숨겨진 인스턴스와 함께 작동하지 않습니다.
ServiceNow® 인스턴스에 IP 주소 액세스 제어 를 사용하는 경우 커넥터를 성공적으로 설치할 수 없습니다. 자세한 내용은 커뮤니티 문서 섹션을 참조하십시오.
ServiceNow® 사용자¶
커넥터의 ServiceNow® 사용자를 식별하거나 생성합니다.
ServiceNow® 인스턴스에 연결하려면 커넥터가 ServiceNow® 사용자로 인스턴스에 인증해야 합니다. 다음 요구 사항을 충족하는 ServiceNow® 사용자를 선택합니다.
사용자 이름에 콜론(
:
)을 포함할 수 없습니다.사용자는 수집할 ServiceNow® 테이블의 모든 레코드에 대한 읽기 액세스 권한이 있어야 합니다. ACL(액세스 제어 목록)은 이러한 테이블의 어떤 레코드도 이 사용자로부터 숨겨서는 안 됩니다.
스키마 감지를 활성화하려면 사용자에게 다음 테이블의 모든 행에 대한 읽기 액세스 권한이 있어야 합니다.
sys_db_object
(name
,super_class
,sys_id
필드 포함),sys_glide_object
(name
,scalar_type
,sys_id
필드 포함),sys_dictionary
(element
,internal_type
,name
,sys_id
필드 포함),
적절한 수집 전략을 사용하려면 사용자에게 다음 테이블의 모든 행에 대한 읽기 액세스 권한이 있어야 합니다.
sys_table_rotation
(name
및sys_id
필드 포함).
비용 효율성이 떨어지는 “잘라내기 및 로드” 수집 모드를 사용하지 않으려면 사용자에게 아래 테이블의
sys_updated_on
필드에 대한 읽기 액세스 권한이 있어야 합니다.sys_db_object
,sys_glide_object
,sys_dictionary
,sys_table_rotation
,저널 테이블(일반적으로
sys_audit_delete
).
참고
Snowsight에서는 대화형 사용자 로만 ServiceNow®에 대한 OAuth 인증을 사용해 연결을 구성할 수 있습니다. ServiceNow® 사용자는 사용자에 대해 Web service access only 설정이 비활성화된 경우 대화형 사용자가 됩니다.
SQL 명령으로 연결을 구성한 경우에만 비대화형 사용자로 OAuth 인증을 사용할 수 있습니다. 이 경우에는 ServiceNow®에 로그인할 수 없거나 Snowsight를 사용하여 OAuth 새로 고침 토큰을 받을 수 없습니다.
최적화된 성능을 위해 열 인덱스 설정¶
sys_updated_on
필드가 있는 ServiceNow® 테이블을 수집하고 동기화하려는 경우 해당 열에 인덱스를 설정하는 것이 좋습니다. 인덱스 설정에 대한 자세한 내용은 ServiceNow® 설명서의 테이블 인덱스 만들기 를 참조하십시오.
사용자 인터페이스를 통해 인덱스를 생성한 후에는 인덱스가 구성되는 데 다소 시간이 걸릴 수 있습니다. 인덱싱 프로세스는 백그라운드 작업으로 실행됩니다.
인스턴스에 큰 테이블이 있는 경우 ServiceNow® 고객 지원팀에 연락해 큰 테이블을 인덱싱하는 최선의 접근법에 대해 문의하는 것이 좋습니다.
선택적 단계¶
OAuth 인증 방법을 사용할 계획이고 ServiceNow® 사용자에게 할당된 읽기 전용 역할 이 있는 경우
glide.security.snc_read_only_role.tables.exempt_create
시스템 속성은 값 목록에oauth_credential
테이블이 있습니다.sys_properties
테이블에서glide.security.snc_read_only_role.tables.exempt_create
속성을 생성하거나 편집합니다. 이 속성 편집에 대한 자세한 내용은 ServiceNow 기술 자료 를 참조하십시오.새 시스템 속성을 추가하는 방법을 알아보려면 ServiceNow® 설명서에서 시스템 속성 추가 를 참조하십시오.
삭제된 레코드를 전파할 수 있도록 하려면
sys_audit_delete
테이블 또는 사용자 지정 저널 테이블을 삭제된 레코드에 대한 정보 소스로 사용합니다.참고
커넥터는 모든 저널 테이블 레코드에 액세스할 수 있어야 합니다. 그렇지 않으면 설치가 실패할 수 있습니다. 그렇지 않으면 다른 테이블의 레코드 삭제가 올바르지 않을 수 있습니다.
저널 테이블 행이 ACL로 숨겨진 경우 커넥터 동작을 예측할 수 없습니다. 설치에 성공하더라도 일부 삭제 항목은 프로세스의 후반부에서 올바르게 동기화되지 않을 수 있습니다.
sys_audit_delete
를 사용하려면 다음을 수행하십시오.no_audit_delete
사전 특성 을false
로 설정합니다.커넥터의 ServiceNow® 사용자가
sys_audit_delete
테이블과 이 테이블의documentkey
,tablename
,sys_id
,sys_created_on
필드에 액세스할 수 있는지 확인합니다.
사용자 지정 저널 테이블을 사용하려면 다음을 수행하십시오.
documentkey
및tablename
이라는 문자열 필드가 있는snowflake_connector_journal
이라는 저널 테이블을 만듭니다.커넥터의 ServiceNow® 사용자가
snowflake_connector_journal
테이블과 이 테이블의u_documentkey
,u_tablename
,sys_id
,sys_created_on
필드에 액세스할 수 있는지 확인합니다.다음 코드를 사용하여
RecordChange
라는 스크립트 포함을 만듭니다.var RecordChange = Class.create(); RecordChange.prototype= { initialize :function() {}, captureChange :function(tableName, docID) { var changeCapture = new GlideRecord('u_snowflake_connector_journal'); changeCapture.initialize(); changeCapture.setValue('u_documentkey', docID); changeCapture.setValue('u_tablename', tableName); changeCapture.insert(); }, type :'RecordChange' };
레코드 삭제를 캡처하는 비즈니스 규칙을 정의합니다.
(function executeRule(current, previous /*null when async*/) { new RecordChange().captureChange(current.getTableName(), current.getUniqueValue()); })(current, previous);
삭제된 레코드를 전파하려는 각 테이블에 대해 레코드가 삭제된 후 실행되도록 이 비즈니스 규칙을 구성합니다.
참고
커넥터는 감사가 수행된 경우에만 삭제된 레코드를 동기화할 수 있습니다.
DBDelete.setWorkflow()
를 호출하지 않는 삭제 작업은 Snowflake에서 수집되지 않습니다.DBDelete.setWorkflow()
사용에 대한 자세한 내용은 ServiceNow® 제품 설명서를 참조하십시오.또한, 삭제된 레코드와 관련하여 유의해야 할 사항은 다음과 같습니다.
no_audit_delete=true
사전 속성이 포함된 테이블에 대해서는 레코드 삭제가 추적되지 않습니다.sys
접두사가 포함된 테이블에서는 레코드 삭제가 기본적으로 추적되지 않습니다.감사된 테이블에 참조 필드가 있는 경우 커넥터는 연속 레코드 삭제를 통해서만 삭제된 레코드를 수집할 수 있습니다. 연속 레코드 삭제에 대한 자세한 내용은 ServiceNow® 제품 설명서를 참조하십시오.
다음 단계¶
이러한 절차를 완료한 후 Snowsight로 커넥터 설치 및 구성하기 또는 SQL 명령을 사용하여 커넥터 설치 및 구성하기 의 단계를 따르십시오.