Snowflake Connector for ServiceNow®V2 관리, 업데이트 및 제거하기

Snowflake Connector for ServiceNow® V2에는 Snowflake Connector 약관 이 적용됩니다.

이 항목과 이 항목의 섹션에서는 커넥터를 설치 및 구성한 후 수행해야 할 수도 있는 일반적인 작업을 설명합니다.

Snowflake Connector for ServiceNow®V2 일시 중지 및 재개

다음 섹션에서는 커넥터를 일시 중지하고 재개하는 방법에 대해 설명합니다.

Snowflake Connector for ServiceNow®V2 일시 중지하기

커넥터가 시작한 모든 작업을 중지하려면 PAUSE_CONNECTOR 저장 프로시저를 호출하십시오.

CALL PAUSE_CONNECTOR();
Copy

커넥터를 일시 중지하면 RESUME_CONNECTOR 저장 프로시저를 호출하여 커넥터가 재개될 때까지 커넥터와의 상호 작용(예: 테이블 활성화/비활성화 또는 커넥터 구성)이 비활성화됩니다.

커넥터를 일시 중지하면 커넥터에 대한 비용 생성도 중지됩니다.

Snowflake Connector for ServiceNow®V2 재개하기

PAUSE_CONNECTOR 저장 프로시저로 중지된 모든 작업을 재개하려면 RESUME_CONNECTOR 저장 프로시저를 호출하십시오.

CALL RESUME_CONNECTOR();
Copy

커넥터가 사용하는 웨어하우스 변경하기

커넥터에서 사용하는 웨어하우스를 변경하거나 전용 웨어하우스를 추가하려면 다음을 호출하여 작업을 수행하십시오.

CALL UPDATE_WAREHOUSE('<warehouse_name>');
Copy

여기서

warehouse_name

커넥터가 사용해야 하는 웨어하우스의 이름을 지정합니다.

참고

다른 웨어하우스를 사용하도록 커넥터를 구성하기 전에 커넥터 애플리케이션 에 새 웨어하우스에 대한 USAGE 권한이 있는지 확인합니다.

또한 커넥터는 paused 상태여야 합니다. 커넥터 일시 중지하기 섹션을 참조하십시오.

테이블 삭제하기

(예를 들어 실수로 활성화된) 테이블을 삭제하고 커넥터 모니터링용 뷰 에 표시하지 않으려면 다음 프로시저를 사용하십시오.

CALL DELETE_TABLE('<table_name>');
Copy

여기서

table_name

삭제할 테이블의 이름을 지정합니다. 이 테이블은 비활성화 해야 하며 다시 로드 하는 과정에 있으면 안 됩니다.

참고

DELETE_TABLE 프로시저는 Snowflake의 ServiceNow® 데이터(원시 데이터 테이블, 이벤트 로그 테이블, 평면화된 뷰)가 포함된 데이터베이스와 스키마에 이 테이블을 위해 생성된 오브젝트를 제거하지 않습니다. 이러한 오브젝트를 수동으로 삭제할 수 있습니다. 이를 위해서는, 먼저 MANAGE GRANTS 권한이 있는 역할을 사용하여 커넥터로부터 소유권을 이전해야 합니다. 예:

USE ROLE ACCOUNTADMIN;
GRANT OWNERSHIP ON TABLE <destination_database>.<destination_schema>.<table_name> TO ROLE <account_role> REVOKE CURRENT GRANTS;
USE ROLE <account_role>;
DROP TABLE <destination_database>.<destination_schema>.<table_name>;
Copy

커넥터에서 사용하는 새로 고침 토큰 업데이트하기

OAuth 인증으로 커넥터를 설정하는 경우 새로 고침 토큰을 정기적으로 업데이트해야 합니다. 그렇지 않으면 토큰이 만료된 후 커넥터가 더 이상 ServiceNow®에 액세스할 수 없습니다. 기본적으로 토큰은 생성 후 90일이 지나면 만료됩니다.

커넥터에 대한 이메일 알림 을 구성하면 매월 1일에 새로 고침 토큰을 업데이트하라는 미리 알림을 받게 됩니다. 토큰이 만료되는 경우 커넥터에 ServiceNow® 액세스 문제가 발생하면 이메일을 받게 됩니다.

Snowsight를 사용하여 설치된 커넥터의 새로 고침 토큰 업데이트하기

커넥터가 Snowsight를 사용하여 설치된 경우 새로 고침 토큰을 업데이트하려면 다음을 수행하십시오.

  1. ACCOUNTADMIN 역할을 가진 사용자로 Snowsight 에 로그인합니다.

    참고

    사용 중인 Snowsight URL가 OAuth 리디렉션 URL을 구성할 때 사용한 Snowsight URL과 일치하는지 확인합니다. 즉, ServiceNow®에서 설정한 OAuth 리디렉션 URL을 Private Link를 통해 액세스한 Snowsight에서 제공한 경우, 토큰을 새로 고치려면 Private Link를 통해 Snowsight에 로그인해야 합니다. 마찬가지로, 리디렉션 URL이 공개적으로 액세스할 수 있는 Snowsight URL로 구성된 경우 새로 고침은 공개 URL로 액세스할 수 있는 Snowsight로 수행해야 합니다.

  2. 탐색 메뉴에서 Data Products » Apps 를 선택합니다.

  3. Snowflake Connector for ServiceNow 를 검색한 다음 커넥터에 알맞은 타일을 선택합니다.

  4. 상단 탐색 메뉴에서 Settings » Authentication » Reauthenticate 를 선택합니다.

    참고

    커넥터를 처음 구성했을 때와 동일한 사용자로 ServiceNow®에 로그인했는지 확인합니다. 대화 상자의 오른쪽 위 모서리에서 현재 로그인한 사용자를 확인할 수 있습니다.

  5. 커넥터가 ServiceNow® 계정에 연결할 수 있는지 확인하려면 대화 상자에서 Allow 를 선택합니다. 이제 새로 고침 토큰이 업데이트되었습니다.

SQL 명령을 사용하여 새로 고침 토큰을 업데이트하는 방법을 알아보려면 SQL 명령을 사용하여 새로 고침 토큰 업데이트하기 섹션을 참조하십시오.

SQL 명령을 사용하여 새로 고침 토큰 업데이트하기

SQL 명령을 사용하여 새로 고침 토큰을 업데이트하려면 다음을 수행하십시오.

  1. OAuth 새로 고침 토큰 을 가져옵니다. 커넥터가 현재 사용하고 있는 것과 동일한 client_id, client_secret 및 사용자 자격 증명을 사용해야 합니다.

  2. CONNECTOR_CONFIGURATION 뷰 를 쿼리하여 시크릿 오브젝트의 정규화된 이름을 찾습니다.

    SELECT value FROM connector_configuration WHERE config_key = 'secret';
    
    Copy
  3. ALTER SECRET 명령을 실행하고 다음 매개 변수를 변경하여 시크릿 오브젝트를 업데이트합니다.

    • OAUTH_REFRESH_TOKEN 을 첫 단계에서 검색한 OAuth 새로 고침 토큰으로 설정합니다.

    • UTC 타임존에서 OAUTH_REFRESH_TOKEN_EXPIRY_TIME 을 새로 고침 토큰 만료 타임스탬프로 설정합니다. 토큰이 발행된 날짜에 ServiceNow®의 새로 고침 토큰 수명을 추가하여 이를 계산할 수 있습니다. 기본적으로, 토큰은 100일 후에 만료됩니다.

    예를 들어 secretsdb.apiauth.servicenow_creds_oauth_code 시크릿을 업데이트하려면 다음 명령을 실행하십시오.

    ALTER SECRET secretsdb.apiauth.servicenow_creds_oauth_code SET OAUTH_REFRESH_TOKEN = '34n;vods4nQsdg09wee4qnfvadH', OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '2022-01-06 20:00:00';
    
    Copy

    참고

    시크릿을 업데이트하려면 OWNERSHIP 권한이 있는 역할을 사용해야 합니다.

기본 인증을 위한 ServiceNow® 비밀번호 업데이트하기

비밀번호를 업데이트하려면 기존 시크릿을 찾아 ALTER SECRET 명령을 사용해 수정해야 합니다.

  1. Snowsight 또는 SQL 명령을 사용하여 시크릿 오브젝트의 정규화된 이름을 확인합니다.

    1. Snowsight 를 사용하여 시크릿을 얻으려면 다음을 수행하십시오.

      1. ACCOUNTADMIN 역할을 가진 사용자로 Snowsight 에 로그인합니다.

      2. 왼쪽 탐색 모음에서 Data Products » Apps 를 선택합니다.

      3. Snowflake Connector for ServiceNow 를 검색한 다음 커넥터에 알맞은 타일을 선택합니다.

      4. 상단 탐색 메뉴에서 Settings » Authentication 을 선택합니다.

        Authentication 섹션은 시크릿 오브젝트(예: CONNECTORS_UI.SERVICENOW_GZSTZTP0KHD.SECRET)를 표시합니다.

    2. SQL 명령을 사용하여 시크릿 오브젝트의 정규화된 이름을 가져오려면 CONNECTOR_CONFIGURATION 뷰 에 쿼리합니다.

      SELECT value FROM connector_configuration WHERE config_key = 'secret';
      
      Copy
  2. 커넥터를 일시 중지합니다.

  3. ALTER SECRET 명령을 실행하고 PASSWORD 매개 변수를 변경하여 시크릿 오브젝트를 업데이트합니다.

  4. 커넥터를 재개합니다.

    이제 비밀번호가 업데이트되어 커넥터에서 사용됩니다.

참고

비밀번호 변경과 마찬가지로 ALTER SECRET 명령을 사용하여 사용자 이름을 업데이트하는 옵션이 있습니다. USERNAME 매개 변수를 새 사용자 이름으로 설정하기만 하면 됩니다. 사용자 이름을 변경하기 전에 새 사용자 이름이 최소한 이전 사용자 이름과 동일한 권한을 가지고 있는지 확인하십시오. 그렇지 않으면 커넥터가 제대로 작동하지 않을 수 있습니다.

ServiceNow® 인스턴스에 대한 연결 업데이트하기

ServiceNow® 인스턴스에 대한 연결을 업데이트할 수 있습니다. 커넥터에서 사용하는 외부 액세스 통합 및 시크릿을 변경할 수 있습니다. 또한 커넥터의 외부 액세스 UDF에서 시크릿이 분리될 때 발생하는 문제를 수정할 수도 있습니다.

다음 절차에 따라 연결 구성을 업데이트할 수 있습니다.

CALL UPDATE_CONNECTION_CONFIGURATION({
  'service_now_url': '<servicenow_base_url>',
  'secret': '<secret_name>',
  'external_access_integration': '<external_access_integration_name>'
});
Copy

여기서

servicenow_base_url

커넥터가 사용해야 하는 ServiceNow® 인스턴스의 URL을 지정합니다. 커넥터 설치 중에 URL을 동일한 값으로 설정해야 하며 형식은 다음과 같아야 합니다.

https://<servicenow_instance_name>.service-now.com
Copy

ServiceNow® 인스턴스 URL은 변경할 수 없습니다.

secret_name

ServiceNow®에 인증하기 위한 자격 증명을 포함하는 시크릿 오브젝트 의 정규화된 이름을 지정합니다.

시크릿 오브젝트의 정규화된 이름을 다음 형식으로 지정해야 합니다.

<database_name>.<schema_name>.<secret_name>
Copy

데이터베이스, 스키마 및 시크릿의 이름은 유효한 오브젝트 식별자 여야 합니다.

external_access_integration_name

ServiceNow®에 대한 외부 액세스 통합 의 이름을 지정합니다.

통합 이름은 유효한 오브젝트 식별자 여야 합니다.

다음과 같은 ServiceNow® 인스턴스에 대한 연결을 업데이트하는 방법을 예로 들겠습니다.

  • URL https://myinstance.service-now.com 이 있음.

  • secretsdb.apiauth.servicenow_creds_oauth_code 에 저장된 시크릿을 사용함.

  • 이름이 servicenow_external_access_integration 인 외부 액세스 통합을 사용합니다.

다음 명령을 실행합니다.

CALL UPDATE_CONNECTION_CONFIGURATION({
  'service_now_url': 'https://myinstance.service-now.com',
  'secret': 'SECRETSDB.APIAUTH.SERVICENOW_CREDS_OAUTH_CODE',
  'external_access_integration': 'SERVICENOW_API_INTEGRATION'
});
Copy

구성 업데이트는 ADMIN 애플리케이션 역할에 대한 권한이 있는 사용자만 수행할 수 있습니다. 또한 프로시저를 실행하려면 커넥터가 paused 상태여야 합니다. 커넥터 일시 중지하기 섹션을 참조하십시오.

커넥터 상태 내보내기

현재 커넥터 상태 및 구성의 스냅샷을 내보낼 수 있습니다. 내보낸 커넥터 상태가 포함된 스냅샷은 이미 활성화된 테이블과 수집 상태를 유지하기 위해 커넥터를 다시 설치할 때나 재해 복구를 지원하도록 대상 스키마를 장애 조치 리전으로 복제하는 것을 구성할 때 유용합니다.

다음 프로시저에 따라 상태를 내보낼 수 있습니다.

CALL EXPORT_CONNECTOR_STATE();
Copy

이 프로시저는 내보낸 상태로 대상 스키마에 새 __CONNECTOR_STATE_EXPORT 테이블을 만듭니다. 내보내기를 수행하려면 다음 조건을 충족해야 합니다.

  • 내보내기는 ADMIN 애플리케이션 역할에 대한 권한이 있는 사용자만 수행할 수 있습니다.

  • 테이블 재로드 가 진행 중이지 않습니다.

참고

__CONNECTOR_STATE_EXPORT 테이블에는 재설치 시 커넥터 상태를 복원하는 데 필요한 모든 정보가 포함되어 있지만 일부 정보가 누락되어 있다는 점에 유의하십시오.

  • 대상 데이터베이스 및 대상 스키마, 웨어하우스, Data Reader 역할, ServiceNow URL, 시크릿 오브젝트, 외부 액세스 통합 및 저널 테이블 이름(구성된 경우)은 내보내지지 않습니다. 커넥터를 다시 설치할 때 이 정보를 다시 제공해야 합니다. 재설치 후 동일한 ServiceNow 인스턴스와 대상 스키마가 사용된다면 커넥터에서 사용하는 시크릿 오브젝트나 저널 테이블의 이름을 변경하는 등의 기회로 사용할 수 있습니다.

  • 각 수집 테이블과 수집 모드에 대해서는 최신 수집 상태만 내보내집니다. 따라서 커넥터 상태를 가져온 후에는 과거 데이터와 통계를 사용할 수 없습니다.

또한 다음 조건이 충족되면 커넥터가 구성된 일정 에 따라 수집을 트리거할 때마다 구성이 자동으로 내보내집니다.

  • 적어도 하나의 테이블이 수집 가능하도록 설정되어 있습니다.

  • 테이블 재로드가 진행 중이지 않습니다.

애플리케이션 제거하기

이 섹션에서는 Snowsight 및 워크시트를 사용하여 애플리케이션을 제거하는 방법과 커넥터에 의해 생성되었지만 사용자가 의도적으로 제거해야 하는 오브젝트를 제거하는 방법에 대해 설명합니다.

Snowsight를 사용하여 애플리케이션 제거하기

  1. ACCOUNTADMIN 역할을 가진 사용자로 Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Data Products » Apps 를 선택합니다.

  3. Snowflake Connector for ServiceNow 를 검색한 다음, 점 3개 메뉴를 선택하여 컨텍스트 뷰를 열고 Uninstall 을 선택합니다.

  4. 수집된 모든 데이터를 대상 데이터베이스에 보존해야 하는 경우 Transfer object ownership to another role 을 선택하고 애플리케이션이 소유한 모든 오브젝트에 대한 소유권을 부여해야 하는 역할을 선택합니다. 그렇지 않으면 Delete all objects 를 선택하여 모든 데이터를 제거합니다.

    참고

    선택한 역할에 어떤 오브젝트가 이전(또는 제거)되는지 보려면 Show objects 메뉴를 확장합니다.

  5. Uninstall 을 선택하여 변경 사항을 확인합니다. 이제 커넥터의 애플리케이션이 제거되었습니다.

워크시트를 사용하여 애플리케이션 제거하기

커넥터가 수집한 데이터는 커넥터 설치에 사용된 역할이 소유하는 선택한 대상 데이터베이스 및 스키마에 남아 있습니다(일반적으로 ACCOUNTADMIN이 됨). 그러나 대상 스키마 내의 ServiceNow® 데이터를 포함하는 모든 싱크 테이블과 뷰는 Snowflake Connector for ServiceNow®V2 애플리케이션이 소유합니다. 따라서 이러한 테이블 및 뷰의 소유권을 계정 역할로 이전하기 전에 커넥터를 제거하면 테이블과 뷰도 삭제됩니다.

참고

커넥터와 함께 데이터가 삭제되지 않도록 하려면 대상 스키마의 모든 테이블과 뷰의 소유권을 계정 역할으로 이전하고 애플리케이션에서 현재 권한 부여를 취소합니다.

수집된 데이터를 사용하는 기존 파이프라인의 중단을 방지하려면 모든 파이프라인에서 소유권을 일시적으로 이전해야 하는 전용 데이터 소유자 역할을 사용하여 데이터에 액세스하는 것이 좋습니다.

파이프라인이 사용하는 대상 스키마의 테이블 및 뷰에 추가 권한을 부여한 경우, 아래 소유권 이전 쿼리를 REVOKE CURRENT GRANTS 절 대신 COPY CURRENT GRANTS 절을 사용하여 실행하여 이러한 권한을 유지할 수 있습니다.

대상 스키마의 모든 테이블과 뷰의 소유권을 계정 역할로 이전하려면 다음 쿼리를 실행하십시오.

USE ROLE ACCOUNTADMIN;

GRANT OWNERSHIP ON ALL TABLES IN SCHEMA <destination_database>.<destination_schema>
TO ROLE <account_role>
REVOKE CURRENT GRANTS;

GRANT OWNERSHIP ON ALL VIEWS IN SCHEMA <destination_database>.<destination_schema>
TO ROLE <account_role>
REVOKE CURRENT GRANTS;
Copy

커넥터가 제거하고 싶지 않은 오브젝트를 소유하지 않도록 하려면 다음 쿼리를 실행하십시오.

SHOW OBJECTS OWNED BY APPLICATION <application_name>;
Copy

마지막으로 커넥터 애플리케이션을 삭제하려면 다음 쿼리를 실행합니다.

DROP APPLICATION <application_name>;
Copy

경고

대상 스키마의 테이블과 뷰 소유권을 커넥터에서 멀리 전송하지 않기로 결정한 경우, 대신 이 쿼리를 실행하여 커넥터와 함께 이를 삭제할 수 있습니다.

DROP APPLICATION <application_name> CASCADE;
Copy

설치 중 생성된 오브젝트 삭제하기

커넥터 데이터베이스를 제거해도 별도의 데이터베이스에 저장된 수집 데이터나 Snowsight 를 사용하여 수행된 설치 중에 생성된 오브젝트는 삭제되지 않습니다.

설치 중에 생성된 오브젝트를 보려면 다음을 수행하십시오.

  1. ACCOUNTADMIN 역할을 가진 사용자로 Snowsight 에 로그인합니다.

  2. 탐색 메뉴에서 Data Products » Apps 를 선택합니다.

  3. Snowflake Connector for ServiceNow 를 검색한 다음 선택합니다.

  4. 상단 탐색 메뉴에서 Settings » Authentication 을 선택합니다.

    Secret, External Access IntegrationSecurity Integration 은 수동으로 제거해야 하는 오브젝트입니다. 이러한 오브젝트 외에도 시크릿과 동일한 스키마에 Network Rule 오브젝트가 있을 수 있습니다(애플리케이션이 Snowsight를 사용하여 설치된 경우).

    경고

    시크릿과 네트워크 규칙의 데이터베이스와 스키마도 삭제될 수 있습니다. 하지만 Google Analytics Raw Data용 Snowflake Connector 등 다른 Snowflake 커넥터를 사용하는 경우 주의하십시오. 이러한 애플리케이션의 오브젝트도 동일한 데이터베이스에 있을 수 있습니다.

해당 오브젝트를 삭제하려면 DROP 명령을 실행하십시오.

예를 들어 시크릿을 삭제하려면 DROP SECRET 문을 실행하십시오.

커넥터 업그레이드하기

커넥터는 자동으로 업그레이드되므로 사용자는 최신 애플리케이션을 사용하기 위해 아무런 작업도 수행할 필요가 없습니다.

커넥터 확장하기

수집할 ServiceNow® 테이블이 많고 동시에 수집되는 테이블 수를 늘리려면 매개 변수를 다음과 같이 변경하면 됩니다.

CALL CONFIGURE_CONCURRENCY(<number>);
Copy

여기서

number

동시에 테이블을 수집할 수 있는 최대 워커 수를 지정합니다. 기본적으로 이 값은 10으로 설정되어 있습니다.

데이터 수집에 사용되는 웨어하우스의 크기를 변경하는 것과 함께 동시성을 높이는 것도 고려해야 합니다. 속도 저하가 발생하는 경우 웨어하우스의 크기를 조정해 보십시오. 자세한 내용은 웨어하우스 관련 작업하기 를 참조하십시오.

경고

동시성을 높이면 ServiceNow® 인스턴스에 초과 로드가 발생하여 성능이 전반적으로 저하되고 수집 오류가 발생할 수 있습니다. 가장 적합한 매개 변수를 찾으려면 크기 조정 변경 전후에 커넥터의 성능과 안정성을 비교합니다.

ServiceNow® 데이터에 대해 동일한 데이터베이스와 스키마로 커넥터 다시 설치하기

커넥터를 다시 설치하려면 아래 과정을 따르십시오.

  1. TABLES_STATE 뷰를 쿼리하고 현재 RELOADING 상태인 테이블이 없는지 확인합니다.

    SELECT TABLE_NAME FROM TABLES_STATE WHERE STATUS = 'RELOADING';
    
    Copy
  2. 현재 로드 중인 테이블이 있는 경우 로드가 완료될 때까지 기다리거나 취소 합니다.

  3. 다음 저장 프로시저를 호출하여 커넥터를 중지합니다.

    CALL PAUSE_CONNECTOR();
    
    Copy
  4. 커넥터의 상태와 구성을 내보냅니다. 자세한 내용은 이 섹션 을 참조하십시오.

    중요

    커넥터 애플리케이션을 삭제하기 전에 커넥터의 상태와 구성을 내보내는 것이 좋습니다. 이렇게 하면 모든 사용자 지정 옵션(예: 동기화가 활성화된 테이블과 해당 일정)을 보존하고 새 설치에서 가장 최근의 변경 사항을 적용할 수 있습니다.

    이미 커넥터를 제거했지만 수집된 데이터가 포함된 데이터베이스와 스키마는 그대로 둔 경우, 자동으로 내보낸 상태에 따라 커넥터를 다시 설치할 수 있지만, 다시 설치된 커넥터가 일부 레코드의 수집을 반복할 수 있습니다.

  5. 커넥터를 제거하여, 대상 스키마에서 테이블 및 뷰의 소유권을 이전합니다.

  6. 커넥터를 재설치하려면 다음을 수행합니다.

설치 프로세스 중에 다음을 수행합니다.

  • 이전에 사용한 데이터베이스와 스키마를 제공합니다.

    설치 후 커넥터는 데이터베이스와 스키마에 수집된 데이터가 포함되어 있음을 감지하고 다시 설치하기 전에 있던 위치에서 수집을 계속합니다. 커넥터 상태를 내보낸 후 설치 중에 성공적으로 가져오면 이전에 수집한 테이블이 동일한 일정과 구성으로 자동으로 활성화됩니다. 그렇지 않으면 모든 테이블을 수동으로 활성화하고 수집을 복원하기 위한 일정을 구성해야 합니다.

    SQL 명령으로 다시 설치하는 경우 SQL 설치 가이드에 설명된 대로 대상 스키마에 있는 뷰 및 테이블의 소유권을 커넥터로 이전해야 합니다. 그렇지 않으면 커넥터가 이러한 테이블과 뷰에 액세스할 수 없게 되어 수집을 재개할 수 없습니다.

  • 동일한 ServiceNow® 인스턴스 이름을 제공합니다.

  • 다른 인자의 경우 커넥터를 설치할 때 만든 오브젝트 를 재사용하거나 새 오브젝트를 사용할 수 있습니다.