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
- Un abonnement Azure
- HSM managé Key Vault existant. Si vous devez créer un HSM managé, vous pouvez le faire à l’aide d’Azure CLI en suivant les étapes décrites dans ce document.
Authentifier le client
Pour interagir avec le service Azure Key Vault, vous devez créer une instance de la classe ou de la KeyVaultAccessControlClient
KeyVaultBackupClient
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 :
- Exemples d’administration Key Vault (JavaScript)
- Exemples d’administration Key Vault (TypeScript)
- Key Vault Cas de test d’administration
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.
Azure SDK for JavaScript