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 | Exemples | Donner votre avis
Prerequisites
- Un abonnement Azure - créez-en un gratuitement.
- instance Azure Key Vault. Vérifiez que le rôle Azure RBAC approprié vous est affecté 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-directory>par le nom de votre dossier :cd <your-directory>Si 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 de client 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 de 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 à 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 votre environnement local et votre autorisation Key Vault configurées, créez un fichier JavaScript, qui inclut les packages @azure/identity et @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
- Donner des commentaires