ベアラートークンを使用して、Databricks を使用しないユーザー向けの受信者オブジェクトを作成する(Databricks-to-Open Sharing)

このページでは、Unityカタログ対応のDatabricksワークスペースにアクセスできないOpenSharing受信者を作成し、ベアラートークンを使って安全に共有されたデータへのアクセスをその受信者に付与する方法を説明します。 この認証フローは、Open ID Connect(OIDC)トークンフェデレーション認証フローとともにオープン シェアリングと呼ばれます。

その仕組みを次に示します。

  1. データ プロバイダーとして、Unity カタログ メタストアに受信者オブジェクトを作成します。

  2. 受信オブジェクトを作成する際にベアラートークンメソッドを選択すると、Azure Databricksはトークンとそのトークンを含む認証情報を生成します。 その後、Azure Databricksが受信者にメールを送るか、認証情報をアクティベーションリンクを使って手動で共有するかを選びます。

    受信者オブジェクトの認証の種類は TOKEN。 必要に応じて、トークンを更新および取り消すことができます。

  3. 受信者はアクティベーションリンクまたはメールから認証情報ファイルをダウンロードします。 認証情報ファイルを使って認証し、共有データへの読み取りアクセスを得ます。

OIDCフェデレーションフローは、このページで説明するベアラートークンフローの代替手段です。 しかし、メールで受信者にアクセス権を与えることはできません。 詳細については、「 OpenSharing 受信者の Open ID Connect (OIDC) フェデレーションを有効にする」を参照してください。

Important

2025 年 12 月 8 日より前に発行された、有効期限が 2026 年 12 月 8 日以降、または有効期限のない Databricks から Open への共有のすべての受信者トークンは、2026 年 12 月 8 日に自動的に期限切れになります。 現在、有効期間が長いまたは無制限の受信者トークンを使用している場合は、統合を確認し、必要に応じてトークンを更新して、この日付以降の破壊的変更を回避します。

受信者を作成する

Databricks から開く共有の受信者を作成するには、カタログ エクスプローラー、Databricks Unity カタログ CLI、または Azure Databricks ノートブックまたは Databricks SQL クエリ エディターの CREATE RECIPIENT SQL コマンドを使用できます。 REST APIで受信者を作成するには、メール受信者も含めて、「REST API参照で 受信者を作成する 」をご覧ください。

必要なアクセス許可: 共有するデータが登録されている Unity カタログ メタストアの CREATE RECIPIENT 特権を持つメタストア管理者またはユーザー。

カタログ エクスプローラー

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックします。

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

  3. [自分と共有] タブで、[新しい受信者] をクリックします。

  4. 受取人が自分のシェアにアクセスする方法を選びましょう:

    • メールによる共有 (ベータ):これは受信者にメールを送信し、認証情報ファイルをダウンロードして共有データを読む方法です。 詳細や制限については メール共有 をご覧ください。

      1. 受取人の名前とメールアドレスを入力してください。
      2. このシェアの利用方法を設定するには、「Any supported OpenSharing client」または「Limit to Token recipients」を選択してください。 サポートされているOpenSharingクライアントは、受信者が認証情報ファイルをダウンロードし、Azure Databricks上の共有にアクセスできるようにします。
      3. トークンの寿命はデフォルトでメタストアの設定に適用されます。 受信者トークンの有効期間の変更を参照してください。

      Note

      メールで共有する場合、 共有アクセスを許可することで 招待が送信されます。 OpenSharingは、認証情報ファイルをダウンロードするための安全なアクティベーションリンクを受信者にメールで送ります。 認証情報ファイルは受信者が一度だけダウンロードできます。

    • 共有識別子を使って共有する:これにより認証情報ファイルが生成され、受信者と手動で共有する必要があります。

      1. 受信者名を入力します。

      2. [Open] を選択します。

      3. (任意) トークンの有効 期限(受取人作成時から秒、分、時間、または日数)を設定します。 有効期限を設定するには、[有効期限の設定] をオンのままにします。 トークンは、作成後最大 1 年間有効です。

        [有効期限の 設定 ] を選択し、フィールドを空白のままにした場合、トークンの有効期間は、メタストア構成で設定された受信者トークンの有効期間の値に既定で設定されます。 受信者トークンの有効期間の変更を参照してください。 トークンの有効期間の変更とトークンの交換については、「 受信者トークンの管理」を参照してください。

      4. (任意)受取人の説明を入力してください。

  5. Create をクリックしてください。

  6. メール共有を使わなかった場合は、アクティベーションリンクをコピーしてください。

    または、後でアクティブ化リンクを取得することもできます。 「 受信者の接続情報を送信する」を参照してください。

  7. (省略可能) カスタムの受信者のプロパティを作成します。

    受信者の「概要」タブで、「受信者のプロパティ」の横にある「編集」アイコンをクリックします。 次に、プロパティ名 (キー) と値を追加します。 詳細については、「受信者のプロパティを管理する」を参照してください。

SQL

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];

受信者のカスタム プロパティを追加することもできます。 詳細については、「受信者のプロパティを管理する」を参照してください。

CLI

Databricks CLI を使用して次のコマンドを実行します。

databricks recipients create <recipient-name>

受信者のカスタム プロパティを追加することもできます。 詳細については、「受信者のプロパティを管理する」を参照してください。

出力には、受信者と共有する activation_url が含まれます。

受信者は、authentication_type の TOKEN で作成されます。

Note

受信者を作成するときに、受信者のアクセスを制限された IP アドレスのセットに制限するオプションがあります。 既存の受信者に IP アクセス リストを追加することもできます。 IP アクセス リストを使用した OpenSharing 受信者アクセスの制限 (Databricks から Open への共有) を参照してください。

受信者に認証情報ファイルをダウンロードし、共有データにアクセスするよう指示します。

受信者は認証情報ファイルをダウンロードできるのは一度だけです。 ダウンロードした認証情報は秘密として扱い、組織外に共有してはなりません。 資格情報が安全でない方法で処理されている可能性が懸念される場合は、 受信者の資格情報をいつでもローテーション できます。 セキュリティで保護された受信者アクセスを確保するための資格情報の管理の詳細については、「 トークンのセキュリティに関する考慮事項」を参照してください。

メールで送信

Important

この機能は ベータ版です。 利用するには、プロバイダーのアカウント管理者がアカウントコンソールのプレビューページからメールでOpenSharingを有効にする必要があります。 アカウント レベルのプレビューの管理を参照してください。

受信者はメールから認証情報ファイルにアクセスし、ダウンロードできます。 メール 共有の制限を参照してください。

共有識別子を使って送信する

アクティベーションリンクと 使用方法へのリンクを共有するには安全なチャネルを使ってください。

アクティベーションリンクにアクセスする場合は、カタログエクスプローラー、DatabricksのUnity Catalog CLI、またはAzure DatabricksノートブックのDESCRIBE RECIPIENT SQLコマンド、またはDatabricksのSQLクエリエディターを使用できます。

受信者が既に資格情報ファイルをダウンロードしている場合、アクティブ化リンクは返されず、表示もされません。

必要なアクセス許可: メタストア管理者、 USE RECIPIENT 特権を持つユーザー、または受信者オブジェクトの所有者。

カタログ エクスプローラー

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックします。

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

  3. [自分と共有] タブで、[受信者] をクリックし、受信者を選択します。

  4. 受信者の詳細ページで、[ アクティブ化] リンクをコピーします。

SQL

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

DESCRIBE RECIPIENT <recipient-name>;

出力には、 activation_linkが含まれます。

CLI

Databricks CLI を使用して次のコマンドを実行します。

databricks recipients get <recipient-name>

出力には、 activation_urlが含まれます。

受取人にシェアへのアクセスを許可する

受信者を作成し、 共有を作成したら、その共有へのアクセス権を受信者に付与できます。

共有へのアクセスを受信者に許可するには、カタログ エクスプローラーまたは Databricks Unity Catalog CLI を使用するか、Azure Databricks ノートブックまたは Databricks SQL クエリ エディターで GRANT ON SHARE SQL コマンドを使用できます。

必要なアクセス許可: 次のいずれか。

  • メタストア管理者。
  • 共有オブジェクトと受信者オブジェクトの両方に対する委任されたアクセス許可または所有権 ((USE SHARE + SET SHARE PERMISSION) または共有所有者) かつ (USE RECIPIENT または受信者所有者)。

手順については、「 OpenSharing データ共有へのアクセスの管理 (プロバイダー向け)」を参照してください。

受信者トークンを管理する

Databricks-to-Open 共有ベアラー トークン フローを使用して受信者とデータを共有している場合は、その受信者のトークンをローテーションすることが必要になる場合があります。 トークンのローテーションは、既存のトークンを期限切れに設定し、新しいトークンとアクティブ化 URL に置き換えることで構成されます。

次の状況では、受信者のトークンをローテーションし、新しいアクティブ化 URL を生成する必要があります。

  • 既存の受信者トークンの有効期限が切れようとしているとき。
  • 受信者がアクティブ化 URL を失った場合、または侵害された場合。
  • 受信者がダウンロードした後に資格情報が破損、紛失、または侵害された場合。
  • メタストアの受信者トークンの有効期間を変更する場合。 受信者トークンの有効期間の変更を参照してください。

トークンのセキュリティに関する考慮事項

受信者は、任意の時点で最大 2 つのトークン (アクティブ なトークンとローテーションされたトークン) を持つことができます。 ローテーションされたトークンは、有効期限が切れ、アクティブなトークンに置き換えられるよう設定されているトークンです。 ローテーションされたトークンの有効期限が切れるまで、トークンをもう一度ローテーションしようとするとエラーが発生します。

受信者のトークンを回転させる際、既存の受信トークン(回転対象トークン)が有効期限になるまでの秒数に --existing-token-expire-in-seconds を設定することも可能です。 値を 0 に設定すると、既存の受信者トークンはすぐに期限切れになります。

Databricks では、受信者が 2 つのアクティブなトークンを持つ時間を最小限に抑えながら、新しいアクティブ化 URL にアクセスする時間を受信者の組織に与える比較的短い期間に --existing-token-expire-in-seconds を設定することをお勧めします。 既存の受信者トークンが侵害されたと思われる場合は、Databricks では、すぐに期限切れにすることを強制することをお勧めします。

受信者の既存のアクティブ化 URL にアクセスしたことがない場合は、既存のトークンをローテーションすると、そのアクティブ化 URL が無効になり、新しいトークンに置き換えられます。

すべての受信者トークンの有効期限が切れている場合、トークンをローテーションすると、既存のアクティブ化 URL が新しい URL に置き換えられます。 Databricks では、トークンの有効期限が切れた受信者をすぐにローテーションまたはドロップすることをお勧めします。

受信者のアクティブ化 URL が誤って間違ったユーザーに送信された場合、または安全でないチャネル経由で送信された場合、Databricks では次のことをお勧めします。

  1. 共有への受信者のアクセス権を取り消します。
  2. 受信者を回転させ、 --existing-token-expire-in-seconds を 0に設定します。
  3. セキュリティで保護されたチャネルを介して、新しいアクティブ化 URL を目的の受信者と共有します。
  4. アクティブ化 URL にアクセスしたら、受信者に共有へのアクセス権をもう一度付与します。

極端な状況では、受信者のトークンをローテーションする代わりに、受信者を 削除 して再作成できます。

受信者のトークンをローテーションする

受信者のトークンをローテーションするには、カタログ エクスプローラーまたは Databricks Unity カタログ CLI を使用します。

必要なアクセス許可: 受信者オブジェクトの所有者。

Note

新しいアクティブ化リンクを共有した後、受信者は自分の側で新しい資格情報を適用する必要があります。 受信者が Unity カタログでプロバイダー オブジェクトとして資格情報をインポートした場合は、Databricks REST API を使用してプロバイダー オブジェクトを更新する必要があります。 公開されている受信者の資格情報を更新するを参照してください。

カタログ エクスプローラー

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックします。

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

  3. 左側のウィンドウで、[ OpenSharing ] メニューを展開し、[ 自分で共有] を選択します。

  4. [自分と共有] タブで、[受信者] をクリックし、受信者を選択します。

  5. 右端の列の [ トークン管理] の [ トークンの有効期限] の横にある [ ローテーション] をクリックします。

  6. [ トークンのローテーション ] ダイアログで、トークンの有効期限を直ちにまたは設定した期間に設定します。 既存のトークンを期限切れにするタイミングに関するアドバイスについては、 トークンのセキュリティに関する考慮事項を参照してください。

  7. 回転をクリックします。

  8. [ 詳細 ] タブで、新しい アクティブ化リンク をコピーし、セキュリティで保護されたチャネル経由で受信者と共有します。 「 受信者の接続情報を送信する」を参照してください。

CLI

  1. Databricks CLI を使用して次のコマンドを実行します。 プレースホルダー値を次のように置き換えます。

    • <recipient-name>: 受信者の名前。
    • <expiration-seconds>: 既存の受信者トークンの有効期限が切れるまでの秒数。 この期間中、既存のトークンは引き続き機能します。 0の値は、既存のトークンが直ちに期限切れになります。 既存のトークンを期限切れにするタイミングに関するアドバイスについては、 トークンのセキュリティに関する考慮事項を参照してください。
    databricks recipients rotate-token \
    <recipient-name> \
    <expiration-seconds>
    
  2. 受信者の新しいアクティブ化リンクを取得し、セキュリティで保護されたチャネル経由で受信者と共有します。 「 受信者の接続情報を送信する」を参照してください。

受信者トークンの有効期間を更新する

既存の受信者トークンの有効期間を更新するには、カタログ エクスプローラーを使用します。

必要なアクセス許可: 受信者オブジェクトの所有者。

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックします。

  2. [カタログ] ウィンドウの上部にある歯車アイコンをクリックします。歯車アイコンをクリックし、[OpenSharing] を選択します。

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

  3. 左側のウィンドウで、[ OpenSharing ] メニューを展開し、[ 自分で共有] を選択します。

  4. [自分と共有] タブで、[受信者] をクリックし、受信者を選択します。

  5. 右端の列の [ トークン管理] の [トークンの 有効期限] の横にある [ 更新] をクリックします。

  6. [ 受信者トークンの有効期間の編集 ] ダイアログで、新しいトークンの有効期間を設定します。 既存のトークンを期限切れにするタイミングに関するアドバイスについては、 トークンのセキュリティに関する考慮事項を参照してください。

  7. 保存 をクリックします。

受信者トークンの有効期間を変更する

Unity カタログ メタストアの既定の受信者トークンの有効期間を変更する必要がある場合は、カタログ エクスプローラーまたは Databricks Unity カタログ CLI を使用できます。

Note

メタストアの受信者トークンの既定の有効期間を変更しても、既存の受信者の受信者トークンの有効期間は、自動的に更新されません。 特定の受信者に新しいトークンの有効期間を適用するには、トークンをローテーションする必要があります。 受信者トークンの管理を参照してください。

必要なアクセス許可: アカウント管理者。

カタログ エクスプローラー

  1. アカウント コンソールにログインします。
  2. サイドバーで、[データ] アイコンをクリック します。カタログ。
  3. メタストアの名前をクリックします。
  4. OpenSharing 受信者トークンの有効期間で、[編集] をクリックします。
  5. [有効期限の設定] を有効にします。
  6. 秒、分、時間、または日の数を入力し、計算単位を選択します。 トークンは、作成後最大 1 年間有効です。
  7. 保存 をクリックします。

CLI

Databricks CLI を使用して次のコマンドを実行します。 12a345b6-7890-1cd2-3456-e789f0a12b34をメタストア UUID に置き換え、86400を受信者トークンの有効期限が切れるまでの秒数に置き換えます。 トークンは、作成後最大 1 年間有効です。

databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400

その他のリソース