Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come connettersi ad Azure Key Vault usando la libreria client delle chiavi di Azure Key Vault per JavaScript. Una volta connesso, il tuo codice può operare sulle chiavi nell'archivio.
Riferimento API | Pacchetto (npm) | Codice sorgente della libreria | Esempi | Inviare feedback
Prerequisiti
- Una sottoscrizione di Azure: crearne una gratuitamente.
- Istanza di Azure Key Vault. Esaminare i criteri di accesso nell'insieme di credenziali delle chiavi per includere le autorizzazioni necessarie per le attività specifiche eseguite nel codice.
- Node.js versione LTS
Impostare il progetto
Aprire un prompt dei comandi e passare alla cartella del progetto. Modificare
YOUR-DIRECTORYcon il nome della cartella:cd YOUR-DIRECTORYSe nella directory non è già presente un file
package.json, inizializzare il progetto per crearlo:npm init -yInstallare la libreria client delle chiavi di Azure Key Vault per JavaScript:
npm install @azure/keyvault-keysSe si vogliono usare connessioni senza password usando Microsoft Entra ID, installare la libreria client di identità di Azure per JavaScript:
npm install @azure/identity
Autorizzare l'accesso e connettersi a Key Vault
Microsoft Entra ID fornisce la connessione più sicura gestendo l'identità di connessione (identità gestita). Questa funzionalità senza password consente di sviluppare un'applicazione che non richiede chiavi archiviate nel codice.
Prima di eseguire l'autenticazione a livello di codice in Azure per usare le chiavi di Azure Key Vault, assicurarsi di configurare l'ambiente.
Uno sviluppatore deve installare l'interfaccia della riga di comando di Azure e accedere in modo interattivo con il comando az login per accedere ad Azure prima di usare DefaultAzureCredential nel codice.
az login
Compilare l'applicazione
Durante la compilazione dell'applicazione, il codice interagisce con due tipi di risorse:
-
KeyVaultKey, che comprende:
- ID, nome e valore.
- Operazioni consentite.
- Tipo, ad esempio
EC,EC-HSMRSA,RSA-HSM,octoct-HSM. - Proprietà come Proprietà chiave
- KeyProperties, che includono i metadati delle chiavi, ad esempio il nome, la versione, i tag, i dati di scadenza e se sono abilitati.
Se è necessario il valore di KeyVaultKey, usare i metodi che restituiscono KeyVaultKey:
Modello a oggetti
La libreria client delle chiavi di Azure Key Vault per JavaScript include i client seguenti:
- KeyClient: l'oggetto KeyClient è l'oggetto principale dell'SDK. Questo client consente di eseguire attività di gestione delle chiavi, ad esempio creare, ruotare, eliminare ed elencare le chiavi.
- CryptographyClient consente di crittografare, decrittografare, firmare, verificare, wrappare e unwrappare le chiavi.
Creare un oggetto KeyClient
Dopo aver configurato l'ambiente locale e l'autorizzazione di Key Vault, creare un file JavaScript, che include i pacchetti @azure/identity e i pacchetti @azure/keyvault-keys . Creare credenziali, ad esempio DefaultAzureCredential, per implementare connessioni senza password all'insieme di credenziali. Usare tale credenziale per eseguire l'autenticazione con un oggetto 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");
Creare un oggetto CryptographyClient
L'oggetto CryptographyClient è l'oggetto operativo nell'SDK, che utilizza la tua chiave per eseguire azioni quali crittografare, decrittografare, firmare e verificare, nonché eseguire il wrapping e il de-wrapping.
Usare le credenziali di identità di KeyClient, insieme al nome della chiave, per creare un cryptographyClient per eseguire operazioni.
// 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);
}
Vedere anche
- Pacchetto (npm)
- esempi di
- Informazioni di riferimento sulle API
- Codice sorgente della libreria
- Inviare feedback