使用 JavaScript 在 Azure Key Vault 中備份、刪除和還原金鑰
使用適當的程式設計驗證認證來建立 KeyClient,然後建立 CryptographyClient 及使用用戶端在 Azure Key Vault 中設定、更新及輪替金鑰。
備份、刪除、清除和還原金鑰
刪除金鑰及其版本之前,請先備份金鑰並序列化至安全的資料存放區。 備份金鑰之後,請刪除金鑰和所有版本。 如果保存庫使用虛刪除,您可以等候清除日期手動傳遞或清除金鑰。 清除金鑰之後,您可以從備份還原金鑰和所有版本。 如果您想要在清除之前還原金鑰,您不需要使用備份物件,而是可以復原虛刪除的金鑰和所有版本。
// 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
}