ServiceNow インジェスト パイプラインのトラブルシューティング
プレビュー
ServiceNow コネクタは、ゲート パブリック プレビュー段階です。プレビューに参加するには、Databricks アカウント チームにお問い合わせください。
この記事では、 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
-
In the sidebar of the Databricks workspace, click
Catalog.
-
At the top of the Catalog pane, click the
gear icon and select Connections from the menu.
Alternatively, from the Quick access page, click the External data > button and go to the Connections tab.
-
Click the name of the connection.
Connection details are listed on the Overview tab.
Run the following curl request. Replace the items in brackets with your connection properties.
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>"
If the request succeeds, the credentials are correct.
ステップ 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
これらのトラブルシューティング手順を実行しても問題が解決しない場合は、 サポート チケットを提出してください。