在 Azure Key Vault 中使用 JavaScript 列出密钥和版本

使用适当的编程身份验证凭据创建 KeyClient

列出所有密钥

使用可迭代的 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 对象,例如:

  • deletedOn - 删除密钥的时间。
  • scheduledPurgeDate - 计划清除密钥的日期。 密钥一旦清除,就无法恢复。 如果备份了密钥,可使用相同名称及其所有版本还原此密钥。

若要了解如何逐页显示结果,请参阅按页列出所有密钥示例。

后续步骤