Partner Connectで接続を管理する

パートナーソリューションへのDatabricksワークスペース接続を使用して、次のような管理タスクを実行できます。

  • パートナーアカウントのユーザーを管理する。

  • Databricksサービスプリンシパルと、接続で使用される関連するDatabricks個人アクセストークンを管理する。

  • ワークスペースをパートナーから切り離す。

Partner Connectを管理するには、ワークスペース管理者としてワークスペースにサインインする必要があります。詳細については、「ユーザーを管理する」を参照してください。

パートナーアカウントユーザーを管理する

Partner Connectを使用してそのパートナーのアカウントやWebサイトにサインインすることをユーザーに許可しているパートナー(FivetranやRiveryなど)では、組織内の誰かがDatabricksワークスペースの1つからパートナーに初めて接続すると、その人は組織のすべてのワークスペースでそのパートナーのパートナーアカウント管理者になります。組織内の他のユーザーがそのパートナーにサインインできるようにするには、パートナーアカウント管理者はまずそれらのユーザーを組織のパートナーアカウントに追加する必要があります。一部のパートナーでは、パートナーアカウント管理者がこの権限を委任することもできます。詳細については、パートナーのウェブサイトにあるドキュメントを参照してください。

組織のパートナー アカウントにユーザーを追加できるユーザーがいない場合 (パートナー アカウント管理者がいなくなった場合など) は、パートナーにお問い合わせください。 サポート リンクについては、 Databricks Partner Connect パートナーの一覧を参照してください。

Unity Catalogで管理されているデータをパートナーソリューションに接続する

ワークスペースがUnity Catalogに対応している場合は、選択したパートナーソリューションをUnity Catalogが管理するデータに接続できます。Partner Connectを使用して接続を作成する場合、パートナーが従来のHive metastore (hive_metastore) を使用するか、所有する別のカタログを使用するかを選択できます。metastore管理者は、ワークスペースに割り当てられているmetastore内のカタログを選択できます。

パートナーソリューションがPartner Connectを使用したUnity Catalogをサポートしていない場合は、ワークスペースのデフォルトカタログのみを使用できます。デフォルトカタログが hive_metastore ではなく、デフォルトカタログを所有していない場合は、エラーが発生します。

Partner Connect で Unity Catalogをサポートするパートナーの一覧については、「 Databricks Partner Connect パートナー の一覧」を参照してください。

接続のトラブルシューティングについては、Partner Connectのトラブルシューティングを参照してください。

サービスプリンシパルと個人用アクセストークンを管理する

Databricksサービスプリンシパルを必要とするパートナーの場合、Databricksワークスペース内の誰かが特定のパートナーに初めて接続すると、Partner Connectがそのパートナーで使用するDatabricksサービスプリンシパルをワークスペース内に作成します。Partner Connectは、形式 <PARTNER-NAME>_USER を使用してサービスプリンシパルの表示名を生成します。たとえば、パートナーFivetranの場合、サービスプリンシパルの表示名は FIVETRAN_USER です。

また、Partner Connect は Databricks 個人用アクセストークン を作成し、その Databricks サービスプリンシパルに関連付けます。 Partner Connect は、このトークンの値をバックグラウンドでパートナーに提供し、そのパートナーへの接続を完了します。 このトークンの値を表示または取得することはできません。 このトークンは、自分または他のユーザーが削除するまで期限切れになりません。 「 パートナーとの接続を切断する」も参照してください。

Partner Connectは、ワークスペース内のDatabricksサービスプリンシパルに次のアクセス許可を付与します。

パートナー

権限

Fivetran, Matillion, Power BI, Tableau, erwin Data Modeler

これらのソリューション は、サービスプリンシパルを必要としません.

Hevo Data、Hunters、Rivery、RudderStack、Snowplow

  • CAN USE トークンは、個人的なアクセス許可を作成するために使用します。

  • SQLウェアハウス作成権限。

  • ワークスペースへのアクセス。

  • Databricks SQL へのアクセス。

  • (Unity カタログ) 選択したカタログに対する「USE CATALOG」権限。

  • (Unity カタログ) 選択したカタログに対する「CREATE SCHEMA」権限。

  • (Legacy Hive metastore ) 選択したカタログに対する USAGE 権限。

  • (レガシーHive metastore ) hive_metastore カタログに対する CREATE 権限。Partner Connect がユーザーに代わってレガシーHive metastoreにオブジェクトを作成できるようにします。

  • 作成するテーブルの所有権。 サービスプリンシパルは、作成しないテーブルをクエリーできません。

Prophecy

  • CAN USE トークンは、個人的なアクセス許可を作成するために使用します。

  • ワークスペースにアクセスします。

  • クラスター作成のアクセス許可。 サービスプリンシパルは、作成していないクラスターにアクセスできません。

  • ジョブ作成のアクセス許可。 サービスプリンシパルは、作成していないジョブにはアクセスできません。

John Snow Labs、Labelbox

  • CAN USE トークンは、個人的なアクセス許可を作成するために使用します。

  • ワークスペースへのアクセス。

Alation, Anomalo, AtScale, Census, dbt クラウド, Hex, Hightouch, Lightup, Monte Carlo, Preset, Privacera, Qlik Sense, Sigma, Stardog, ThoughtSpot

  • CAN USE トークンは、個人的なアクセス許可を作成するために使用します。

  • 選択した Databricks SQL ウェアハウスに対する CAN USE 権限。

  • 選択したスキーマに対する SELECT 権限。

  • (Unity カタログ) 選択したカタログに対する「USE CATALOG」権限。

  • (Unity カタログ)選択したスキーマに対する USE SCHEMA 権限。

  • (レガシーHive metastore ) 選択したスキーマに対する USAGE 権限。

  • (レガシーHive metastore ) 選択したスキーマに対する READ METADATA 権限。

Dataiku

  • CAN USE トークンは、個人的なアクセス許可を作成するために使用します。

  • SQLウェアハウス作成権限。

  • (Unity カタログ) 選択したカタログに対する「USE CATALOG」権限。

  • (Unity カタログ)選択したスキーマに対する USE SCHEMA 権限。

  • (Unity カタログ) 選択したカタログに対する「CREATE SCHEMA」権限。

  • (レガシーHive metastore ) hive_metastore カタログおよび選択したスキーマに対する USAGE 権限。

  • (レガシーHive metastore ) hive_metastore カタログに対する CREATE 権限。Partner Connect がユーザーに代わってレガシーHive metastoreにオブジェクトを作成できるようにします。

  • (レガシーHive metastore ) 選択したスキーマに対する SELECT 権限。

既存のトークンが漏洩したり、紛失したり、削除されたりした場合、または組織で定期的にトークンをローテーションするポリシーがある場合は、新しいDatabricksパーソナルアクセストークンを生成する必要がある可能性があります。新しいトークンを生成するには、Databricks REST APIを使用します。

  1. ワークスペースのワークスペースサービスプリンシパルAPIGET /preview/scim/v2/ServicePrincipalsオペレーションを呼び出して、 DatabricksサービスプリンシパルのアプリケーションIDを取得します。応答中のサービスプリンシパルのapplicationIdをメモしておいて下さい。

  2. サービスプリンシパルの applicationId を使用して、ワークスペースの Databricks Token Management REST APIPOST /token-management/on-behalf-of/tokens オペレーションを呼び出します。

  3. 応答内の token_value をメモし、安全な場所に保存してください。これを取得する必要がある場合に再度アクセスする方法は他にないためです。

たとえば、ワークスペースで使用可能なDatabricksサービスプリンシパルの表示名とアプリケーションIDのリストを取得するには、次のように curl を呼び出します。

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/preview/scim/v2/ServicePrincipals \
| jq '[ .Resources[] | { displayName: .displayName, applicationId: .applicationId } ]'

<databricks-instance> を Databricks ワークスペース インスタンス名(サービスプリンシパルが存在するワークスペースの dbc-a1b2345c-d6e7.cloud.databricks.com など) に置き換えます。

サービスプリンシパルのアプリケーションID値は、応答の applicationId フィールドにあります(例:123456a7-8901-2b3c-45de-f678a901b2c)。

サービスプリンシパルの新しいトークン値を作成するには、次のように curl を呼び出します。

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/token-management/on-behalf-of/tokens \
--data @create-token.json \
| jq '[ . | { token_value: .token_value } ]'

create-token.json:

{
  "application_id": "<application-id>",
  "comment": "Partner Connect",
  "lifetime_seconds": 1209600
}

次のように置き換えてください:

  • <databricks-instance> をワークスペース インスタンス名に置き換えます (たとえば、サービスプリンシパルが存在するワークスペースの dbc-a1b2345c-d6e7.cloud.databricks.com)。

  • <application-id> をサービスプリンシパルのアプリケーションIDに置き換えます。

  • 1209600 を、このトークンの有効期限が切れるまでの秒数に置き換えます。たとえば、1209600 は14日間の秒数です。

新しいトークンの値は応答の token_value フィールドにあります(例:dapi12345678901234567890123456789012)。応答内の新しいトークンの値をメモし、安全な場所に保存してください。トークンを取得する必要が生じた場合に再度アクセスする方法は他にないためです。

上記の例では、 .netrc ファイルと jq。 この場合、.netrcファイルは、サービスプリンシパルの値ではなく個人のアクセストークン値を使用することに注意してください

新しいトークンを作成した後、新しいトークンの値でパートナーアカウントを更新する必要があります。これを行うには、パートナーのウェブサイトにあるドキュメントを参照してください。ドキュメントのリンクについては、適切なパートナー接続ガイドを参照してください。

既存のトークンを削除するには:

警告

既存のDatabricksパーソナルアクセストークンの削除は永続的であり、元に戻すことはできません。

  1. ワークスペースのDatabricksトークン管理REST APIGET /token-management/tokens GETオペレーションを呼び出して、既存のトークンのリストを取得します。

  2. 応答で、削除するトークンの token_id 値をメモします。

  3. このtoken_id値を使用して、ワークスペースのDatabricksトークン管理REST APIのDELETE /token-management/tokens/{token_id}オペレーションを呼び出してトークンを削除します。

パートナーとの接続を解除する

パートナーのタイルにチェックマークアイコンが表示されている場合は、Databricksワークスペース内の誰かがそのパートナーへの接続を作成済みであることを意味します。そのパートナーとの接続を切断するには、Partner Connectでそのパートナーのタイルをリセットします。パートナーのタイルをリセットすると、次の処理が行われます。

  • パートナーのタイルのチェックマークアイコンをクリアします。

  • パートナーが必要とする場合、関連付けられたSQLウェアハウスまたはクラスターを削除します。

  • 関連付けられている Databricks サービスプリンシパルを削除します (パートナーが必要とする場合)。 サービスプリンシパルを削除すると、そのサービスプリンシパルに関連する Databricks 個人用アクセストークンも削除されます。 このトークンの値は、ワークスペースとパートナー間の接続を完了するものです。 詳細については、「 サービスプリンシパルと個人用アクセストークンの管理」を参照してください。

警告

SQLウェアハウス、クラスター、Databricksサービスプリンシパル、またはDatabricksサービスプリンシパルの個人アクセストークンの削除は永続的であり、元に戻すことはできません。

パートナーのタイルをリセットしても、組織の関連パートナーアカウントは削除されず、パートナーとの関連する接続設定も変更されません。ただし、パートナーのタイルをリセットすると、ワークスペースと関連するパートナーアカウントとの接続が切断されます。再接続するには、ワークスペースからパートナーへの新しい接続を作成し、関連するパートナーアカウントの元の接続設定を新しい接続設定と一致するように手動で編集する必要があります。

パートナーのタイルをリセットするには、タイルをクリックし、 [接続を削除]をクリックして、画面上の指示に従います。

または、パートナーに関連付けられているワークスペース内の関連する Databricks サービスプリンシパルを削除することで、パートナーから Databricks ワークスペースを手動で切断することもできます。 ワークスペースをパートナーから切断するが、他の関連リソースを保持し、タイルに表示されるチェック マーク アイコンを保持する場合は、これを行うことができます。 サービスプリンシパルを削除すると、そのサービスプリンシパルの関連する個人アクセストークンも削除されます。 このトークンの値は、ワークスペースとパートナー間の接続を完了するものです。 詳細については、「 サービスプリンシパルと個人用アクセストークンの管理」を参照してください。

Databricksサービスプリンシパルを削除するには、次のようにDatabricks REST APIを使用します。

  1. ワークスペースのワークスペースサービスプリンシパルAPIGET /preview/scim/v2/ServicePrincipalsオペレーションを呼び出して、 DatabricksサービスプリンシパルのアプリケーションIDを取得します。応答中のサービスプリンシパルのapplicationIdをメモしておいて下さい。

  2. サービスプリンシパルのapplicationIdを使用して、ワークスペースのワークスペースサービスプリンシパルAPIDELETE /preview/scim/v2/ServicePrincipalsオペレーションを呼び出します。

たとえば、ワークスペースで使用可能なサービスプリンシパルの表示名とアプリケーションIDのリストを取得するには、次のように curl を呼び出します。

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/preview/scim/v2/ServicePrincipals \
| jq '[ .Resources[] | { displayName: .displayName, applicationId: .applicationId } ]'

<databricks-instance> を Databricks ワークスペース インスタンス名 (ワークスペースdbc-a1b2345c-d6e7.cloud.databricks.com など) に置き換えます。

サービスプリンシパルの表示名は、出力の displayName フィールドにあります。Partner Connectは、形式 <PARTNER-NAME>_USER を使用してサービスプリンシパルの表示名を生成します。たとえば、パートナーFivetranの場合、サービスプリンシパルの表示名は FIVETRAN_USER です。

サービスプリンシパルのアプリケーションID値は、出力の applicationId フィールドにあります(例:123456a7-8901-2b3c-45de-f678a901b2c)。

サービスプリンシパルを削除するには、次のように curl を呼び出します。

curl --netrc --request DELETE \
https://<databricks-instance>/api/2.0/preview/scim/v2/ServicePrincipals/<application-id>

次のように置き換えてください:

  • <databricks-instance> をワークスペースの インスタンス名に置き換えます (ワークスペースの dbc-a1b2345c-d6e7.cloud.databricks.com など)。

  • <application-id> をサービスプリンシパルのアプリケーションIDに置き換えます。

上記の例では、 .netrc ファイルと jq。 この場合、.netrcファイルは、サービスプリンシパルの値ではなく個人のアクセストークン値を使用することに注意してください

ワークスペースをパートナーから切断した後、パートナーがワークスペース内に作成した関連リソースをクリーンアップすることもできます。 これには、SQL ウェアハウスまたはクラスター、および関連するデータ ストレージの場所が含まれる場合があります。 詳細については、 「SQL ウェアハウスの作成」または「コンピュートの削除」を参照してください。

パートナーに接続しているワークスペースが組織内にないことを確認している場合は、そのパートナーの組織アカウントを削除することもできます。これを行うには、パートナーに問い合わせてください。サポートリンクについては、該当するパートナー接続ガイドを参照してください。