Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment vous connecter à Azure Key Vault à l’aide de la bibliothèque cliente de clés Azure Key Vault pour JavaScript. Une fois la connexion établie, votre code peut s’exécuter à l’aide des clés du coffre-fort.
Référence API | Package (npm) | Code source de la bibliothèque | Échantillons | Envoyer des commentaires
Prerequisites
- Un abonnement Azure - En créer un gratuitement
- Instance de Azure Key Vault Vérifiez que vous disposez du rôle RBAC Azure approprié pour effectuer les tâches spécifiques dans le code.
- Node.js version LTS
Configuration de votre projet
Ouvrez une invite de commandes et accédez à votre dossier de projet. Remplacez
YOUR-DIRECTORYpar le nom de votre dossier :cd YOUR-DIRECTORYSi vous n’avez pas encore de fichier
package.jsondans votre répertoire, initialisez le projet pour créer le fichier :npm init -yInstallez la bibliothèque cliente de clés Azure Key Vault pour JavaScript :
npm install @azure/keyvault-keysSi vous souhaitez utiliser des connexions sans mot de passe à l’aide de Microsoft Entra ID, installez la bibliothèque du client Azure Identity pour JavaScript :
npm install @azure/identity
Autoriser l’accès et se connecter à Key Vault
Microsoft Entra ID fournit la connexion la plus sécurisée en gérant l’identité de connexion (identité managée). Cette fonctionnalité sans mot de passe vous permet de développer une application qui ne nécessite aucune clé stockée dans le code.
Avant d’authentifier par programmation auprès d’Azure pour utiliser des clés Azure Key Vault, veillez à configurer votre environnement.
Générer votre application
Lorsque vous créez votre application, votre code interagit avec deux types de ressources :
-
KeyVaultKey, qui inclut :
- ID, nom et valeur.
- Opérations autorisées.
- Type tels que
EC,EC-HSM,RSA,RSA-HSM,oct,oct-HSM. - Propriétés en tant que KeyProperties
- KeyProperties, qui incluent les métadonnées des clés, telles que son nom, sa version, ses balises, ses données d’expiration et si elle est activée.
Si vous avez besoin de la valeur de KeyVaultKey, utilisez des méthodes qui retournent keyVaultKey :
Modèle d'objet
La bibliothèque cliente de clés Azure Key Vault pour JavaScript inclut les clients suivants :
- KeyClient : l’objet KeyClient est l’objet principal dans le Kit de développement logiciel (SDK). Ce client vous permet d’effectuer des tâches de gestion des clés telles que la création, la rotation, la suppression et la liste des clés.
- CryptographyClient vous permet de chiffrer, déchiffrer, signer, vérifier, encapsuler et décompresser les clés.
Créer un objet KeyClient
Une fois que votre environnement local et l’autorisation Key Vault sont configurés, créez un fichier JavaScript, qui inclut les packages @azure/identity et les packages @azure/keyvault-keys . Créez des informations d’identification, telles que DefaultAzureCredential, pour implémenter des connexions sans mot de passe à votre coffre. Utilisez ces informations d’identification pour vous authentifier auprès d’un objet KeyClient .
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import { KeyClient } from '@azure/keyvault-keys';
// Authenticate to Azure
// Create KeyClient
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Get key
const key = await client.getKey("MyKeyName");
Créer un objet CryptographyClient
L’objet CryptographyClient est l’objet opérationnel dans le Kit de développement logiciel (SDK), en utilisant votre clé pour effectuer des actions telles que chiffrer, déchiffrer, signer et vérifier, encapsuler et décompresser.
Utilisez vos informations d’identification d’identité à partir de votre KeyClient, ainsi que le nom de clé, pour créer un CryptographyClient pour effectuer des opérations.
// Include required dependencies
import { DefaultAzureCredential } from '@azure/identity';
import {
CryptographyClient,
KeyClient,
KnownEncryptionAlgorithms,
RsaEncryptParameters
} from '@azure/keyvault-keys';
// Authenticate to Azure
// Create KeyClient
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Get key
const key = await client.getKey("MyKeyName");
if (key?.name) {
// get encryption client
const encryptClient = new CryptographyClient(key, credential);
// encrypt data
const encryptParams = {
algorithm: KnownEncryptionAlgorithms.RSAOaep256,
plaintext: Buffer.from("Hello world!")
}
const encryptResult = await encryptClient.encrypt(encryptParams);
}
Voir aussi
- Package (npm)
- Échantillons
- Informations de référence sur les API
- Code source de la bibliothèque
- Envoyer des commentaires