Partner Connect で接続を管理する
パートナーソリューションへのDatabricksワークスペース接続を使用して、次のような管理タスクを実行できます。
- パートナーアカウントのユーザーを管理する。
- Databricksサービスプリンシパルと、接続で使用される関連するDatabricks個人用アクセストークンを管理する。
- ワークスペースをパートナーから切り離す。
Partner Connect を管理するには、ワークスペース管理者としてワークスペースにサインインする必要があります。 詳細については、「 ユーザーの管理」を参照してください。
パートナー アカウント ユーザーを管理する
ユーザーが Partner Connect を使用してそのパートナーのアカウントまたは Web サイト ( Fivetran や Riveryなど) にサインインできるパートナーの場合、組織内のユーザーが Databricks ワークスペースの 1 つからパートナーに初めて接続すると、そのユーザーは組織のすべてのワークスペースでそのパートナー のパートナー アカウント管理者 になります。 組織内の他のユーザーがそのパートナーにサインインできるようにするには、パートナー アカウント管理者がまずそれらのユーザーを組織のパートナー アカウントに追加する必要があります。一部のパートナーでは、パートナー アカウント管理者もこのアクセス許可を委任できます。 詳細については、パートナーの Web サイトにあるドキュメントを参照してください。
組織のパートナー アカウントにユーザーを追加できるユーザーがいない場合 (パートナー アカウント管理者が利用できなくなった場合など) は、パートナーに連絡してサポートを依頼してください。サポート リンクについては、 Databricks Partner Connect パートナーの一覧を参照してください。
Unity Catalog で管理されるデータをパートナーソリューションに接続する
ワークスペースが Unity Catalog に対応している場合は、選択したパートナー ソリューションを Unity Catalog によって管理されるデータに接続できます。Partner Connectを使用して接続を作成する場合は、パートナーが従来のHive metastore (hive_metastore
) を使用するか、自分が所有する別のカタログを使用するかを選択できます。メタストア管理者は、ワークスペースに割り当てられているメタストア内の任意のカタログを選択できます。
パートナー ソリューションがUnity Catalog Partner Connectでの をサポートしていない場合は、ワークスペース デフォルト カタログのみを使用できます。デフォルト カタログが hive_metastore
されておらず、デフォルト カタログを所有していない場合は、エラーが表示されます。
Unity Catalog と Partner Connect をサポートするパートナーの一覧については、 Databricks Partner Connect パートナー の一覧を参照してください。
接続のトラブルシューティングに関する情報については、Partner Connectのトラブルシューティングを参照してください。
Manage サービスプリンシパル and personal access token
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、 Alteryx Designer Cloud, Precisely データ完全性 Suite | これらのソリューションには、サービスプリンシパルは必要ありません。 |
Hevo Data、 Hunters、 Rivery、 RudderStack、 Snowplow |
|
Prophecy |
|
John Snow Labs、Labelbox |
|
Alation、Anomalo、AtScale、Census、dbt Cloud、Hex、Hightouch、Lightup、Monte Carlo、Preset、Precisely、Privacera、Qlik Sense、Sigma、Stardog、ThoughtSpot |
|
Dataiku |
|
Alteryx Designer クラウド |
|
SuperAnnotate |
|
Informatica Cloud データ統合 |
|
既存のトークンが漏洩したり、紛失したり、削除されたりした場合、または組織で定期的にトークンをローテーションするポリシーがある場合は、新しいDatabricksパーソナルアクセストークンを生成する必要がある可能性があります。新しいトークンを生成するには、Databricks REST APIを使用します。
- Databricks サービスプリンシパルのアプリケーション ID を取得するには、ワークスペースの サービスプリンシパル API で
GET /preview/scim/v2/ServicePrincipals
操作を呼び出します。応答内のサービスプリンシパルのapplicationId
をメモします。 - サービスプリンシパルの
applicationId
を使用して、ワークスペースの Databricks トークン管理REST APIでPOST /token-management/on-behalf-of/tokens
操作を呼び出します。 - 応答内の
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 file と jq. この場合、.netrc
ファイルは、サービスプリンシパルの値 ではなく 、個人のアクセス トークン の値を使用することに注意してください 。
新しいトークンを作成したら、パートナーアカウントを新しいトークンの値で更新する必要があります。これを行うには、パートナーの Web サイトのドキュメントを参照してください。ドキュメントのリンクについては、該当するパートナー接続ガイドを参照してください。
既存のトークンを削除するには:
既存のDatabricksパーソナルアクセストークンの削除は永続的であり、元に戻すことはできません。
- ワークスペースのDatabricksトークン管理REST APIで
GET /token-management/tokens GET
オペレーションを呼び出して、既存のトークンのリストを取得します。 - 応答で、削除するトークンの
token_id
値をメモします。 - この
token_id
値を使用して、ワークスペースのDatabricksトークン管理REST APIのDELETE /token-management/tokens/{token_id}
オペレーションを呼び出してトークンを削除します。
パートナーとの接続を切断する
パートナーのタイルにチェック マーク アイコンが表示されている場合は、Databricks ワークスペース内の他のユーザーがそのパートナーへの接続を既に作成していることを意味します。そのパートナーから切断するには、Partner Connect でそのパートナーのタイルをリセットします。パートナーのタイルをリセットすると、次の処理が行われます。
- パートナーのタイルからチェックマークアイコンをクリアします。
- パートナーが必要とする場合、関連付けられたSQLウェアハウスまたはクラスターを削除します。
- 関連付けられた Databricks サービスプリンシパルを削除します (パートナーがサービスプリンシパルを必要とする場合)。 サービスプリンシパルを削除すると、そのサービスプリンシパルの関連する Databricks personal access トークンも削除されます。 このトークンの値は、ワークスペースとパートナー間の接続を完了するものです。詳細については、「 サービス プリンシパルと個人用アクセス トークンの管理」を参照してください。
SQLウェアハウス、クラスタリング、Databricks サービスプリンシパル、または Databricks サービスプリンシパルの個人用アクセス トークンの削除は永続的であり、元に戻すことはできません。
パートナーのタイルをリセットしても、組織の関連するパートナー アカウントは削除されず、パートナーとの関連する接続設定も変更されません。ただし、パートナーのタイルをリセットすると、ワークスペースと関連するパートナー アカウントとの間の接続が切断されます。再接続するには、ワークスペースからパートナーへの新しい接続を作成し、関連するパートナー アカウントの元の接続設定を手動で編集して、新しい接続設定と一致するようにする必要があります。
パートナーのタイルをリセットするには、タイルをクリックし、[ 接続の削除 ] をクリックして、画面の指示に従います。
または、 Databricks ワークスペースをパートナーから手動で切断するには、そのパートナーに関連付けられているワークスペース内の関連する Databricks サービスプリンシパルを削除します。 これは、ワークスペースをパートナーから切断するが、他の関連するリソースを保持し、タイルに表示されているチェック マーク アイコンを保持し続ける場合に行うことができます。サービスプリンシパルを削除すると、そのサービスプリンシパルの関連するパーソナルアクセストークンも削除されます。 このトークンの値は、ワークスペースとパートナー間の接続を完了するものです。詳細については、「 サービス プリンシパルと個人用アクセス トークンの管理」を参照してください。
Databricksサービスプリンシパルを削除するには、次のようにDatabricks REST APIを使用します。
- Databricks サービスプリンシパルのアプリケーション ID を取得するには、ワークスペースの サービスプリンシパル API で
GET /preview/scim/v2/ServicePrincipals
操作を呼び出します。応答内のサービスプリンシパルのapplicationId
をメモします。 - サービスプリンシパルの
applicationId
を使用して、ワークスペースのDELETE /preview/scim/v2/ServicePrincipals
サービスプリンシパル APIで操作を呼び出します。
たとえば、ワークスペースで使用可能なサービスプリンシパルの表示名とアプリケーション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
for your workspace)。<application-id>
をサービスプリンシパルのアプリケーション ID 値に置き換えます。
上記の例では、 .netrc file と jq. この場合、.netrc
ファイルは、サービスプリンシパルの値 ではなく 、個人のアクセス トークン の値を使用することに注意してください 。
ワークスペースをパートナーから切断した後、パートナーがワークスペースに作成した関連リソースをクリーンアップすることができます。 これには、 SQLウェアハウスやクラスター、および関連するデータストレージの場所が含まれる場合があります。 詳細については、「SQLウェアハウスへの接続」または「コンピュートの削除」を参照してください。
パートナーに接続されているワークスペースが組織全体にないことが確実な場合は、そのパートナーの組織のアカウントを削除することもできます。これを行うには、パートナーに連絡してサポートを求めてください。サポート リンクについては、該当するパートナー接続ガイドを参照してください。