次の方法で共有


Databricks インジェスト用に ServiceNow を構成する

この記事では、Databricks インジェスト用に ServiceNow インスタンスを構成する方法について説明します。 手順は、選択した認証方法によって異なります。

認証方法を選択する

次の認証方法がサポートされています。

  • Standard OAuth (推奨)
  • トークンの自動更新を使用した OAuth (レガシ)

Databricks では、より安全なアプローチであるため、標準の OAuth をお勧めします。 ただし、認証トークンの有効期限が切れると、ServiceNow 接続の有効期限が切れます。 既定では、これは 100 日ごとに行われます。 頻度を減らすには、ServiceNow で有効期限を変更するか、自動トークン更新で OAuth を使用します。

取得した認証の詳細を使用して、ServiceNow への Databricks Unity カタログ接続を作成します。 トークンの自動更新を使用した OAuth は、Databricks API を使用して作成された接続でのみサポートされます。 Databricks UI ではサポートされていません。

ユーザー特権を確認する

  • 削除をキャプチャするには、ServiceNow ユーザーが sys_audit_delete tableにアクセスでき、取り込まれるテーブルが削除を追跡している必要があります (ServiceNow でテーブル属性を no_audit_delete=true に設定することはできません)。

  • ServiceNow ユーザーは、 admin ロールを持っている必要があります。

  • (省略可能)管理者ユーザーを読み取り専用アクセスに制限するには、 snc_read_only ロールを割り当てることができます。

OAuth アプリケーションを作成する

この手順では、Databricks インジェストの ServiceNow 認証の詳細を収集します。

  1. [ すべて ] メニューで、[ システム OAuth] を検索し、[ アプリケーション レジストリ] をクリックします。

    ServiceNow OAuth アプリケーション レジストリ

  2. [ 新規] > 外部クライアントの OAuth API エンドポイントの作成をクリックします

    ServiceNow 外部クライアント用の OAuth API エンドポイントを作成する

  3. アプリケーションの名前を入力します。

  4. [ 認証スコープ] にuseraccount」と入力します。

  5. (Standard OAuth のみ)[ リダイレクト URL] に「 https://<databricks-workspace-url>/login/oauth/servicenow.html」と入力します。 <databricks-workspace-url>を完全な Databricks ワークスペース URL (https://adb-4385079616193792.12.azuredatabricks.net など) に置き換えます。

    トークンの自動更新で OAuth を使用している場合は、この手順をスキップします。

  6. [ 送信] をクリックします。

    ServiceNow OAuth アプリケーションの詳細

  7. クライアント IDクライアント シークレットをコピーします。

インスタンス ID を取得する

インスタンス ID は、ServiceNow アカウントのログイン URL の最初の部分です。

https://<instanceid>.service-now.com

たとえば、ServiceNow インスタンスのホーム ページが https://abc.service-now.comされている場合、インスタンス ID は abc

(レガシ)ユーザー名とパスワードを取得する

この手順は、トークンの自動更新を使用する OAuth にのみ必要です。 Databricks では、代わりに標準の OAuth を使用することをお勧めします。 トークンの自動更新を使用した OAuth は、Databricks API を使用して作成された接続でのみサポートされます。 Databricks UI ではサポートされていません。

アクティブな ServiceNow ユーザーのユーザー名とパスワードを取得します。

カーソル列のインデックス作成を有効にする

インジェストのパフォーマンスを向上させるために、Databricks は ServiceNow 管理者と協力して、カーソル フィールドで ServiceNow 側のインデックス作成を有効にすることをお勧めします。 カーソル列は、可用性と優先順に、 sys_updated_on (第 1 選択)、 sys_created_on (第 2 選択)、 sys_archived (第 3 選択) の順に選択されます。 これは、ServiceNow API を使用して取り込むときにパフォーマンスを向上させる標準的なアプローチです。 インデックスを設定すると、Databricks はカーソル列全体を完全にスキャンすることを回避でき、大規模な更新のボトルネックとなる可能性があります。 手順については、ServiceNow ドキュメントの テーブル インデックスの作成 を参照してください。

次のステップ

インジェスト パイプラインを作成する