ServiceNow
プレビュー
Lakewatchはプライベート プレビュー段階です。アクセスをリクエストするには、Databricksアカウントチームにお問い合わせください。
LakewatchアラートをServiceNowにエクスポートします。アラートが作成されると、LakewatchはTable APIを介してServiceNowにインシデント レコードを作成し、アラートが変更されるたびにそのレコードを更新します。宛先間でのエクスポートの動作については、アラート通知先を参照してください。
ServiceNowへのエクスポートは、LakewatchからServiceNowへの一方向です。LakewatchはServiceNow Table APIに書き込み、ServiceNowに登録したOAuthアプリケーションで認証します。
レコードの作成および更新方法
- アラート作成時 :Lakewatchは、Table APIを通じてServiceNowインスタンスにインシデントレコードを作成します。
- 変更時 :アラートのタイトル、説明、または状態が変更されると、Lakewatchは同じレコードを更新します。
Lakewatchはレコードの相関IDをLakewatchアラートIDに設定するため、レコードをそのアラートまで追跡でき、Lakewatchはレコードを複製するのではなく同じレコードを更新します。
前提条件
ServiceNowを設定する
ServiceNowで、Lakewatchがインシデントレコードの作成と更新に使用するOAuthアプリケーションを登録します。これらは大まかなステップです。詳細な手順については、 ServiceNow OAuthドキュメントを参照してください。
- ServiceNowで、 System OAuth > Application Registry に移動し、 Create an OAuth API endpoint for external clients を選択します。新しいアプリケーションを作成することも、既存のアプリケーションを再利用することもできます。
- クライアントの種類 に サービスとしての統合 を設定し、 スコープ制限 に 広範なスコープ を設定し、 OAuthアプリケーションユーザー を設定します。
- OAuthアプリケーションユーザーに
incident_managerロールを付与して、インシデントレコードの作成と更新ができるようにします。
インスタンスID、OAuthクライアントID、およびクライアントのシークレットをメモします。
クライアントシークレットをUnity Catalogシークレットとして保存する
Lakewatchは、アラートをエクスポートするたびに、catalog.schema.secretの形式の3レベルの名前を持つ保護可能なオブジェクトであるUnity CatalogシークレットからOAuthクライアントシークレットを読み取ります。Lakewatchはシークレット名のみを保存し、シークレット値は保存しません。
このシークレットを事前に作成することも、ServiceNowエクスポートを構成する際に [ シークレットの作成 ] ボタンを使ってインラインで作成することもできます。どちらの方法でも、シークレットを作成するには、カタログに対する USE CATALOG と、スキーマの所有権、またはスキーマに対する CREATE SECRET と USE SCHEMA の両方が必要です。ステップについては、「シークレットを作成する」を参照してください。
必要なアクセス許可
ServiceNow エクスポートを構成するには、以下が必要です。
READ SECRETクライアントシークレットを保持しているUnity Catalogのシークレット、あるいはその親スキーマまたはカタログ。構成を保存するとき、Lakewatchはシークレットを読み取ることができるかチェックします。それを付与するには、「シークレットに対する権限を管理する」を参照してください。- ワークスペース設定でアラートのエクスポート設定を編集する権限。
エクスポート時、LakewatchはService Principalとしてクライアントシークレット自体を読み取ります。Lakewatchはエクスポートするたびに名前でシークレットを読み取るため、シークレットをローテーションしてもタッチは不要です。Unity Catalogのシークレットを更新するだけで、Lakewatchは次のエクスポートで新しい値を使用し、エクスポート構成に変更を加える必要はありません。
ServiceNowエクスポートの構成
アラート 設定セクションで、アラートの ServiceNow 送信先を設定します。
- Lakewatchサイドバーで、 設定 に移動し、 アラート を開きます。
- アラート 設定で エクスポート 設定を探します。
- エクスポート送信先を ServiceNow に設定します。
- ワークスペース の場合、送信先がPrivateLink Endpointやリージョン制限されたサービスなど、特定のワークスペースのネットワークの背後にある場合を除き、現在のワークスペースを保持してください。このワークスペースのネットワークがエクスポートを配信します。
- Instance ID に、ServiceNowインスタンスIDを入力します。完全なURLではなく、ホストラベルのみを入力します。インスタンスが
https://acme.service-now.comの場合は、acmeを入力します。 - クライアントID で、ServiceNowに登録したアプリケーションのOAuthクライアントIDを入力します。
- クライアント シークレット を、OAuth クライアント シークレットを保持する Unity Catalog シークレットに設定します。3階層の名前(
catalog.schema.secret)を入力または貼り付け、 シークレットを選択 をクリックして既存のシークレットを選択するか、 シークレットを作成 をクリックしてページを離れずにクライアントシークレットから作成します。保存すると、シークレットフィールドは読み取り専用になります。更新するには、Unity Catalogでシークレットをローテーションしてください。 - 変更を保存します。
完全なアラート設定リファレンスについては、「 構成設定」を参照してください。
トラブルシューティング
- レコードがServiceNowに作成されません : OAuthアプリケーションユーザーがインシデントレコードを作成できないか、インスタンスIDが間違っています。アプリケーションユーザーに
incident_managerロールがあること、およびインスタンスIDがホストラベルのみ(例えばacme)であることを確認してください。 - 設定が保存されません :Unity Catalogシークレットを読み取る権限がないか、シークレット名が
catalog.schema.secretの形式ではありません。シークレットおよびシークレット名へのアクセス権を確認してください。 - 認証が失敗しました :クライアントIDまたはクライアントシークレットが間違っているか、OAuthアプリケーションに権限がありません。ServiceNowのクライアントID、シークレット値、およびアプリケーションのアクセス権を確認します。
- クライアント シークレットをローテーションした :Unity Catalogのシークレットを新しい値で更新します。エクスポート構成を変更する必要はありません。