ServiceNow インジェスト パイプラインのトラブルシューティング
プレビュー
ServiceNow コネクタは パブリック プレビュー段階です。
この記事では、 Databricks LakeFlow Connect でマネージド ServiceNow インジェスト コネクタを使用する際の一般的な問題とその解決方法について説明します。
認証エラー
エラー:
com.databricks.pipelines.execution.conduit.common.DataConnectorException: [SERVICENOW_CONNECTION_ERROR.OAUTH_TOKEN_EXCHANGE] Failed to authenticate to ServiceNow. This can be caused by issues with your UC credentials, ServiceNow OAuth setup, and more...
ステップ 1
Unity Catalog 接続の作成時に、正しいユーザー名、パスワード、クライアント ID、およびクライアント シークレットを指定したことを確認します。
ServiceNowへの認証用のユーザー名とパスワードは、必ずしもSSO用の個人用ユーザー名とパスワードではありません。これらは、外部サービスでの認証とインジェストを目的としたユーザーに関連付けられたユーザー名とパスワードの値です。
- Catalog Explorer
- curl
-
Databricks ワークスペースのサイドバーで、[
カタログ] をクリックします。
-
[カタログ ] ウィンドウの上部にある [
] 歯車アイコンをクリックし、メニューから [ 接続 ] を選択します。
または、[ クイック アクセス ] ページで [ 外部データ > ] ボタンをクリックし、[ 接続 ] タブに移動します。
-
接続の名前をクリックします。
接続の詳細は、[ 概要 ] タブに一覧表示されます。
次の curl 要求を実行します。括弧内の項目は、実際の接続プロパティに置き換えてください。
curl -X POST "https://<instance-id>.service-now.com/oauth_token.do" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=password" \
--data-urlencode "client_id=<client-id>" \
--data-urlencode "client_secret=<client-secret>" \
--data-urlencode "username=<username>" \
--data-urlencode "password=<password>"
リクエストが成功した場合、認証情報は正しいです。
ステップ 2
認証するユーザーに admin
ロールがあることを確認します。また、Databricks では、認証するユーザーに snc_read_only
ロールを付与して、アクセス許可をさらに制限することをお勧めします。
ステップ 3
認証するユーザーが アクティブ としてマークされていることを確認します。
-
ServiceNow で、[ 組織] > [ユーザー ] をクリックします。
-
認証に使用する予定のユーザーを選択します。
-
「アクティブ 」チェックボックスが選択されていることを確認します。
ステップ 4
ServiceNow の OAuth 2.0 プラグインがアクティブであることを確認します。
-
ServiceNow で、[ System Definition (システム定義)] > [Plugins (プラグイン )] をクリックします。
-
[スクリプト - バックグラウンド ] セクションで次のスクリプトを実行します。
var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active');
gs.info('OAuth Active: ' + oauthActive);スクリプトが
true
を返す場合、プラグインのインストールは成功しています。このスクリプトがfalse
を返す場合は、アンインストールしてから再インストールします。
ステップ 5
OAuth エンドポイントが正しく設定されていることを確認します。
-
ServiceNow で、 System OAuth > Application Registry にアクセスします。
-
右上隅の [ NEW ] をクリックします。
-
OAuth アプリケーションオプションで、「 外部クライアント用の OAuth API エンドポイントを作成する 」をクリックします。
-
「アクティブ 」チェックボックスが選択されていることを確認します。
OAuth アプリケーションが正常に作成されると、 そのアプリケーションは [System OAuth (システム OAuth )] > [Application Registry (アプリケーション レジストリ)] のリストに [OAuth クライアント ] タイプで表示されます。
ステップ 6
これらのトラブルシューティング手順を実行しても問題が解決しない場合は、 サポート チケットを提出してください。