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, Alteryx Designer クラウド, 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 デザイナー クラウド |
|
スーパーアノテート |
|
Informatica クラウド データ統合 |
|
既存のトークンが漏洩したり、紛失したり、削除されたりした場合、または組織で定期的にトークンをローテーションするポリシーがある場合は、新しいDatabricksパーソナルアクセストークンを生成する必要がある可能性があります。新しいトークンを生成するには、Databricks REST APIを使用します。
ワークスペースのワークスペースサービスプリンシパルAPIで
GET /preview/scim/v2/ServicePrincipals
オペレーションを呼び出して、 DatabricksサービスプリンシパルのアプリケーションIDを取得します。応答中のサービスプリンシパルの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 ファイルと 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 個人用アクセストークンも削除されます。 このトークンの値は、ワークスペースとパートナー間の接続を完了するものです。 詳細については、「 サービスプリンシパルと個人用アクセストークンの管理」を参照してください。
警告
SQLウェアハウス、クラスター、Databricksサービスプリンシパル、またはDatabricksサービスプリンシパルの個人用アクセストークンの削除は永続的であり、元に戻すことはできません。
パートナーのタイルをリセットしても、組織の関連パートナーアカウントは削除されず、パートナーとの関連する接続設定も変更されません。ただし、パートナーのタイルをリセットすると、ワークスペースと関連するパートナーアカウントとの接続が切断されます。再接続するには、ワークスペースからパートナーへの新しい接続を作成し、関連するパートナーアカウントの元の接続設定を新しい接続設定と一致するように手動で編集する必要があります。
パートナーのタイルをリセットするには、タイルをクリックし、 [接続を削除]をクリックして、画面上の指示に従います。
または、パートナーに関連付けられているワークスペース内の関連する Databricks サービスプリンシパルを削除することで、パートナーから Databricks ワークスペースを手動で切断することもできます。 ワークスペースをパートナーから切断するが、他の関連リソースを保持し、タイルに表示されるチェック マーク アイコンを保持する場合は、これを行うことができます。 サービスプリンシパルを削除すると、そのサービスプリンシパルの関連する個人用アクセストークンも削除されます。 このトークンの値は、ワークスペースとパートナー間の接続を完了するものです。 詳細については、「 サービスプリンシパルと個人用アクセストークンの管理」を参照してください。
Databricksサービスプリンシパルを削除するには、次のようにDatabricks REST APIを使用します。
ワークスペースのワークスペースサービスプリンシパルAPIで
GET /preview/scim/v2/ServicePrincipals
オペレーションを呼び出して、 DatabricksサービスプリンシパルのアプリケーションIDを取得します。応答中のサービスプリンシパルの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
など)。<application-id>
をサービスプリンシパルのアプリケーションIDに置き換えます。
上記の例では、 .netrc ファイルと jq。 この場合、.netrc
ファイルは、サービスプリンシパルの値ではなく、個人用アクセストークン値を使用することに注意してください。
ワークスペースをパートナーから切断した後、パートナーがワークスペースに作成した関連リソースをクリーンアップすることができます。 これには、 SQL、ウェアハウス、クラスター、および関連するデータ ストレージの場所が含まれる場合があります。 詳細については、「SQLウェアハウスに接続する」または「コンピュートを削除する」を参照してください。
パートナーに接続しているワークスペースが組織内にないことを確認している場合は、そのパートナーの組織アカウントを削除することもできます。これを行うには、パートナーに問い合わせてください。サポートリンクについては、該当するパートナー接続ガイドを参照してください。