Snowsightを使用したコネクタのインストールと構成¶
Snowflake Connector for ServiceNow® は、 Snowflake Connector Terms の対象となります。
このトピックでは、Snowsightを介して Snowflake Connector for ServiceNow® をインストールおよび構成する方法について説明します。
このトピックの内容:
Snowflake Connector for ServiceNow® のインストール¶
次の手順では、コネクタをインストールする方法について説明します。
ACCOUNTADMIN ロールを持つユーザーとして Snowsight にサインインします。
ナビゲーションメニューで Data Products » Marketplace を選択します。
Snowflake Connector for ServiceNow® を検索し、コネクタのタイルを選択します。
Snowflake Connector for ServiceNow® のページで、 Get を選択します。
これにより、インストールプロセスの最初の部分を開始するために使用するダイアログが表示されます。
ダイアログで、次のように構成します。
Warehouse used for installation フィールドで、コネクタのインストールに使用するウェアハウスを選択します。
注釈
これは、コネクタが ServiceNow®からのデータを同期するために使用するウェアハウスとは異なります。後のステップで、この目的のために別のウェアハウスを作成します。
オプションで、 Options » Application name ではアプリケーションの名前を変更できます。
Get を選択します。
ダイアログが
Successfully Installed
の通知とともに表示されます。構成を続けるには、 Configure を選択します。ダイアログが閉じ、 Snowflake Connector for ServiceNow® ページに、コネクタを構成および管理するための UI が表示されます。
Snowflake Connector for ServiceNow® の構成¶
ACCOUNTADMIN ロールまたは以下の要件を満たすその他のロールを持つユーザーとして、 Snowsight にサインインします。
これらのアカウントレベルの権限が必要です。
EXECUTE TASK WITH GRANT OPTION
EXECUTE MANAGED TASK WITH GRANT OPTION
EVENT_TABLE アカウントで有効にする必要があります。
ウェアハウスへのアクセスには、以下の権限のうち少なくとも1つが必要です。
CREATE WAREHOUSE
OWNERSHIP
USAGE WITH GRANT OPTION
データベースアクセスには、少なくとも次のいずれかの権限が必要です。
CREATE DATABASE
OWNERSHIP
USAGE WITH GRANT OPTION
スキーマアクセスには、以下の権限の少なくとも1つが必要です。
CREATE DATABASE
OWNERSHIP
USAGE WITH GRANT OPTION
CREATE SCHEMA
USAGE, CREATE TABLE, CREATE VIEW WITH GRANT OPTION
オプション: ロールアクセスについては、 DATA_READER アプリケーションロールを割り当てる新規ロールを作成するか、既存のロールを選択できます。新しいロールを作成したい場合は、アカウントに CREATE ROLE 権限が必要です。しかし、これは構成を完了するために必要なものではありません。
ナビゲーションメニューで Data Products » Apps を選択します。
Snowflake Connector for ServiceNow® を検索してから、選択します。インストールウィザードページに移動し、構成プロセスを行います。
アプリケーションの構成手順は次のとおりです。
構成¶
このダイアログで、次のフィールドに入力します。
フィールド |
説明 |
---|---|
Warehouse |
コネクタ専用の仮想ウェアハウスの識別子。 アカウントに一意の名前を指定します。ウェアハウスの名前は、有効な オブジェクト識別子 である必要があります。 構成プロセスは指定された名前で新しい |
Destination Database |
Snowflake内にある ServiceNow®データのテーブルを含むスキーマを含むデータベースの識別子。 アカウントに一意の名前を指定します。データベースの名前は、有効な オブジェクト識別子 である必要があります。 構成プロセスは、指定された名前のデータベースを作成または再利用します。 |
Destination Schema |
Snowflake内にある ServiceNow®データを含むスキーマの識別子。 Snowflake Connector for ServiceNow® は、ServiceNow®データをこのスキーマのテーブルにインジェストします。 選択したデータベース内で一意の名前を指定します。スキーマの名前は、有効な オブジェクト識別子 である必要があります。 構成プロセスは、指定された名前のスキーマを作成または再利用します。 |
Role |
コネクタ用の新しいカスタムロールの識別子。 このロールには、DATA_READER アプリケーションロールと、 Destination Database および Destination Schema に対する USAGE 権限が付与されます。 アカウントに一意の名前を指定します。ロールの名前は、有効な オブジェクト識別子 である必要があります。 構成プロセスにより、指定された名前で新しいロールが作成されます。 |
注釈
デフォルトでは、フィールドはコネクタの構成時に作成されるオブジェクトの名前に設定されます。Snowflakeは、これらのフィールドに新しいオブジェクトを使用することをお勧めします。ただし、必要な場合、既存のオブジェクトの名前を指定できます(例: コネクタを再インストールする場合)。
注意
ウェアハウスが少なくとも3時間クエリを実行できることを確認してください。コネクタが使用するウェアハウスとアカウントの両方で設定できるパラメーター値に影響されます(アカウントの値が優先されます)。現在の値を確認するには、次を実行します。
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' FOR ACCOUNT;
SHOW PARAMETERS LIKE 'STATEMENT_TIMEOUT_IN_SECONDS' FOR WAREHOUSE <connector_warehouse>;
両方の値が少なくとも 10800
(つまり3時間)であれば、変更は必要ありません。それ以外の場合は、必要に応じて次を実行します。
ALTER ACCOUNT SET STATEMENT_TIMEOUT_IN_SECONDS = 10800;
ALTER WAREHOUSE <connector_warehouse> SET STATEMENT_TIMEOUT_IN_SECONDS = 10800;
適切なタイムアウトが提供されない場合、データインジェスチョンは失敗します。
Configure を選択します。
認証(ServiceNowに接続)¶
ACCOUNTADMIN ロールを持つユーザーとしてサインインしていない場合は、以下の要件を満たしていることを確認してください。
CREATE INTEGRATION 権限が必要です。
統合が以前に他のロールによって作成されていた場合、それらの統合の所有権をあなたのロールに移す必要があります。
CONNECTORS_SECRET データベースが存在しない場合は、 CREATE DATABASE 権限が必要です。
CONNECTORS_SECRET データベースが存在するが、別のロールによって作成された場合は、これらの権限が必要です。
USAGE WITH GRANT OPTION
CREATE SCHEMA WITH GRANT OPTION
CONNECTORS_SECRET.APP_NAME スキーマが存在するが、別のロールによって作成された場合は、これらの権限が必要です。
USAGE WITH GRANT OPTION
CREATE SECRET
CREATE NETWORK RULE
CONNECTORS_SECRET.APP_NAME.SECRET が存在するが、他のロールによって作成された場合、その所有権をあなたのロールに移す必要があります。
CONNECTORS_SECRET.APP_NAME.NETWORK_RULE が存在するが、他のロールによって作成された場合、その所有権をあなたのロールに移す必要があります。
次の手順では、ServiceNow への接続を設定する方法について説明します。基本認証(ユーザー名とパスワード)または OAuth のいずれかを選択できます。
可能な認証方法のいずれかを選択してください: Basic authentication、 OAuth2、または OAuth Client Credentials (推奨)。
ServiceNow Instance フィールドに、ServiceNow®インスタンスの名前を入力します。
これは ServiceNow®インスタンスのホスト名の最初の部分です。たとえば、 ServiceNow®インスタンスへの URL が次の場合です。
https://myinstance.service-now.com
インスタンスの名前は
myinstance
になります。
注釈
カスタムドメイン(service-now.com
以外)を使用する場合は、 ServiceNow®インスタンスに完全な URL を指定する必要があります。
基本認証フロー¶
ServiceNow username および ServiceNow password フィールドに、ServiceNow®アカウントの認証情報を入力します。
Connect を選択します。
OAuth クライアント認証情報フロー¶
クライアントがインスタンスにアクセスするためのエンドポイントを作成 し、それを使用してコネクタを構成します。
警告
この認証方法を使用するには、 ServiceNow®インスタンスを Washington DC リリース 以上にアップグレードする必要があります。
ServiceNow®インスタンスにログインし、 Homepage を選択します。
sys_properties.list を検索します。
テーブルで
glide.oauth.inbound.client.credential.grant_type.enabled
という名前のプロパティを検索し、それがtrue
に設定されていることを確認します。注釈
プロパティが存在しない場合は、それを作成します。 New ボタンをクリックし、新規プロパティの以下のフィールドを入力します。
Name を
glide.oauth.inbound.client.credential.grant_type.enabled
に設定します。Type を
true | false
に設定します。Value を
true
に設定します。
System OAuth を検索し、 Application Registry を選択します。
New 、 Create an OAuth API endpoint for external clients の順に選択します。
Name フィールドに OAuth アプリケーションレジストリの名前を入力します。
OAuth Application User フィールドでコネクタを認証するユーザーを選択します。ユーザーは ServiceNow®インスタンスの準備 にリストされている権限を持つ必要があります。
注釈
フォームに OAuth Application User フィールドがない場合は、画面左上の Additional actions メニューを開いてください。 Configure -> Form builder を選択します。次に、フォームの
Default
表示に、欠けている OAuth Application User フィールドを追加します。フォームを保存し、ページを更新して続行します。Submit を選択します。
OAuth アプリケーションレジストリがアプリケーションレジストリのリストに表示されます。
作成したアプリケーションレジストリを選択します。
ServiceNow®が Client ID フィールドと Client Secret フィールドの値を作成したことに注意してください。
ServiceNow で、 Client ID の値をコピーします。Snowsightで、 Client ID フィールドにこの値を貼り付けます。
ServiceNow で、 Client Secret の値をコピーします。Snowsightで、 Client Secret フィールドにこの値を貼り付けます。
注釈
コネクタは、 シークレット (スキーマレベルオブジェクトの一種)を使用して、ServiceNow®インスタンスへの認証に使用されるアクセストークンを格納します。コネクタは、このシークレットオブジェクトをセキュリティ統合および外部アクセス統合と共に使用して、ServiceNow®インスタンスに接続します。
コネクタをインストールすると、シークレット、セキュリティ統合、および外部アクセス統合が自動的に作成されます。
Snowsightで、 Connect を選択します。
ソースの検証¶
このセクションでは、ServiceNow®インスタンスへの接続を確認し、オプションで Journal Table を設定します。
削除された記録の反映を有効にするには、削除された記録に関する情報のソースとして機能する Journal Table を設定します。
ソーステーブルとして、 sys_audit_delete
テーブルまたはカスタムテーブルのいずれかを使用できます。
削除された記録を ServiceNow®からSnowflakeにインジェストしない場合は、このフィールドを空のままにします。
注釈
コネクタの ServiceNow®ユーザーが、指定されたジャーナルテーブルにアクセスできることを確認してください。テーブル内にユーザーに表示されていない行がある場合、アクセスの検証中にコネクタがジャーナルテーブルからのエントリの取得に失敗する場合があります。このような場合、SQL から FINALIZE_CONNECTOR_CONFIGURATION プロシージャを呼び出してこの手順を実行し、 table_name
または sys_id
のいずれかの引数を journal_table
とともに提供します。
警告
アプリケーションを構成した後にジャーナルテーブルを設定することは できません。構成後に削除された記録の伝播を有効にするには、コネクタを再インストールする必要があります。
Validate を選択して構成プロセスを終了します。
ソース検証中、コネクタは以前にエクスポートされたコネクタの状態が宛先スキーマに存在するかどうかを確認しようとします。 __CONNECTOR_STATE_EXPORT
テーブルが存在し、コネクタにアクセス可能な場合、コネクタは状態のインポートを試みます。インポートが正常に終了すると、エクスポートテーブルは削除されます。インポート中にエラーが発生した場合は、エラーを修正した後に再度ソース検証を実行することできます。状態をインポートしたくない場合、またはインポートエラーを修正したくない場合は、コネクタからテーブルの所有権を譲渡し、テーブルを削除します。
副作用¶
構成ステップの結果として、ウィザードはコネクタが動作するために必要なコネクタのデータベースの外部に存在する次のオブジェクトを作成します。
シークレットオブジェクトの保存に使用されるスキーマ
SNOWFLAKE_CONNECTOR_FOR_SERVICENOW
を持つデータベースCONNECTORS_SECRET
、ServiceNow®認証情報を使用する
SECRET
という名前のCONNECTORS_SECRET.SNOWFLAKE_CONNECTOR_FOR_SERVICENOW
内のシークレットオブジェクト、アカウントからアウトバウンドトラフィックを許可するために使用される
NETWORK_RULE
という名前のCONNECTORS_SECRET.SNOWFLAKE_CONNECTOR_FOR_SERVICENOW
のネットワークルールオブジェクト、Snowflakeとサードパーティの OAuth 2.0サービスを統合するために使用される
SNOWFLAKE_CONNECTOR_FOR_SERVICENOW_SECURITY_INTEGRATION
という名前のセキュリティ統合、ServiceNow との通信に使用される、外部アクセス統合
SNOWFLAKE_CONNECTOR_FOR_SERVICENOW_EXTERNAL_ACCESS_INTEGRATION
。
注釈
上記のオブジェクトは、アプリケーション名としてデフォルトの SNOWFLAKE_CONNECTOR_FOR_SERVICENOW
が選択された場合、このように呼び出されます。インストール中に選択したアプリケーション名が変更された場合、それに応じてこれらのオブジェクトの名前も変更されます。
重要
これらのオブジェクトの名前、ウェアハウス、および構成時に使用されるロールは、変更 しないでください。コネクタはオブジェクトを名前で参照します。オブジェクトの名前を変更またはドロップすると、参照が壊れ、コネクタが使用できなくなります。
必要な場合、ウェアハウスの名前を変更する代わりに、 UPDATE_WAREHOUSE ストアドプロシージャを使用して、コネクタが使用するウェアハウスを変更します。
コネクタのログの構成¶
Snowflake Connector for ServiceNow® は、イベントテーブルを使用してコネクタのエラーログを保存します。イベントテーブルを手動で設定するには、 イベントテーブルの設定 ガイドに従います。
イベントテーブルが設定されていない場合、UI ウィザードを使用してコネクタをインストールすると、コネクタは自動的にイベントテーブルを設定します。
注釈
このアプリはデバッグのためにログを収集し、あなたのアカウントのイベントテーブルとアプリプロバイダーアカウントのイベントテーブルに書き込みます。このアプリのログのみが含まれ、これらのログは「コネクタ使用データ」です。
イベントテーブルは以下の場所に作成されます。
オブジェクト
名前
Database
EVENTS_DB
Schema
PUBLIC
Table
EVENTS
コネクタアプリケーションの役割¶
ネイティブアプリケーションとして、 Snowflake Connector for ServiceNow® は アプリケーションの役割 を定義します。 コネクタのロールベースアクセス制御 でご確認いただけます。
次のステップ¶
コネクタをインストールして構成したら、 ServiceNow®データのデータインジェスチョンの設定 で説明されているステップを実行します。