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 |
|---|---|---|---|
Communication d'application à application et invocation |
|
| |
Interface d'analytique alimentée par l'IA pour les requêtes en langage naturel |
|
| |
Base de données PostgreSQL pour le stockage et la query de données |
|
| |
Workflows d'ingestion et de traitement des données |
|
| |
Observabilité, évaluation et suivi des expérimentations d'applications IA |
|
| |
Déploiement de modèles de machine learning pour les requêtes d'inférence |
|
| |
Stockage sécurisé pour les valeurs sensibles comme les clés API et les jetons |
|
| |
Ressources de compute pour l’exécution de requêtes SQL |
|
| |
Connexions gérées à des sources de données externes |
|
| |
Stockage de données structurées avec contrôle d'accès granulaire. |
|
| |
Fonctions SQL et Python enregistrées dans Unity Catalog |
|
| |
Stockage de fichiers dans Unity Catalog pour les artefacts d'application et les données. |
|
| |
Recherche sémantique et récupération basée sur la similarité à partir d'intégrations vectorielles |
|
|
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 managesur 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.
- Dans la section Ressources d'application lorsque vous créez ou modifiez une application, cliquez sur + Ajouter une ressource .
- Sélectionnez le type de ressource que vous souhaitez ajouter.
- Définissez les autorisations du Service Principal de l'application sur la Ressource.
- Attribuez une clé à la Ressource, et référencez cette clé dans votre fichier
app.yaml.

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_IDDATABRICKS_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 USEsur un SQL warehouse si l'application n'a besoin que d'exécuter des queries. - Accordez
CAN QUERYsur un endpoint de service si l'application n'envoie que des requêtes d'inférence. - Accordez
SELECTouMODIFYsur les tables Unity Catalog selon les besoins d’accès aux données de l’application.
- Accordez
É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.