Aller au contenu principal

Ajoutez des Ressources à une application Databricks

Vos applications Databricks peuvent s'intégrer à diverses fonctionnalités de la plateforme Databricks, telles que Databricks SQL pour interroger des données, Lakeflow Jobs pour l'ingestion et le traitement des données, Model Serving pour accéder aux modèles d'IA générative, et les secrets Databricks pour la gestion des informations sensibles. Dans le contexte des applications, ces fonctionnalités de la plateforme sont appelées des Ressources .

Pourquoi utiliser les ressources ?

Pour garantir la portabilité et la sécurité des applications, évitez de coder en dur les identifiants de ressources. Par exemple, au lieu d’intégrer un ID SQL Warehouse fixe dans le code de votre application, configurez le SQL Warehouse en tant que Ressource via l’interface utilisateur de Databricks Apps.

L'utilisation de Ressources Databricks Apps au lieu d'appels d'API directs présente plusieurs avantages :

  • Gère automatiquement les informations d'identification et les autorisations, ce qui élimine la gestion manuelle des jetons dans votre code.
  • Gère automatiquement les chemins de Ressources, les Endpoint et les détails de connexion.
  • Fournit un accès sécurisé et géré au lieu de nécessiter des identifiants autogérés pour les appels directs à l'API.
  • Maintient les applications portables entre les environnements sans modifications du code.

Types de ressources pris en charge

Le tableau suivant répertorie tous les types de ressources que vous pouvez ajouter à votre application Databricks :

Type de ressource

Description

Clé de ressource default

Autorisations disponibles

Application Databricks

Communication d'application à application et invocation

app

  • Utilisation autorisée

Genie Agent

Interface d'analytique alimentée par l'IA pour les requêtes en langage naturel

genie-space

  • Consultation autorisée
  • Exécution autorisée
  • Modification autorisée
  • Gestion autorisée

Base de données Lakebase

Base de données PostgreSQL pour le stockage et la query de données

postgres (Lakebase Autoscaling), database (Lakebase provisionnée)

  • Peut se connecter et créer

LakeFlow Job

Workflows d'ingestion et de traitement des données

job

  • Consultation autorisée
  • Gestion des exécutions autorisée
  • Gestion autorisée

Expérimentations MLflow

Observabilité, évaluation et suivi des expérimentations d'applications IA

experiment

  • Peut lire
  • Modification autorisée
  • Gestion autorisée

Endpoint de service de modèle

Déploiement de modèles de machine learning pour les requêtes d'inférence

serving-endpoint

  • Consultation autorisée
  • Peut saisir une query
  • Gestion autorisée

Secret

Stockage sécurisé pour les valeurs sensibles comme les clés API et les jetons

secret

  • Peut lire
  • Peut écrire
  • Gestion autorisée

SQL Warehouse

Ressources de compute pour l’exécution de requêtes SQL

sql-warehouse

  • Utilisation autorisée
  • Gestion autorisée

Connexion Unity Catalog

Connexions gérées à des sources de données externes

connection

  • Utiliser la connexion

Table Unity Catalog

Stockage de données structurées avec contrôle d'accès granulaire.

table

  • Sélectionner
  • Modifier

Fonction définie par l'utilisateur

Fonctions SQL et Python enregistrées dans Unity Catalog

function

  • Peut exécuter

Volume Unity Catalog

Stockage de fichiers dans Unity Catalog pour les artefacts d'application et les données.

volume

  • Peut lire
  • Peut lire et écrire

Index de recherche IA

Recherche sémantique et récupération basée sur la similarité à partir d'intégrations vectorielles

vector-search-index

  • Peut sélectionner

Type de ressource

Description

Clé de ressource default

Autorisations disponibles

Application Databricks

Communication d'application à application et invocation

app

  • Utilisation autorisée

Genie Agent

Interface d'analytique alimentée par l'IA pour les requêtes en langage naturel

genie-space

  • Consultation autorisée
  • Exécution autorisée
  • Modification autorisée
  • Gestion autorisée

Base de données Lakebase

Base de données PostgreSQL pour le stockage et la query de données

postgres (Lakebase Autoscaling), database (Lakebase provisionnée)

  • Peut se connecter et créer

LakeFlow Job

Workflows d'ingestion et de traitement des données

job

  • Consultation autorisée
  • Gestion des exécutions autorisée
  • Gestion autorisée

Expérimentations MLflow

Observabilité, évaluation et suivi des expérimentations d'applications IA

experiment

  • Peut lire
  • Modification autorisée
  • Gestion autorisée

Endpoint de service de modèle

Déploiement de modèles de machine learning pour les requêtes d'inférence

serving-endpoint

  • Consultation autorisée
  • Peut saisir une query
  • Gestion autorisée

Secret

Stockage sécurisé pour les valeurs sensibles comme les clés API et les jetons

secret

  • Peut lire
  • Peut écrire
  • Gestion autorisée

SQL Warehouse

Ressources de compute pour l’exécution de requêtes SQL

sql-warehouse

  • Utilisation autorisée
  • Gestion autorisée

Connexion Unity Catalog

Connexions gérées à des sources de données externes

connection

  • Utiliser la connexion

Table Unity Catalog

Stockage de données structurées avec contrôle d'accès granulaire.

table

  • Sélectionner
  • Modifier

Fonction définie par l'utilisateur

Fonctions SQL et Python enregistrées dans Unity Catalog

function

  • Peut exécuter

Volume Unity Catalog

Stockage de fichiers dans Unity Catalog pour les artefacts d'application et les données.

volume

  • Peut lire
  • Peut lire et écrire

Index de recherche IA

Recherche sémantique et récupération basée sur la similarité à partir d'intégrations vectorielles

vector-search-index

  • Peut sélectionner

Prérequis

Pour ajouter une ressource à une application, les conditions suivantes doivent être remplies :

  • La ressource doit exister.
  • L'utilisateur qui ajoute la ressource doit disposer de l'autorisation Can manage sur la ressource et l'application.

Les applications s'exécutent avec un privilège minimal et s'appuient sur les Ressources existantes au sein de la plateforme Databricks. Une fois déployé, le Service Principal de l'application accède à ces Ressources et doit disposer des autorisations nécessaires, telles que l'accès au niveau de la table pour les queries SQL ou l'accès en lecture aux secrets. Voir Configurer l'autorisation dans une application Databricks.

Configurez les Ressources de votre application

Les ressources permettent à votre application de se connecter en toute sécurité aux services dont elle dépend, sans coder en dur des valeurs sensibles ou spécifiques à l’environnement.

Ajoutez des Ressources directement dans l'interface utilisateur de Databricks Apps lorsque vous créez ou modifiez une application.

  1. Dans la section Ressources d'application lorsque vous créez ou modifiez une application, cliquez sur + Ajouter une ressource .
  2. Sélectionnez le type de ressource que vous souhaitez ajouter.
  3. Définissez les autorisations du Service Principal de l'application sur la Ressource.
  4. Attribuez une clé à la Ressource, et référencez cette clé dans votre fichier app.yaml.

Ajout d’un SQL Warehouse en tant que ressource d’application dans l’interface utilisateur

remarque

Si vous définissez votre application à l'aide de Declarative Automation Bundles, vous spécifiez les ressources en YAML dans le cadre de votre configuration de bundle au lieu d'utiliser l'interface utilisateur. Consultez app.resources.

Gérer l'accès de l'application aux Ressources

Chaque application possède un Service Principal dédié. Veuillez suivre ces bonnes pratiques pour gérer l'accès en toute sécurité.

  • Utilisez le Service Principal de l'application pour l'authentification. Ne codez jamais en dur les jetons d'accès personnels (PAT) dans votre code. Les identifiants d'accès sont automatiquement injectés en tant que variables d'environnement :

    • DATABRICKS_CLIENT_ID
    • DATABRICKS_CLIENT_SECRET
  • Ne partagez pas les informations d'identification du Service Principal entre les applications ou entre les utilisateurs. Chaque application devrait utiliser ses propres identifiants dédiés pour l'isolation et la sécurité.

  • Appliquez l’accès au moindre privilège. N'accordez que les autorisations minimales requises au Service Principal de l'application. Par exemple :

    • Accordez CAN USE sur un SQL warehouse si l'application n'a besoin que d'exécuter des queries.
    • Accordez CAN QUERY sur un endpoint de service si l'application n'envoie que des requêtes d'inférence.
    • Accordez SELECT ou MODIFY sur les tables Unity Catalog selon les besoins d’accès aux données de l’application.

Étapes suivantes

Après avoir ajouté des ressources à votre application, référencez ces ressources dans la section env de la configuration de votre application à l'aide du champ valueFrom. Pour les instructions, consultez Définir des variables d'environnement dans une application Databricks. Pour une référence qui indique la valeur à laquelle valueFrom est résolu pour chaque type de ressource, consultez la référencevalueFrom.