メインコンテンツまでスキップ

アクセスリクエストを管理する

備考

プレビュー

この機能は パブリック プレビュー段階です。

アクセスリクエスト (RFA) 機能を使用すると、ユーザーは Unity Catalog のセキュリティ保護可能なオブジェクトに対する権限をリクエストできます。このページでは、管理者としてアクセスリクエストの宛先を構成する方法について説明します。これらの宛先によって、ユーザーがデータオブジェクトへのアクセスをリクエストしたときに、アクセスリクエストの送信先が決定されます。

アクセス要求の宛先とは

ユーザーが Unity Catalog 内のオブジェクト (テーブルやビューなど) へのアクセスを要求すると、要求は 1 つ以上の構成された宛先に送信されます。宛先は、次のいずれかになります。

  • メールアドレス

  • Slack チャンネル

  • Microsoft Teams チャンネル

  • Webhook エンドポイント

  • リダイレクト URL (組織の外部アクセス要求システムへ)

    オブジェクトごとに設定できるリダイレクト URL は 1 つだけです。URL が設定されている場合、他の宛先は設定できず、製品内のリクエストフォームが表示される代わりに、ユーザーはその URL にリダイレクトされます。

Databricks で作業している場所から直接権限をリクエスト

接続先が構成されると、ユーザーはカタログエクスプローラー、SQLエディターとノートブック、AI/BIダッシュボード、Genieスペースなどの製品内画面から権限をリクエストできます。

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

BROWSE権限を持つユーザーは、カタログツリーをナビゲートしたり、オブジェクトのページを開いたり、そこから追加の権限(SELECTなど)をリクエストできます。ユーザーは、オブジェクトのページへの直接URLを受け取ることもでき、BROWSEがなくても同じ画面からアクセスをリクエストできます。

アクセス要求の機能が付いた Catalog Explorer オブジェクトページ。

SQL エディタ、ノートブック、その他の編集画面

クエリーまたはコマンドがINSUFFICIENT_PERMISSIONS エラーで失敗した場合、エラーメッセージには、参照テーブルを使用してリクエストを事前入力する**アクセスをリクエスト**オプションが含まれています。SQL エディタやノートブックを含む、エラーが発生するあらゆる場所で機能します。

SQLクエリーがINSUFFICIENT_PERMISSIONSエラーで失敗し、アクセス権のリクエストアフォーダンスが表示されています。

AI/BIダッシュボード

埋め込み認証情報なしでダッシュボードが実行され、閲覧者が読み取れないデータセットをウィジェットが参照している場合、ウィジェットには不足しているデータセットに対して**アクセスをリクエスト**のモーダルが表示されます。

不足しているデータセットへのアクセスリクエストを促すAI/BI dashboardウィジェット

Genieスペース

Genieスペースが、ユーザーにアクセス権限がないテーブルを参照している場合、そのスペースはPERMISSION_DENIEDバナーを表示し、アクセスできないテーブルに対して アクセスをリクエスト するモーダルを表示します。

アクセスできないテーブルが一覧表示されるアクセスリクエストモーダルがあるGenieスペース

アクセス要求の宛先のしくみ

Unity Catalogのほとんどのオブジェクトでアクセスリクエストの宛先を設定できます。これには、メタストア、カタログ、スキーマ、テーブル、ビュー、ボリューム、関数、モデル、ストレージ資格情報、サービス資格情報、外部ロケーション、接続などが含まれます。ユーザーは、BROWSE権限を持っている場合、またはオブジェクトへの直接URLがある場合、オブジェクトへのアクセスをリクエストできます。

リクエストを送信する際、ユーザーは1つ以上のプリンシパルへのアクセスをリクエストできます。これには、自身、サービスプリンシパル、他のユーザー、またはグループが含まれます。リクエストは設定された宛先にルーティングされます。オブジェクトに複数の宛先が設定されている場合、リクエストはそれらすべてに送信されます。

リダイレクトURLが設定されている場合、ユーザーはそのURLに移動し、アクセスリクエストフォームは表示されません。ワークスペース管理者は、通知の宛先を管理するの手順に従って、外部宛先を構成できます。

Databricksは、アクセスリクエスト (RFA) がメタストアレベルまたはワークスペースレベルで有効になっているかどうかに基づいて、アクセスリクエストのルーティング先を決定します。

アクセスリクエストの宛先解決の概要

宛先解決ロジック

メタストアレベルのアクセスリクエストが有効な場合、Databricks は特定のリクエストの宛先を次の順序で解決します:

  1. **オブジェクトレベルの明示的な宛先**: オブジェクトに明示的な宛先が設定されている場合、リクエストはそこに送信されます。
  2. オブジェクト所有者の Eメール:オブジェクトの所有者が個人ユーザーである場合は、リクエストは、その Eメールアドレスに送信されます。
  3. **親オブジェクトの宛先**: オブジェクトの所有者がグループまたはサービスプリンシパルである場合、Databricksはオブジェクト階層をたどり、最初に見つかった明示的な宛先を使用します。
  4. メタストアレベルの宛先: オブジェクト階層で宛先が見つからない場合、リクエストはメタストアレベルの宛先にフォールバックされます。メタストアレベルの宛先が設定されていない場合、ユーザーはそのオブジェクトへのアクセスをリクエストできません。メタストア全体のアクセスリクエストを有効にするを参照してください。

以下のフローチャートは、この順序を示します:

メタストアレベルの RFA が有効になっている場合の宛先解決ロジック

宛先継承動作

Unity Catalogオブジェクト階層の上位レベルで宛先を構成すると、宛先がまだ設定されていないすべての子オブジェクトにも適用されます。 たとえば、カタログに宛先を構成すると、この宛先は、すでに宛先が設定されているスキーマとオブジェクトを除き、カタログの下にあるすべてのスキーマとオブジェクトに継承されます。

アクセス要求の宛先継承の例

メタストア全体でアクセスリクエストを有効にする

Databricksは、メタストアレベルでアクセスリクエストを有効にすることをお勧めします。これにより、宛先が手動で設定されていない場合でも、アクセスリクエストが配信されます。有効にすると、カタログオブジェクトのリクエストはカタログ所有者のEメールアドレスに送信され、外部ロケーションなどのカタログ外のオブジェクトのリクエストは、オブジェクト所有者のEメールアドレスに送信されます。

メタストア全体のアクセスリクエストを構成するには、メタストア管理者である必要があります。

  1. ワークスペースの右上隅にあるプロフィール写真をクリックし、 設定 を選択します。
  2. ガバナンス タブをクリックします。
  3. **データ管理**タイルで、**アクセスリクエスト**の横にある編集アイコンをクリックします。
  4. 次のオプションを構成します:
  • メタストアのアクセス要求設定 :このオプションを有効にすると、所有者のEメールアドレスが各オブジェクトの宛先として自動的に構成されます。これは、明示的に設定された宛先がないオブジェクトにのみ適用されます。設定された宛先は、手動で変更できます。
  • メタストアレベルの宛先 :Eメールアドレス、Webhook、またはリダイレクト URL をメタストアレベルの宛先として設定できます。この宛先は、明示的に宛先が構成されていないすべての子オブジェクト(カタログ、スキーマ、テーブル、その他のセキュリティ保護可能なオブジェクト)に継承されます。
注記

以前 設定 > 通知 で利用可能だった UCのアクセス要求のデフォルトのEメール宛先を有効にする 設定は、非推奨となり、上記で説明したメタストアレベルの構成に置き換えられました。ワークスペースレベルのデフォルト設定を有効にした顧客は、動作に変更はありません。

オブジェクトへのアクセス要求の宛先を構成する

オブジェクトへのアクセス要求の宛先を構成するには、オブジェクトの所有者であるか、オブジェクトに対するMANAGE権限を持っているか、メタストア管理者である必要があります。

カタログエクスプローラ、REST API、または Terraform を使用して宛先を構成できます。

既存のオブジェクトの宛先を構成する

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。

  2. セキュリティ保護可能なオブジェクトを選択します。

  3. ケバブメニューのアイコン。ケバブメニューをクリックし、 アクセスリクエストの宛先の管理 を選択します。

  4. 1つ以上のEメールまたは外部の宛先を選択するか、リダイレクトURLを設定してください。URLが選択されている場合、他の宛先タイプは追加できません。

    アクセス要求の宛先を設定します。

  5. 更新 をクリックします。

カタログ作成時に宛先を設定する

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. クリックプラスアイコン。プラスアイコン。次に、 「カタログの作成」を クリックします。
  3. カタログの名前を入力し、 「カタログの作成」を クリックします。
  4. 次のモーダルで、 「カタログの構成」を クリックします。
  5. 「アクセス要求」 セクションで、必要に応じて宛先を追加、変更、または削除します。カタログ所有者の電子メールが宛先として自動的に含まれます。

新しいカタログのアクセス要求の宛先を構成します。

  1. 「次へ」 をクリックし、 「保存」 をクリックします。

宛先はUnity Catalogオブジェクト階層に継承されます。 アクセス要求の宛先を持つカタログ内にスキーマを作成する場合、 「新しいスキーマの作成 」モーダルに継承された宛先が表示されます。

新しいスキーマモーダルにリストされたアクセス要求の宛先

スキーマ上のこれらの宛先を変更するには、 「既存のオブジェクトの宛先を構成する」を参照してください。

アクセス要求の例

次のセクションでは、さまざまな宛先に送信されるアクセス要求の例を示します。

Eメール

アクセスリクエスト Eメールは noreply@databricks.comから送信されます。

Eメールの宛先へのアクセスをリクエストします。

Slack

Slack の宛先へのアクセスをリクエストします。

Webhook (JSON)

JSON
{
"requesterName": "<first-name> <last-name> (<email>)",
"objectName": "<catalog>.<schema>.<table>",
"objectType": "Table",
"privileges": "SELECT",
"principalName": "<group-name>",
"onBehalfOf": "<group-name>",
"onBehalfOfType": "Group",
"comment": "My team needs access to run queries on this table.",
"databricksWorkspaceUrl": "https:/<account>.databricks.com/explore/data/<catalog>/<schema>/<table>?o=<table-id>&activeTab=permissions&showGrantModal=true&requestedPrivileges=SELECT&groupId=<group-id>"
}

詳細については、Webhook を一般的なツールと統合する方法については、以下を参照してください。

組み込み権限検証

  • ユーザーがSELECTのような権限を要求すると、前提となる権限(USE CATALOGUSE SCHEMA)が自動的にチェックされます。
  • 前提条件が不足している場合、親オブジェクトの承認者に追加の要求がルーティングされます。
  • 検証は、他のユーザーまたはグループに代わって提出されたリクエストにも適用されます。

アクセス要求を承認する

アクセス要求を承認するには、アクセス要求通知に送信されたリンクをたどります。このリンクにより、ワークスペースにモーダル ダイアログが開き、リクエスタ、オブジェクト、および要求された権限が表示されます。

アクセスの要求を確認します。

次に、次のいずれかの承認方法を選択します。

  • グループにプリンシパルを追加 して、要求された権限の少なくとも 1 つを持つ 1 つ以上の既存のグループにリクエスタを追加します。

    グループを使用してアクセス要求を許可します。

  • オブジェクトに直接アクセスできるように、プリンシパルに権限を付与します。 データ閲覧者 などの特権プリセットを選択して、ユーザーに複数の特権を付与することもできます。

    権限を使用してアクセス要求を付与します。

すべてのアクセスリクエストと宛先設定の記録については、アクセスリクエストイベントを監査ログリファレンスで参照してください。