Dela via


Säkerhetskopiera, ta bort och återställa nycklar i Azure Key Vault med JavaScript

Skapa KeyClient med lämpliga programmatiska autentiseringsuppgifter och skapa sedan en CryptographyClient som använder klienten för att ange, uppdatera och rotera en nyckel i Azure Key Vault.

Säkerhetskopiera, ta bort, rensa och återställa nyckel

Innan du tar bort en nyckel och dess versioner säkerhetskopierar du nyckeln och serialiserar till ett säkert datalager. När nyckeln har säkerhetskopierats tar du bort nyckeln och alla versioner. Om valvet använder mjuk borttagning kan du vänta tills rensningsdatumet skickas eller rensas manuellt. När nyckeln har rensats kan du återställa nyckeln och alla versioner från säkerhetskopian. Om du vill återställa nyckeln före rensningen behöver du inte använda säkerhetskopieringsobjektet, utan i stället kan du återställa den mjukt borttagna nyckeln och alla versioner.

// Authenticate to Azure Key Vault
const credential = new DefaultAzureCredential();
const client = new KeyClient(
    `https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
    credential
);

// Create key
const keyName = `myKey-${Date.now()}`;
const key = await client.createRsaKey(keyName);
console.log(`${key.name} is created`);

// Backup key and all versions (as Uint8Array)
const keyBackup = await client.backupKey(keyName);
console.log(`${key.name} is backed up`);

// Delete key - wait until delete is complete
await (await client.beginDeleteKey(keyName)).pollUntilDone();
console.log(`${key.name} is deleted`);

// Purge soft-deleted key 
await client.purgeDeletedKey(keyName);
console.log(`Soft-deleted key, ${key.name}, is purged`);

if (keyBackup) {
    // Restore key and all versions to
    // Get last version
    const { name, key, properties } = await client.restoreKeyBackup(keyBackup);
    console.log(`${name} is restored from backup, latest version is ${properties.version}`);
    
    // do something with key
}

Nästa steg