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

Databricks アプリにリソースを追加する

Databricksアプリは、データのクエリのためのDatabricks SQL、データ取り込みと処理のためのLakeflowジョブ、生成AI モデルへのアクセスするためのMosaic AIモデルサービング、機密情報を管理するための シークレットなど、さまざまなDatabricks プラットフォーム機能と統合できます。アプリのコンテキストでは、これらのプラットフォーム機能は リソース と呼ばれます。

アプリの移植性と安全性を確保するには、リソース ID をハードコーディングしないでください。たとえば、固定のSQL ウェアハウス IDをapp.yamlファイルに埋め込む代わりに、Databricks Apps UI またはdatabricks.yamlでSQLウェアハウスをリソースとして構成します。

前提 条件

アプリにリソースを追加するには、次の条件を満たす必要があります。

  • リソースが存在する必要があります。
  • リソースを追加するユーザーは、リソースとアプリに対する CAN MANAGE 権限を持っている必要があります。

アプリは最小限の特権で実行され、Databricks プラットフォーム内の既存のリソースに依存します。デプロイされると、アプリのサービスプリンシパルはこれらのリソースにアクセスし、 SQL クエリのテーブルレベルのアクセスやシークレットへの読み取りアクセスなど、必要なアクセス許可を持っている必要があります。 「Databricks アプリでの承認の構成」を参照してください。

アプリのリソースを構成する

リソースを使用すると、アプリは、機密性の高い値や環境固有の値をハードコーディングすることなく、依存するサービスに安全に接続できます。

ほとんどのリソースは、アプリを作成または編集するときに 、アプリの UI に直接追加します。

App リソース セクションで、 + リソースの追加 をクリックし、使用するリソースの種類を選択します。各リソースにキーを割り当て、 app.yaml ファイルで参照します。

UI での SQLウェアハウスのアプリ リソースとしての追加

リソースへのアプリのアクセスを管理する

各アプリには専用の サービスプリンシパルがあります。 これらのベスト プラクティスに従って、アクセスを安全に管理します。

  • 認証には、アプリのサービスプリンシパルを使用します。 コードにパーソナル アクセス トークン (PAT) をハードコーディングしないでください。アクセス資格情報は、環境変数として自動的に挿入されます。

    • CLIENT_ID
    • CLIENT_SECRET
  • サービスプリンシパルの資格情報をアプリ間またはユーザー間で共有しないでください。 各アプリは、分離とセキュリティのために独自の専用資格情報を使用する必要があります。

  • 最小特権アクセスを適用します。アプリのサービスプリンシパルに対して最低限必要な権限のみを付与します。 例えば:

    • SQLウェアハウスでCAN USEを許可するのは、アプリがクエリを実行するだけでよい場合です。
    • アプリが推論リクエストのみを送信する場合は、配信エンドポイントで CAN QUERY を許可します。
    • アプリのデータ アクセスのニーズに基づいて、Unity Catalog テーブルで SELECT または MODIFY を許可します。

次のステップ

アプリにリソースを追加したら、アプリ設定の env セクションで valueFrom フィールドを使用してこれらのリソースを参照します。手順については、「 Databricks アプリで環境変数を定義する」を参照してください。