Резервное копирование, удаление и восстановление ключей в Azure Key Vault с помощью JavaScript
Создайте 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
}