Partager via


Bibliothèque cliente d’administration d’Azure Key Vault pour JavaScript - version 4.7.0

Azure Key Vault Managed HSM est un service cloud entièrement managé, hautement disponible, à locataire unique 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 Managed HSM, vous pouvez consulter : Qu’est-ce qu’Azure Key Vault Managed HSM ?

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

Remarque : la bibliothèque d’administration fonctionne uniquement avec azure Key Vault Managed HSM : les fonctions ciblant un coffre de clés é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 :

Mise en route

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 installé les définitions de type Node :

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 manuel des options du compilateur de TypeScript.

Environnements actuellement pris en charge

Conditions préalables

Authentifier le client

Pour interagir avec le service Azure Key Vault, vous devez créer une instance de la classe KeyVaultAccessControlClient ou de la classe KeyVaultBackupClient, ainsi qu’une URL de coffre (que vous pouvez voir comme « 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, y compris les environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une d’identité managée pour l’authentification dans les environnements de production.

Vous trouverez plus d’informations sur différentes façons d’authentifier et leurs types d’informations d’identification correspondants dans la documentation Azure Identity.

Créer KeyVaultAccessControlClient

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

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultAccessControlClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultAccessControlClient(vaultUrl, credentials);

Créer KeyVaultBackupClient

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

import { DefaultAzureCredential } from "@azure/identity";
import { KeyVaultBackupClient } from "@azure/keyvault-admin";

const vaultUrl = `https://<MY KEY VAULT HERE>.vault.azure.net`;
const credentials = new DefaultAzureCredential();
const client = new KeyVaultBackupClient(vaultUrl, 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, répertoriés, extraits individuellement et supprimés.

KeyVaultAccessControlClient

Une KeyVaultAccessControlClient fournit des opérations permettant la gestion des définitions de rôles (instances de KeyVaultRoleDefinition) et des 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 l'KeyVaultBackupClient peuvent prendre autant de temps que nécessaire par les ressources Azure, nécessitant une couche cliente pour suivre, sérialiser et reprendre les opérations via le cycle de vie des programmes qui attendent qu’ils se terminent. Cela s’effectue via une abstraction commune via le package @azure/core-lro.

Le KeyVaultBackupClient offre 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’objets blob de stockage spécifié.
  • beginRestore, commence à restaurer tous les matériaux clés à l’aide du jeton SAP 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 de stockage Blob Azure précédemment stocké.

Les méthodes qui commencent les opérations longues retournent un polleur 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.

Résolution des problèmes

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 à découvrir des informations utiles sur les échecs. Pour afficher 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 la @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Étapes suivantes

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

Contribuer

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.