在 Azure Key Vault 中使用 JavaScript 列出密钥和版本
列出所有密钥
使用可迭代的 listPropertiesOfKeys 列出所有密钥的当前版本。
import { KeyClient, CreateKeyOptions, KeyVaultKey } from '@azure/keyvault-keys';
import { DefaultAzureCredential } from '@azure/identity';
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.cn`,
credential
);
// Get latest version of (not soft-deleted) keys
for await (const keyProperties of client.listPropertiesOfKeys()) {
console.log(keyProperties.version);
}
返回的 KeyProperties 对象包括密钥版本。
按页列出所有密钥
若要列出 Azure Key Vault 中的所有密钥,请使用 listPropertiesOfKeys 方法,通过设置 PageSettings 对象来一次获取一个页面的密钥属性。
import { KeyClient } from '@azure/keyvault-keys';
import { DefaultAzureCredential } from '@azure/identity';
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.cn`,
credential
);
let page = 1;
const maxPageSize = 5;
// Get latest version of not-deleted keys
for await (const keyProperties of client.listPropertiesOfKeys().byPage({maxPageSize})) {
console.log(`Page ${page++} ---------------------`)
for (const props of keyProperties) {
console.log(`${props.name}`);
}
}
返回的 KeyProperties 对象包括密钥版本。
列出密钥的所有版本
若要列出 Azure Key Vault 中某个密钥的所有版本,请使用 listPropertiesOfKeyVersions 方法。
import { KeyClient } from '@azure/keyvault-keys';
import { DefaultAzureCredential } from '@azure/identity';
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.cn`,
credential
);
// Get all versions of key
for await (const versionProperties of client.listPropertiesOfKeyVersions(
keyName
)) {
console.log(`\tversion: ${versionProperties.version} created on ${versionProperties.createdOn}`);
}
返回的 KeyProperties 对象包括密钥版本。
若要了解如何逐页显示结果,请参阅按页列出所有密钥示例。
列出已删除的密钥
若要列出 Azure Key Vault 中所有已删除的密钥,请使用 listDeletedKeys 方法。
import { KeyClient } from '@azure/keyvault-keys';
import { DefaultAzureCredential } from '@azure/identity';
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.cn`,
credential
);
for await (const deletedKey of client.listDeletedKeys()) {
console.log(
`Deleted: ${deletedKey.name} deleted on ${deletedKey.properties.deletedOn}, to be purged on ${deletedKey.properties.scheduledPurgeDate}`
);
}
deletedKey 对象是一个 DeletedKey 对象,其中包括具有其他属性的 KeyProperties 对象,例如:
若要了解如何逐页显示结果,请参阅按页列出所有密钥示例。