Partager via


Étendues des secrets

La gestion des secrets commence par la création d’une étendue de secrets. Une étendue de secrets est une collection de secrets identifiée par un nom. Pour accéder aux secrets à l’aide des utilitaires Databricks, consultez l’utilitaire Secrets (dbutils.secrets).

Un espace de travail est limité à un maximum de 1000 étendues de secrets. Si vos besoins sont plus élevés, contactez votre équipe du support technique Azure Databricks.

Remarque

Databricks recommande d’aligner les étendues secrètes sur des rôles ou des applications plutôt que sur des individus.

Vue d’ensemble

Il existe deux types d’étendues des secrets : Azure Key Vault et Databricks.

Étendues Azure Key Vault

Pour référencer des secrets stockés dans un Azure Key Vault, vous pouvez créer une étendue de secrets sauvegardée par Azure Key Vault. Vous pouvez ensuite tirer parti de tous les secrets de l’instance Key Vault correspondante à partir de cette étendue de secrets. Étant donné que l’étendue de secrets Azure Key Vault est une interface en lecture seule du Key Vault, les opérations PutSecret et DeleteSecret les API Secrets ne sont pas autorisées. Pour gérer les secrets dans Azure Key Vault, vous devez utiliser l’API REST Définir le secret Azure ou l’interface utilisateur du portail Azure.

Étendues Databricks

Une étendue de secrets Databricks est stockée dans (sauvegardée par) une base de données chiffrée appartenant à et gérée par Azure Databricks. Nom de l’étendue de secrets :

  • Doit être unique dans un espace de travail.
  • Doit être composé de caractères alphanumériques, de tirets, de traits de soulignement, de symboles @ et de points, et ne doit pas dépasser 128 caractères.

Les noms ne sont pas considérés comme sensibles et sont lisibles par tous les utilisateurs de l’espace de travail.

Vous créez une étendue de secrets Databricks à l’aide de l’interface CLI Databricks (version 0.205 et ultérieures). Vous pouvez également utiliser l’API Secrets.

Autorisations d’étendue

Les étendues sont créées avec des autorisations contrôlées par des listes de contrôle d'accès de secret. Par défaut, les étendues sont créées avec l’autorisation GÉRER pour l’utilisateur qui a créé l’étendue (le « créateur »), ce qui permet au créateur de lire les secrets dans l’étendue, d’écrire des secrets dans l’étendue et de modifier les listes de contrôle d’accès pour l’étendue. Si votre compte dispose du plan Premium, vous pouvez attribuer des autorisations précises à tout moment après avoir créé l’étendue. Pour plus d’informations, consultez Listes de contrôle d’accès aux secrets.

Vous pouvez également remplacer la valeur par défaut et accorder explicitement l’autorisation GÉRER à tous les utilisateurs quand vous créez l’étendue. En réalité, vous devez le faire si votre compte ne dispose pas du plan Premium.

Remarque

Les listes de contrôle d’accès de secret se trouvent au niveau de l’étendue. Si vous utilisez des étendues reposant sur Azure Key Vault, les utilisateurs auxquels l’accès est accordé ont accès à tous les secrets dans le Key Vault Azure. Pour restreindre l’accès, utilisez des instances distinctes de coffre de clés Azure.

Créer une étendue de secrets Azure Key Vault

Cette section explique comment créer une étendue de secrets basée sur Azure Key Vault en utilisant le portail Azure et l’interface utilisateur de l’espace de travail Azure Databricks. Vous pouvez aussi créer une étendue de secrets basée sur Azure Key Vault en utilisant l’interface CLI Databricks.

Spécifications

  • Vous devez disposer du rôle Contributeur, Contributeur ou Propriétaire de Key Vault sur l’instance Azure Key Vault que vous souhaitez utiliser pour sauvegarder la portée du secret.

    Si vous n’avez pas d’instance de coffre de clés, suivez les instructions dans Créer un coffre de clés à l’aide du portail Azure.

    Remarque

    La création d’une étendue de secrets Azure Key Vault nécessite le rôle Contributeur ou Propriétaire sur l’instance de coffre de clés Azure, même si le service Azure Databricks a déjà obtenu l’accès au coffre de clés.

    Si le coffre de clés existe dans un locataire différent de l’espace de travail Azure Databricks, l’utilisateur Azure AD qui crée l’étendue de secrets doit disposer de l’autorisation pour créer des principaux de service dans le locataire du coffre de clés. Sinon, l’erreur suivante s’affiche :

    Unable to grant read/list permission to Databricks service principal to KeyVault 'https://xxxxx.vault.azure.net/': Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"XXXXX","date":"YYYY-MM-DDTHH:MM:SS"}}
    

Configurer votre instance de coffre de clés Azure pour Azure Databricks

  1. Connectez-vous au Portail Azure, recherchez et sélectionnez l’instance du coffre de clés Azure.

  2. Sélectionnez l’onglet Configuration de l’accès sous Paramètres.

  3. Définissez Modèle d’autorisation sur Stratégie d’accès au coffre.

    Remarque

    La création d’un rôle d’étendue de secrets reposant sur Azure Key Vault accorde les autorisations Get et List à l’ID de l’application du service Azure Databricks à l’aide de stratégies d’accès au coffre de clés. Le modèle d’autorisation de contrôle d’accès en fonction du rôle Azure n’est pas actuellement pris en charge avec Azure Databricks.

  4. Sélectionnez l’onglet Réseau situé sous Paramètres.

  5. Dans Pare-feu et réseaux virtuels, définissez Autoriser l’accès à partir de : à Autoriser l’accès public à partir de réseaux virtuels spécifiques et des adresses IP.

    Sous Exception, cochez la case Autoriser les services Microsoft approuvés pour contourner ce pare-feu.

    Remarque

    Vous pouvez également définir Autoriser l’accès à partir de : sur Autoriser l’accès public à partir de tous les réseaux.

Créer une étendue de secrets Azure Key Vault

  1. Accédez à https://<databricks-instance>#secrets/createScope. Remplacez <databricks-instance> par l'URL de l'espace de travail de votre déploiement Azure Databricks. Cette URL respecte la casse (l’étendue dans createScope doit être en majuscules).

    Créer une étendue

  2. Entrez le nom de l’étendue de secrets. Les noms d’étendues de secrets ne respectent pas la casse.

  3. Utilisez la liste déroulante Gérer le principal pour spécifier si Tous les utilisateurs disposent de l’autorisation GÉRER pour cette étendue de secrets ou seulement le Créateur de l’étendue de secrets (c’est-à-dire vous-même).

    L’autorisation GÉRER permet aux utilisateurs de lire et d’écrire dans cette étendue de secrets et, dans le cas de comptes du plan Premium, de modifier les autorisations pour l’étendue.

    Votre compte doit disposer du plan Premium pour vous permettre de sélectionner Créateur. L’approche recommandée est la suivante : octroyez l’autorisation GÉRER au Créateur quand vous créez l’étendue de secrets, puis attribuez des autorisations d’accès plus granulaires après avoir testé l’étendue. Pour obtenir un exemple de workflow, consultez Exemple de workflow de secret.

    Si votre compte dispose du plan Standard, vous devez définir l’autorisation GÉRER sur le groupe « Tous les utilisateurs ». Si vous sélectionnez Créateur ici, un message d’erreur s’affiche lorsque vous essayez d’enregistrer l’étendue.

    Pour plus d’informations sur l’autorisation GÉRER, consultez Listes de contrôle d’accès aux secrets.

  4. Entrez le nom DNS (par exemple, https://databrickskv.vault.azure.net/) et l'ID de ressource, par exemple :

    /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/databricks-rg/providers/Microsoft.KeyVault/vaults/databricksKV
    

    Ces propriétés sont disponibles dans l’onglet Paramètres > Propriétés d’un Azure Key Vault dans votre Portail Azure.

  5. Cliquez sur le bouton Créer.

  6. Utilisez la commande Databricks CLI databricks secrets list-scopes pour vérifier que l’étendue a bien été créée.

Créer une étendue de secrets reposant sur Databricks

Les noms d’étendues de secrets ne respectent pas la casse.

Pour créer une étendue à l’aide de l’interface CLI Databricks :

databricks secrets create-scope <scope-name>

Par défaut, les étendues sont créées avec l’autorisation GÉRER pour l’utilisateur qui a créé l’étendue. Si votre compte ne dispose pas du plan Premium, vous devez remplacer cette valeur par défaut et octroyer explicitement l’autorisation GÉRER à « utilisateurs » (tous les utilisateurs) quand vous créez l’étendue :

databricks secrets create-scope <scope-name> --initial-manage-principal users

Vous pouvez également créer une étendue de secrets Databricks en utilisant l’API Secrets.

Si votre compte dispose du plan Premium, vous pouvez modifier les autorisations à tout moment après avoir créé l’étendue. Pour plus d’informations, consultez Listes de contrôle d’accès aux secrets.

Une fois que vous avez créé une étendue de secrets Databricks, vous pouvez ajouter des secrets.

Lister les étendues de secrets

Pour dresser la liste des étendues existantes dans un espace de travail à l’aide de l’interface CLI :

databricks secrets list-scopes

Vous pouvez également répertorier des étendues existantes en tirant parti de l’API Secrets.

Supprimer une étendue de secrets

La suppression d’une étendue de secrets entraîne la suppression de tous les secrets et ACL appliqués à l’étendue. Pour supprimer une étendue à l’aide de l’interface CLI, exécutez les opérations suivantes :

databricks secrets delete-scope <scope-name>

Vous pouvez également supprimer une étendue de secrets en tirant parti de l’API Secrets.