Partager via


Bibliothèque de client Azure Key Vault Administration pour JavaScript - version 4.5.0

Azure Key Vault HSM managé est un service cloud entièrement managé, hautement disponible, monolocataire et conforme aux normes qui vous permet de protéger les clés de chiffrement pour vos applications cloud à l’aide de HSM validés FIPS 140-2 De niveau 3. Si vous souhaitez en savoir plus sur Azure Key Vault HSM managé, vous pouvez consulter : Qu’est-ce qu’Azure Key Vault HSM managé ?

Le package @azure/keyvault-admin prend en charge les tâches d’administration Key Vault telles que la sauvegarde/restauration complète et le contrôle d’accès en fonction du rôle (RBAC) au niveau de la clé.

Remarque : La bibliothèque d’administration fonctionne uniquement avec Azure Key Vault HSM managé . Les fonctions ciblant un Key Vault échouent.

Remarque : Ce package ne peut pas être utilisé dans le navigateur en raison des limitations du service Azure Key Vault. Reportez-vous à ce document pour obtenir des conseils.

Liens clés :

Prise en main

Installer le package

Installez la bibliothèque cliente d’administration Azure Key Vault pour JavaScript et TypeScript avec NPM :

npm install @azure/keyvault-admin

Configurer TypeScript

Les utilisateurs TypeScript doivent avoir des définitions de type node installées :

npm install @types/node

Vous devez également activer compilerOptions.allowSyntheticDefaultImports dans votre tsconfig.json. Notez que si vous avez activé compilerOptions.esModuleInterop, allowSyntheticDefaultImports est activé par défaut. Pour plus d’informations, consultez le manuel des options du compilateur de TypeScript .

Environnements actuellement pris en charge

Prérequis

Authentifier le client

Pour interagir avec le service Azure Key Vault, vous devez créer une instance de la classe ou de la KeyVaultAccessControlClientKeyVaultBackupClient classe , ainsi qu’une URL de coffre (que vous pouvez voir sous le nom « Nom DNS » dans le portail Azure) et un objet d’informations d’identification. Les exemples présentés dans ce document utilisent un objet d’informations d’identification nommé DefaultAzureCredential, qui convient à la plupart des scénarios, notamment aux environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une identité managée pour l’authentification dans les environnements de production.

Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity.

Créer KeyVaultAccessControlClient

Une fois que vous vous êtes authentifié avec la méthode d’authentification qui vous convient le mieux, vous pouvez créer un KeyVaultAccessControlClient comme suit, en remplaçant dans votre URL HSM managée dans le constructeur :

const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultAccessControlClient } = require("@azure/keyvault-admin");

const credentials = new DefaultAzureCredential();

const client = new KeyVaultAccessControlClient(`<your Managed HSM URL>`, credentials);

Créer KeyVaultBackupClient

Une fois que vous vous êtes authentifié avec la méthode d’authentification qui vous convient le mieux, vous pouvez créer un KeyVaultBackupClient comme suit, en remplaçant dans votre URL HSM managée dans le constructeur :

const { DefaultAzureCredential } = require("@azure/identity");
const { KeyVaultBackupClient } = require("@azure/keyvault-admin");

const credentials = new DefaultAzureCredential();

const client = new KeyVaultBackupClient(`<your Managed HSM URL>`, credentials);

Concepts clés

KeyVaultRoleDefinition

Une définition de rôle est une collection d’autorisations. Une définition de rôle définit les opérations qui peuvent être effectuées, telles que la lecture, l’écriture et la suppression. Il peut également définir les opérations qui sont exclues des opérations autorisées.

Les définitions de rôle peuvent être répertoriées et spécifiées dans le cadre d’un KeyVaultRoleAssignment.

KeyVaultRoleAssignment

Une attribution de rôle est l’association d’une définition de rôle à un principal de service. Ils peuvent être créés, listés, extraits individuellement et supprimés.

KeyVaultAccessControlClient

Un KeyVaultAccessControlClient fournit des opérations permettant de gérer les définitions de rôles (instances de KeyVaultRoleDefinition) et les attributions de rôles (instances de KeyVaultRoleAssignment).

KeyVaultBackupClient

Un KeyVaultBackupClient fournit des opérations pour effectuer des sauvegardes de clés complètes, des restaurations de clés complètes et des restaurations de clés sélectives.

Opérations de longue durée

Les opérations effectuées par le KeyVaultBackupClient peuvent prendre autant de temps que nécessaire aux ressources Azure, ce qui nécessite qu’une couche client assure le suivi, la sérialisation et la reprise des opérations tout au long du cycle de vie des programmes qui attendent leur fin. Cela s’effectue via une abstraction commune via le package @azure/core-lro.

Offre KeyVaultBackupClient trois méthodes qui exécutent des opérations de longue durée :

  • beginBackup, commence à générer une sauvegarde d’un HSM managé Azure Key Vault sur le compte d’objet blob de stockage spécifié.
  • beginRestore, commence la restauration de tous les documents clés à l’aide du jeton SAS pointant vers un dossier de sauvegarde stockage Blob Azure précédemment stocké.
  • beginSelectiveRestore, commence à restaurer toutes les versions de clé d’une clé donnée à l’aide d’un jeton SAP fourni par l’utilisateur pointant vers un dossier de sauvegarde stockage Blob Azure précédemment stocké.

Les méthodes qui commencent des opérations de longue durée retournent un pollueur qui vous permet d’attendre indéfiniment jusqu’à ce que l’opération soit terminée. Vous trouverez plus d’informations dans les exemples ci-dessous.

Exemples

Nous avons des exemples en JavaScript et TypeScript qui montrent les fonctionnalités de contrôle d’accès et de sauvegarde/restauration dans ce package. Suivez les lisez-moi correspondants pour obtenir des étapes détaillées pour exécuter les exemples.

Dépannage

Consultez notre guide de résolution des problèmes pour plus d’informations sur la façon de diagnostiquer différents scénarios d’échec.

L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans @azure/logger :

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Étapes suivantes

Vous trouverez d’autres exemples de code via les liens suivants :

Contribution

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.

Impressions