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
ではなく、デフォルトカタログを所有していない場合は、エラーが発生します。
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 Token Management 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
ファイルは、サービスプリンシパルの値 ではなく 、個人のアクセス トークン の値を使用することに注意してください 。
新しいトークンを作成した後、新しいトークンの値でパートナーアカウントを更新する必要があります。これを行うには、パートナーのウェブサイトにあるドキュメントを参照してください。ドキュメントのリンクについては、適切なパートナー接続ガイドを参照してください。
既存のトークンを削除するには:
既存の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
を使用して、ワークスペースのワークスペースサービスプリンシパルAPIでDELETE /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
for your workspace)。<application-id>
をサービスプリンシパルのアプリケーションIDに置き換えます。
上記の例では、 .netrc file と jq. この場合、.netrc
ファイルは、サービスプリンシパルの値 ではなく 、個人のアクセス トークン の値を使用することに注意してください 。
ワークスペースをパートナーから切断した後、パートナーがワークスペースに作成した関連リソースをクリーンアップすることができます。 これには、 SQLウェアハウスやクラスター、および関連するデータストレージの場所が含まれる場合があります。 詳細については、「SQLウェアハウスへの接続」または「コンピュートの削除」を参照してください。
パートナーに接続しているワークスペースが組織内にないことを確認している場合は、そのパートナーの組織アカウントを削除することもできます。これを行うには、パートナーに問い合わせてください。サポートリンクについては、該当するパートナー接続ガイドを参照してください。