SQL 명령을 사용하여 커넥터 설치 및 구성하기¶
ServiceNow®용 Snowflake 커넥터에는 커넥터 약관 이 적용됩니다.
이 항목에서는 SQL 명령을 사용하여 커넥터를 설치하고 구성하는 방법을 설명합니다. ServiceNow® 인스턴스 준비하기 에서 개술한 절차를 이미 수행했다고 가정하고 설명을 이어가겠습니다.
이 항목의 내용:
OAuth 설정하기¶
참고
OAuth 대신 기본 인증을 사용할 계획이라면 이 섹션을 건너뛰고 시크릿 오브젝트 만들기 섹션으로 계속 진행할 수 있습니다.
Snowflake Connector for ServiceNow® 가 ServiceNow 인스턴스 인증에 OAuth를 사용하도록 구성할 수 있습니다.
ServiceNow에서 코드 권한 부여 흐름 과 함께 OAuth 사용을 지원하도록 인스턴스를 설정해야 합니다.
Snowflake Connector for ServiceNow® 에서
커넥터는
TYPE = API_AUTHENTICATION
와의 보안 통합을 사용하여 Snowflake를 ServiceNow 인스턴스에 연결합니다.보안 통합은 ServiceNow 인스턴스 인증을 위해 ServiceNow OAuth 클라이언트 ID, 클라이언트 시크릿, 엔드포인트 URL를 지정합니다.
커넥터는 Snowflake 시크릿 오브젝트를 사용하여 인증 자격 증명을 비롯한 중요한 정보를 관리합니다.
인증에 OAuth를 사용하는 경우, 커넥터는 ServiceNow OAuth 새로 고침 토큰, 새로 고침 토큰 만료 시간, 보안 통합의 이름을 Snowflake 시크릿 오브젝트에 저장합니다.
OAuth를 사용하도록 Snowflake Connector for ServiceNow® 를 설정하려면 다음 단계를 따르십시오.
코드 권한 부여 흐름과 함께 OAuth를 사용하도록 ServiceNow 인스턴스를 구성합니다.
ServiceNow 인스턴스가 이미 OAuth 코드 권한 부여 흐름을 사용하고 있고 해당 인스턴스를 Snowflake Connector for ServiceNow® 와 함께 사용하려는 경우 클라이언트 ID, 클라이언트 시크릿, OAuth 토큰에 해당하는 엔드포인트 URL을 기록해 두십시오.
자세한 내용은 OAuth 토큰 관리 를 참조하십시오. 이 정보를 기록한 후 다음 단계에서 보안 통합을 생성합니다.
다른 ServiceNow 인스턴스를 사용하려면 인스턴스에 액세스하거나 생성하고 OAuth 설정 및 클라이언트가 인스턴스에 액세스할 수 있도록 엔드포인트 생성 에 표시된 대로 코드 권한 부여 흐름과 함께 OAuth를 사용하도록 인스턴스를 구성하십시오.
ServiceNow에서 애플리케이션 레지스트리를 생성하고 이를 사용하여 커넥터를 구성합니다.
ServiceNow 인스턴스에 로그인한 다음 Homepage 를 선택합니다.
OAuth를 검색한 다음 Application Registry 를 선택합니다.
New 를 선택한 다음 Create an OAuth API endpoint for external clients 을 선택합니다.
그러면 다음 이미지와 같이 애플리케이션 레지스트리에 대한 구성 페이지가 표시됩니다.
ServiceNow에서 Name 필드에 OAuth 애플리케이션 레지스트리의 이름을 입력합니다.
ServiceNow의 Redirect URL field 에서 다음을 입력합니다.
https://apps-api.c1.<cloud_region_id>.<cloud>.app.snowflake.com/oauth/complete-secret
여기서
cloud_region_id
Snowflake 계정의 클라우드 리전 식별자를 지정합니다.
cloud
클라우드 플랫폼의 식별자를 지정합니다(예:
aws
,azure
또는gcp
).
필요한 경우 ServiceNow에서 Refresh Token Lifespan 및 Access Token Lifespan 필드의 값을 업데이트합니다.
액세스 토큰의 수명을 600초 이상으로 설정하는 것이 좋습니다.
새로 고침 토큰의 수명 값을 7776000(90일)으로 지정합니다.
ServiceNow 에서 Submit 를 선택합니다.
OAuth 애플리케이션 레지스트리가 애플리케이션 레지스트리 목록에 나타납니다.
ServiceNow에서 방금 생성한 애플리케이션 레지스트리를 선택합니다.
ServiceNow가 Client ID 및 Client Secret 필드에 대한 값을 생성했습니다. 다음 섹션에서 보안 통합을 생성 할 때 이들 값을 사용합니다.
OAuth 새로 고침 토큰 생성하기¶
OAuth 새로 고침 토큰을 생성하는 방법은 다음과 같습니다.
OAuth 설정하기 에서 개술한 작업을 수행했는지 확인합니다.
ServiceNow 설명서의 REST OAuth 예제 에 설명된 대로 ServiceNow 인스턴스의
/oauth_token.do
엔드포인트에 HTTP 요청을 보내십시오.예를 들어 curl을 사용하여 HTTP 요청을 보내는 경우 다음을 실행하십시오.
curl -d "grant_type=password" --data-urlencode "client_id=<client_id>" --data-urlencode "client_secret=<client_secret>" --data-urlencode "username=<username>" --data-urlencode "password=<password>" -X POST https://<instance_name>.service-now.com/oauth_token.do
Where
instance_name
ServiceNow 인스턴스의 이름을 지정합니다.
client_id
및client_secret
ServiceNow 엔드포인트를 설정할 때 얻은 값을 지정합니다.
username
및password
ServiceNow 인스턴스에 대한 자격 증명을 지정합니다.
참고
위의 예제에서는 curl에서
data-urlencode
명령줄 플래그를 사용하여 ServiceNow에 전송된 HTTP 요청의 클라이언트 시크릿, 사용자 이름, 비밀번호를 URL로 인코딩 합니다.다른 도구를 사용하여 HTTP 요청을 보내는 경우 요청에서 이러한 값을 URL로 인코딩해야 합니다.
HTTP 응답 본문에는 JSON 오브젝트가 포함되어 있습니다. 이 오브젝트의
refresh_token
필드에서 새로 고침 토큰을 가져옵니다.{"access_token":"abcd1234","refresh_token":"cdef567","scope":"useraccount","token_type":"Bearer","expires_in":1799}
보안 통합 만들기¶
보안 통합은 Snowflake와 서드 파티 OAuth 2.0 서비스 간의 인터페이스를 제공하는 Snowflake 오브젝트입니다.
CREATE SECURITY INTEGRATION 명령을 사용하여 다음 예와 같이 보안 통합을 생성합니다.
CREATE SECURITY INTEGRATION <name>
TYPE = API_AUTHENTICATION
AUTH_TYPE = OAUTH2
OAUTH_CLIENT_AUTH_METHOD = CLIENT_SECRET_POST
OAUTH_CLIENT_ID = '<client_id>'
OAUTH_CLIENT_SECRET = '<client_secret>'
OAUTH_TOKEN_ENDPOINT = 'https://<my_instance>.service-now.com/oauth_token.do'
ENABLED = TRUE;
여기서
name
보안 통합의 이름을 지정합니다.
client_id
이전 섹션에서 ServiceNow에서 얻은 Client ID 필드의 값을 지정합니다.
client_secret
이전 섹션에서 ServiceNow에서 얻은 Client Secret 필드의 값을 지정합니다.
my_instance
ServiceNow 인스턴스의 이름을 지정합니다. 이는 ServiceNow 인스턴스의 호스트 이름 중 첫 번째 부분입니다. 예를 들어 ServiceNow 인스턴스에 대한 URL이 다음과 같은 경우
https://myinstance.service-now.com인스턴스 이름은
myinstance
가 됩니다.
시크릿 오브젝트 만들기¶
Snowflake Connector for ServiceNow® 가 인증에 사용하는 Snowflake 시크릿 오브젝트를 생성합니다.
ACCOUNTADMIN 역할(커넥터를 설치, 구성, 실행하는 데 사용하는 역할)과 별도로 전용 역할을 사용하여 시크릿 오브젝트를 관리하는 것이 좋습니다. 또한 시크릿 오브젝트를 전용 데이터베이스 및 스키마에 저장하는 것이 좋습니다. 시크릿을 관리할 역할을 선택할 수 있으며 시크릿을 저장할 데이터베이스와 스키마를 선택할 수 있습니다.
시크릿을 관리하는 사용자 지정 역할을 만들려면 CREATE ROLE 명령을 사용하십시오. 역할에 부여할 수 있는 권한에 대한 자세한 내용은 액세스 제어 권한 을 참조하십시오.
다음 섹션에서는 별도의 데이터베이스와 스키마에 저장되고 사용자 지정 역할이 관리하는 시크릿 오브젝트를 생성하는 방법을 설명합니다.
시크릿 오브젝트의 스키마 만들기¶
먼저 CREATE DATABASE 및 CREATE SCHEMA 명령을 실행하여 시크릿 오브젝트를 저장할 데이터베이스와 스키마를 만듭니다. 스키마 및 데이터베이스의 이름은 유효한 오브젝트 식별자 여야 합니다.
예를 들어 시크릿 오브젝트에 대해 secretsdb
데이터베이스와 apiauth
스키마를 만들려면 다음 명령을 실행하십시오.
USE ROLE accountadmin; CREATE DATABASE secretsdb; CREATE SCHEMA apiauth;
시크릿을 관리하기 위한 사용자 지정 역할 만들기¶
다음으로, 시크릿을 관리할 사용자 지정 역할을 만들고(기존 역할을 사용하지 않는다고 가정함) 시크릿을 만드는 데 필요한 권한을 역할에 부여합니다.
USERADMIN 시스템 역할을 사용하여 CREATE ROLE 명령을 실행하여 시크릿을 관리할 사용자 지정 역할을 만듭니다. 예를 들어 시크릿을 관리하는 사용자 지정 역할
secretadmin
을 생성하려면 다음 명령을 실행하십시오.USE ROLE useradmin; CREATE ROLE secretadmin;
SECURITYADMIN 시스템 역할을 사용하여 GRANT <권한> TO ROLE 명령을 실행하여 사용자 지정 역할에 다음 권한을 부여합니다.
시크릿용으로 생성한 데이터베이스 에 대한 USAGE 권한
시크릿용으로 생성한 스키마 에 대한 USAGE 및 CREATE SECRET 권한
이전에 생성한 보안 통합 에 대한 USAGE 권한
예:
USE ROLE securityadmin; GRANT USAGE ON DATABASE secretsdb TO ROLE secretadmin; GRANT USAGE ON SCHEMA secretsdb.apiauth TO role secretadmin; GRANT CREATE SECRET ON SCHEMA secretsdb.apiauth TO role secretadmin; GRANT USAGE ON INTEGRATION servicenow_oauth TO role secretadmin;
USERADMIN 시스템 역할을 사용하여 GRANT <권한> TO ROLE 명령을 실행하여 시크릿을 생성하는 사용자에게 사용자 지정 역할을 부여합니다. 예를 들어 사용자
servicenow_secret_owner
에게 역할을 부여하려면 다음 명령을 실행하십시오.USE ROLE useradmin; GRANT ROLE secretadmin TO user servicenow_secret_owner;
시크릿 만들기¶
다음으로, Snowflake가 코드 권한 부여 흐름과 함께 OAuth를 사용하여 ServiceNow 인스턴스에 인증할 수 있도록 하는 시크릿을 만듭니다.
참고
OAuth 대신 기본 인증을 사용할 계획이라면 아래 참고 항목 을 참조하십시오.
시크릿 오브젝트를 생성하려면 다음 매개 변수와 함께 CREATE SECRET 명령을 실행하십시오.
TYPE
을OAUTH2
로 설정합니다.
OAUTH_REFRESH_TOKEN
을 OAuth 새로 고침 토큰 생성하기 에서 검색한 OAuth 새로 고침 토큰으로 설정합니다.UTC 타임존에서
OAUTH_REFRESH_TOKEN_EXPIRY_TIME
을 새로 고침 토큰 만료 타임스탬프로 설정합니다. 토큰이 발행된 날짜에 ServiceNow의 토큰 수명을 추가하여 이를 계산할 수 있습니다. 기본적으로, 토큰은 100일 후에 만료됩니다.
API_AUTHENTICATION
을 보안 통합 만들기 에서 생성한 보안 통합의 이름으로 설정합니다.예를 들어
servicenow_oauth
라는 보안 통합을 사용하는service_now_creds_oauth_code
라는 시크릿을 생성하려면 다음 명령을 실행하십시오.USE ROLE secretadmin; USE SCHEMA secretsdb.apiauth; CREATE SECRET servicenow_creds_oauth_code TYPE = OAUTH2 OAUTH_REFRESH_TOKEN = '34n;vods4nQsdg09wee4qnfvadH' OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '2022-01-06 20:00:00' API_AUTHENTICATION = servicenow_oauth;
기존 시크릿의 속성을 수정하려면(예: OAuth 새로 고침 토큰 업데이트) ALTER SECRET 명령을 사용하십시오.
참고
(OAuth가 아니라) 기본 인증을 사용할 계획이라면 CREATE SECRET 명령을 실행하여
TYPE
이PASSWORD
로 설정된 시크릿을 생성하십시오.USERNAME
과PASSWORD
를 ServiceNow 인스턴스에 인증하는 데 사용하려는 ServiceNow 사용자의 사용자 이름과 비밀번호로 설정합니다. 예:USE ROLE secretadmin; USE SCHEMA secretsdb.apiauth; CREATE SECRET servicenow_creds_pw TYPE = PASSWORD USERNAME = 'jsmith1' PASSWORD = 'W3dr@fg*7B1c4j';
이 사용자에 대해 다단계 인증이 활성화된 경우 ServiceNow 설명서의 REST API 에 설명된 대로 비밀번호와 함께 MFA 토큰을 제공해야 합니다.
웨어하우스 만들기¶
커넥터 전용 웨어하우스를 생성하는 것이 좋습니다. 전용 웨어하우스를 사용하면 비용 관리 및 리소스 추적을 개선할 수 있습니다. 리소스 추적을 용이하게 하려면 선택적으로 전용 웨어하우스에 하나 이상의 태그를 추가 할 수 있습니다.
참고
전용 웨어하우스 없이 Snowflake Connector for ServiceNow® 를 실행하려면 웨어하우스에 대한 값을 제공하라는 메시지가 표시될 때 빈 문자열을 전달하십시오.
커넥터 웨어하우스의 경우 대규모 멀티 클러스터 웨어하우스를 사용하는 것이 좋습니다.
servicenow_conn_warehouse
라는 대규모 웨어하우스를 생성하려면 다음 명령을 실행하십시오.
USE ROLE accountadmin; CREATE WAREHOUSE servicenow_conn_warehouse WAREHOUSE_SIZE = LARGE;
ServiceNow 데이터에 대한 데이터베이스 및 스키마 만들기¶
다음으로, ServiceNow 데이터에 대한 데이터베이스와 스키마를 만듭니다. Snowflake Connector for ServiceNow® 는 ServiceNow 데이터를 이 데이터베이스와 스키마로 수집합니다.
데이터베이스와 스키마를 만들 때 다음 사항에 유의하십시오.
스키마 및 데이터베이스의 이름은 유효한 오브젝트 식별자 여야 합니다.
데이터에 액세스하도록 허용되어야 하는 역할에 스키마에 대한 권한을 부여하면 Snowflake에서 수집된 ServiceNow 데이터에 대한 액세스를 제어할 수 있습니다.
데이터베이스와 스키마를 생성하려면 CREATE DATABASE 및 CREATE SCHEMA 명령을 실행하십시오.
예를 들어 ServiceNow 데이터에 대해 dest_db
데이터베이스와 dest_schema
스키마를 만들려면 다음 명령을 실행하십시오.
USE ROLE accountadmin; CREATE DATABASE dest_db; CREATE SCHEMA dest_schema;
참고
커넥터를 다시 설치하는 경우 커넥터의 이전 설치를 위해 만든 스키마를 다시 사용할 수 있습니다. 커넥터의 이전 설치에서 이미 데이터를 로드했고 동일한 테이블에 데이터를 계속 로드하려는 경우에 가능한 일입니다.
데이터 로드를 계속하려면 커넥터를 다시 설치하기 전에 스키마를 수정하지 마십시오. 커넥터의 이전 설치에서 생성된 테이블의 정의를 변경하지 마십시오.
나중에 ENABLE_TABLES 저장 프로시저를 호출하면 저장 프로시저가 이러한 필수 오브젝트가 이미 존재하는지 확인하여 필수 오브젝트를 불필요하게 다시 생성하려고 시도하지 않습니다.
데이터 수집을 재개할 위치를 결정하기 위해 커넥터는 이벤트 로그 테이블을 검사합니다.
커넥터는 이벤트 로그 테이블에서 UPDATE 또는 DELETE 유형의 행을 찾으면 (
sys_updated_on
또는sys_created_on
열에서) 최신 행의 타임스탬프를 수집 시작점으로 사용합니다.이벤트 테이블에 UPDATE 또는 DELETE 유형의 행이 없는 경우 커넥터는 이벤트 로그 테이블에서
event_date
열의 가장 오래된 값을 사용합니다.
ServiceNow 인스턴스와 통신하기 위한 API 통합 만들기¶
다음으로, ServiceNow 인스턴스와 통신하기 위한 API 통합을 생성합니다. 다음 구문을 사용하여 CREATE API INTEGRATION 명령을 실행합니다.
CREATE API INTEGRATION <integration_name> API_ALLOWED_PREFIXES = ('https://<servicenow_instance_name>.service-now.com') ALLOWED_AUTHENTICATION_SECRETS = (<secret_name>) ENABLED = TRUE
여기서
integration_name
API 통합의 이름을 지정합니다. 이름은 유효한 오브젝트 식별자 여야 합니다. 계정에서 이름은 API 통합 간에 고유해야 합니다.
API_ALLOWED_PREFIXES = ('https://servicenow_instance_name.service-now.com')
ServiceNow 인스턴스에 대한 URL을 지정합니다. 이를 통해 이 API 통합의 사용을 지정된 URL이 있는 인스턴스로 제한합니다.
ALLOWED_AUTHENTICATION_SECRETS = (secret_name)
API 통합 범위에서 사용하도록 허용되는 시크릿 이름의 목록을 지정합니다.
이를 시크릿 오브젝트 만들기 에서 생성한 시크릿 오브젝트의 이름으로 설정합니다.
ENABLED = TRUE
이 API 통합을 사용할지, 사용하지 않을지 지정합니다. API 통합을 사용하지 않을 경우 이 통합에 의존하는 어떤 외부 함수도 작동하지 않습니다.
TRUE
통합 정의에 지정된 매개 변수를 기반으로 통합을 실행할 수 있습니다.
FALSE
유지 관리를 위해 통합이 일시 중단됩니다. Snowflake와 서드 파티 서비스 간의 통합이 작동하지 않습니다.
예를 들어 myinstance
라는 ServiceNow 인스턴스에 대해 servicenow_api_integration
이라는 API 통합을 생성하려면 다음 명령을 실행하십시오.
USE ROLE accountadmin; CREATE API INTEGRATION servicenow_api_integration API_ALLOWED_PREFIXES = ('https://myinstance.service-now.com') ALLOWED_AUTHENTICATION_SECRETS = (secretsdb.apiauth.servicenow_creds_pw) ENABLED = TRUE
참고
CREATE API INTEGRATION 문에서 다른 매개 변수를 설정할 필요가 없습니다.
커넥터에 대한 로깅 구성하기¶
Snowflake Connector for ServiceNow® 는 이벤트 테이블을 사용하여 커넥터에 대한 오류 로그를 저장합니다. 이벤트 테이블을 설정하려면 이벤트 테이블 설정하기 가이드를 따르십시오. 이벤트 테이블이 설정되지 않은 경우 로그 및 이벤트 정보가 삭제됩니다.
커넥터에 대한 사용자 지정 역할 만들기¶
다음으로, 커넥터에 대한 사용자 지정 역할을 만들고 해당 역할에 커넥터 실행에 필요한 권한을 부여합니다.
이 역할을 통해 커넥터는 다음을 수행할 수 있습니다.
데이터 수집을 위한 작업 생성 및 관리.
전용 웨어하우스 사용.
ServiceNow 인스턴스에 연결하기 위해 시크릿 및 API 통합에 액세스.
이 역할은 또한 커넥터가 수집한 ServiceNow 데이터를 포함하는 테이블과 뷰의 소유자입니다.
이 역할을 생성하고 권한을 부여하려면 다음을 수행하십시오.
USERADMIN 시스템 역할을 사용하여 CREATE ROLE 명령을 실행하여 데이터를 소유할 사용자 지정 역할을 생성합니다. 예를 들어 데이터를 소유하기 위한 사용자 지정 역할
connector_resources_provider
를 생성하려면 다음 명령을 실행하십시오.USE ROLE useradmin; CREATE ROLE connector_resources_provider;
ACCOUNTADMIN 역할을 사용하여 GRANT <privileges> to ROLE 명령을 실행하여 사용자 지정 역할에 다음 권한을 부여합니다.
계정에 대한 EXECUTE TASK 권한
다음 권한 중 하나의 권한을 부여하지만 둘 다는 아닙니다.
EXECUTE MANAGED TASK
전용 웨어하우스 없이 커넥터를 구성한 경우 이 권한을 부여합니다.
커넥터용으로 생성한 웨어하우스에 대한 USAGE 권한.
커넥터 전용 웨어하우스를 사용하는 경우 이 권한을 부여합니다.
ServiceNow 데이터용으로 생성한 데이터베이스 에 대한 USAGE 권한
ServiceNow 데이터용으로 생성한 스키마 에 대한 USAGE, CREATE TABLE, CREATE VIEW 권한
ServiceNow용으로 생성한 API 통합 에 대한 USAGE 권한
시크릿용으로 생성한 데이터베이스 에 대한 USAGE 권한
시크릿용으로 생성한 스키마 에 대한 USAGE 권한
자신이 생성한 시크릿 에 대한 USAGE 권한
예를 들어
connector_resources_provider
라는 역할에 다음 권한을 부여하려고 합니다.계정에 대한 EXECUTE TASK 권한
계정에 대한 EXECUTE MANAGED TASK 권한
웨어하우스
servicenow_conn_warehouse
에 대한 USAGE 권한dest_db
데이터베이스에 대한 USAGE 권한dest_db.dest_schema
스키마에 대한 USAGE, CREATE TABLE, CREATE VIEW 권한servicenow_api_integration
통합에 대한 USAGE 권한secretsdb
데이터베이스에 대한 USAGE 권한secretsdb.apiauth
스키마에 대한 USAGE 권한secretsdb.apiauth.servicenow_creds_oauth_code secret
시크릿에 대한 USAGE 권한
그러면 다음 명령을 실행하십시오.
USE ROLE accountadmin; GRANT EXECUTE TASK ON ACCOUNT TO ROLE connector_resources_provider; GRANT EXECUTE MANAGED TASK ON ACCOUNT TO ROLE connector_resources_provider; GRANT USAGE ON WAREHOUSE servicenow_conn_warehouse TO ROLE connector_resources_provider; GRANT USAGE ON DATABASE dest_db TO ROLE connector_resources_provider; GRANT USAGE ON SCHEMA dest_db.dest_schema TO ROLE connector_resources_provider; GRANT CREATE TABLE ON SCHEMA dest_db.dest_schema TO ROLE connector_resources_provider; GRANT CREATE VIEW ON SCHEMA dest_db.dest_schema TO ROLE connector_resources_provider; GRANT USAGE ON INTEGRATION servicenow_api_integration TO ROLE connector_resources_provider; GRANT USAGE ON DATABASE secretsdb TO ROLE connector_resources_provider; GRANT USAGE ON SCHEMA secretsdb.apiauth TO ROLE connector_resources_provider; GRANT USAGE ON SECRET secretsdb.apiauth.servicenow_creds_oauth_code TO ROLE connector_resources_provider;
Snowflake Connector for ServiceNow® 를 설치한 후 커넥터에 이 역할을 부여합니다.
수집이 시작된 후 수집된 데이터에 액세스하기 위해 별도 보다 세분화된 역할을 만드는 것이 좋지만, 이 역할을 사용하여 수집된 데이터를 쿼리하고 추가 권한으로 확장할 수 있습니다. 반대로, 커넥터에 필요한 오브젝트에 대한 역할 권한을 취소하거나 수집된 데이터가 있는 테이블 및 뷰의 역할 소유권을 변경하는 것은 허용되지 않으며 그럴 경우 커넥터가 중단됩니다.
Snowflake Connector for ServiceNow® 설치하기¶
커넥터를 설치하려면 다음을 수행하십시오.
Snowsight를 사용하여 커넥터 인스턴스용 데이터베이스를 만듭니다. 데이터베이스를 만드는 방법에 대한 자세한 내용은 Snowsight를 사용하여 커넥터 설치 및 구성하기 를 참조하십시오.
SQL 워크시트로 이동합니다.
ACCOUNTADMIN 역할이 있는 사용자로 로그인합니다. 예:
USE ROLE ACCOUNTADMIN;
커넥터의 사용자 지정 역할(앞서 생성한 역할)을 커넥터의 인스턴스 역할을 하는 데이터베이스 에 부여합니다.
예를 들어
connector_resources_provider
라는 역할을my_connector_servicenow
데이터베이스에 부여하려면 다음 명령을 실행하십시오.GRANT ROLE connector_resources_provider TO DATABASE my_connector_servicenow;
설치된 데이터베이스에서
FIREWALL_CONFIGURATION
데이터베이스 속성을 설정합니다. ServiceNow 인스턴스에 대한 URL 접두사를 포함합니다.예를 들어 데이터베이스 이름이
my_connector_servicenow
이고 ServiceNow 인스턴스 이름이my-instance
인 경우 다음 명령을 실행합니다.ALTER DATABASE my_connector_servicenow SET FIREWALL_CONFIGURATION = ('https://my-instance.service-now.com')
USE DATABASE 명령을 실행하여 커넥터용 데이터베이스를 사용합니다. 예:
USE DATABASE my_connector_servicenow;
CALL 명령으로
CONFIGURE_CONNECTION
이라는 저장 프로시저를 호출하여 ServiceNow 인스턴스에 대한 연결을 구성합니다.CALL CONFIGURE_CONNECTION({ 'serviceNowUrl': '<servicenow_base_url>', 'secret': '<secret_name>', 'apiIntegrationName': '<api_integration_name>' })
여기서
servicenow_base_url
커넥터가 사용해야 하는 ServiceNow 인스턴스의 URL을 지정합니다. URL은 다음 형식이어야 합니다.
https://<servicenow_instance_name>.service-now.com
secret_name
ServiceNow에 인증하기 위한 자격 증명을 포함하는 시크릿 오브젝트(앞서 생성한 시크릿) 의 정규화된 이름을 지정합니다.
시크릿 오브젝트의 정규화된 이름을 다음 형식으로 지정해야 합니다.
<database_name>.<schema_name>.<secret_name>
데이터베이스, 스키마 및 시크릿의 이름은 유효한 오브젝트 식별자 여야 합니다.
api_integration_name
ServiceNow를 위한 API 통합(앞서 생성한 API 통합) 의 이름을 지정합니다.
통합 이름은 유효한 오브젝트 식별자 여야 합니다.
다음과 같은 ServiceNow 인스턴스에 대한 연결을 구성하는 방법을 예로 들겠습니다.
URL
https://myinstance.service-now.com
이 있음.secretsdb.apiauth.servicenow_creds_oauth_code
에 저장된 시크릿을 사용함.servicenow_api_integration
이라는 API 통합을 사용함.
다음 명령을 실행합니다.
CALL CONFIGURE_CONNECTION({ 'serviceNowUrl': 'https://myinstance.service-now.com', 'secret': 'SECRETSDB.APIAUTH.SERVICENOW_CREDS_OAUTH_CODE', 'apiIntegrationName': 'SERVICENOW_API_INTEGRATION' });
연결이 성공적으로 구성된 경우 이 저장 프로시저는 다음 메시지를 출력합니다.
Connection configured successfully
참고
커넥터가 구성되면 전달된 시크릿 및 API 통합의 이름을 변경할 수 없습니다. 커넥터는 이러한 오브젝트를 이름으로 참조합니다. 결과적으로, 이러한 오브젝트의 이름을 삭제하거나 변경하려고 시도하면 커넥터의 연결이 끊어져 작동이 중지됩니다.
Snowflake Connector for ServiceNow® 시작하기 에 설명된 대로 커넥터를 시작합니다.
새로 생성된 데이터베이스는 커넥터의 인스턴스로, 다음을 포함합니다.
커넥터 구성에 사용하는 저장 프로시저. 자세한 내용은 SQL 문을 사용하여 데이터 수집 설정하기 섹션을 참조하십시오.
커넥터에 대해 기록된 메시지와 통계를 포함하는 뷰. 자세한 내용은 커넥터 모니터링 정보 섹션을 참조하십시오.
Snowflake Connector for ServiceNow® 시작 및 중지하기¶
다음 섹션에서는 커넥터를 시작, 중지, 재개하는 방법을 설명합니다.
Snowflake Connector for ServiceNow® 시작하기¶
START_CONNECTOR
라는 프로시저를 호출하여 커넥터를 시작합니다. 이 저장 프로시저의 인자는 아래에 설명되어 있습니다.
CALL START_CONNECTOR(
'<warehouse_name>',
'<dest_db_schema>',
'<name_of_journal_table>',
'<connector_role>',
);
여기서
warehouse_name
커넥터의 웨어하우스 이름을 지정합니다.
웨어하우스 이름은 유효한 오브젝트 식별자 여야 합니다.
전용 웨어하우스를 사용하지 않고 실행할 커넥터를 구성하려면 웨어하우스 이름으로 빈 문자열을 전달하십시오.
dest_db_schema
Snowflake의 ServiceNow 데이터에 대한 스키마(앞서 생성한 스키마) 의 정규화된 이름을 지정합니다.
스키마의 정규화된 이름을 다음 형식으로 지정해야 합니다.
<database_name>.<schema_name>데이터베이스 및 스키마의 이름은 유효한 오브젝트 식별자 여야 합니다.
name_of_journal_table
삭제된 레코드에 대한 정보가 있는 테이블의 이름을 지정합니다. 자세한 내용은 ServiceNow® 인스턴스 준비하기 섹션을 참조하십시오.
삭제된 레코드에 대한 정보는 삭제된 레코드를 전파하도록 설정한 테이블에만 사용할 수 있습니다.
삭제된 레코드를 전파하지 못하게 하려면 이 인자에 빈 문자열을 지정하십시오.
connector_role
앞서 생성한 커넥터 역할 에 대한 사용자 지정 역할의 이름을 지정합니다.
역할 이름은 유효한 오브젝트 식별자 여야 합니다.
예를 들어 다음을 사용하는
my_connector_servicenow
라는 커넥터를 시작하려는 방법을 설명하겠습니다.
servicenow_conn_warehouse
라는 웨어하우스Snowflake의 ServiceNow 데이터에 대한
dest_db.dest_schema
라는 스키마삭제된 레코드를 추적하기 위한
sys_audit_delete
라는 ServiceNow 테이블
connector_resources_provider
라는 사용자 지정 역할그러면 다음 명령을 실행하십시오.
CALL START_CONNECTOR( 'SERVICENOW_CONN_WAREHOUSE', 'DEST_DB.DEST_SCHEMA', 'sys_audit_delete', 'CONNECTOR_RESOURCES_PROVIDER', );
커넥터가 성공적으로 시작된 경우 이 저장 프로시저는 다음 메시지를 표시합니다.
Successfully started the |SNC|. The connector can be configured now.
참고
커넥터가 시작되면 전달된 웨어하우스, 대상 데이터베이스, 대상 스키마, 커넥터에 대한 사용자 지정 역할의 이름을 바꿀 수 없습니다. 커넥터는 이러한 오브젝트를 이름으로 참조합니다. 결과적으로, 이러한 오브젝트의 이름을 삭제하거나 변경하려고 시도하면 커넥터의 연결이 끊어져 작동이 중지됩니다.
웨어하우스 이름을 바꾸는 대신, CONFIGURE_WAREHOUSE 저장 프로시저를 사용하여 커넥터가 사용하는 웨어하우스를 변경하십시오.
Snowflake Connector for ServiceNow® 중지하기¶
커넥터가 시작한 모든 작업을 중지하려면 STOP_CONNECTOR
저장 프로시저를 호출하십시오.
CALL STOP_CONNECTOR();
참고
STOP_CONNECTOR
저장 프로시저는 START_CONNECTOR
저장 프로시저를 호출하여 커넥터를 재개할 때까지 사용할 수 없습니다.
커넥터를 중지하면 RESUME_CONNECTOR
저장 프로시저를 호출하여 커넥터가 재개될 때까지 커넥터와의 상호 작용(예: 테이블 활성화/비활성화 또는 커넥터 구성)이 비활성화됩니다.
커넥터를 중지하면 커넥터에 대한 비용 생성도 중지됩니다.
Snowflake Connector for ServiceNow® 재개하기¶
STOP_CONNECTOR
저장 프로시저로 중지된 모든 작업을 재개하려면 RESUME_CONNECTOR
저장 프로시저를 호출하십시오.
CALL RESUME_CONNECTOR();
참고
RESUME_CONNECTOR
저장 프로시저는 START_CONNECTOR
저장 프로시저를 호출하여 커넥터를 재개할 때까지 사용할 수 없습니다.
Snowflake Connector for ServiceNow® 구성과 모니터링을 위해 권한 위임하기¶
커넥터를 설치한 후에는 ACCOUNTADMIN 역할만 구성 절차를 실행하고 커넥터 모니터링에 사용되는 뷰에 액세스할 수 있습니다.
참고
커넥터에 대한 사용자 지정 역할 만들기 에서 생성한 사용자 지정 역할에는 구성 프로시저를 실행하거나 모니터링 뷰에 액세스할 수 있는 권한이 없습니다.
이러한 권한을 다른 역할에 위임하려면 GRANT IMPORTED PRIVILEGES ON DATABASE ... TO ROLE ...
명령을 실행하십시오. 이 명령에서는 다음 구문을 사용합니다.
GRANT IMPORTED PRIVILEGES ON DATABASE <connector_name> TO ROLE <connector_config_role>;
여기서
connector_name
커넥터의 인스턴스 역할을 하는 데이터베이스의 이름 을 지정합니다.
connector_config_role
커넥터를 구성하고 모니터링하는 권한을 부여해야 하는 역할의 이름을 지정합니다.
참고
이 경우 connector_name
데이터베이스를 삭제하거나 Snowflake의 ServiceNow 데이터를 포함하는 스키마 에 액세스할 수 있는 권한을 역할에 부여하는 것은 아닙니다.
예를 들어 connector_config_role
이라는 사용자 지정 역할을 생성하고 my_connector_servicenow
이라는 커넥터 인스턴스를 구성하고 모니터링할 수 있는 권한을 해당 역할에 부여하려면 다음 명령을 실행하십시오.
USE ROLE useradmin;
CREATE ROLE connector_config_role;
USE ROLE securityadmin;
GRANT IMPORTED PRIVILEGES ON DATABASE my_connector_servicenow TO ROLE connector_config_role;
커넥터에서 사용하는 웨어하우스 변경하기(선택 사항)¶
커넥터에서 사용하는 웨어하우스를 변경하거나 전용 웨어하우스를 추가하려면 다음을 호출하여 작업을 수행하십시오.
CALL CONFIGURE_WAREHOUSE('<warehouse_name>');
여기서
warehouse_name
커넥터가 사용해야 하는 웨어하우스의 이름을 지정합니다.
전용 웨어하우스를 사용하지 않고 실행할 커넥터를 구성하려면 웨어하우스 이름으로 빈 문자열을 전달하십시오.
참고
다른 웨어하우스를 사용하도록 커넥터를 구성하기 전에 커넥터가 사용하는 사용자 지정 역할 에 새 웨어하우스에 대한 USAGE 권한이 있는지 확인하십시오.
다음 단계¶
커넥터를 설치 및 구성한 후 ServiceNow® 데이터에 대한 데이터 수집 설정하기 에 설명된 단계를 수행합니다.