你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 JavaScript 从 Azure 密钥保管库中获取密钥

使用相应的编程身份验证凭据创建 KeyClient,然后使用客户端在 Azure 密钥保管库中设置、更新和轮换密钥。

获取密钥

可以使用 getKey 方法获取密钥的最新版本或特定版本的密钥。 版本位于 KeyVaultKey 对象的属性中。

  • 获取最新版本:await client.getKey(name);
  • 获取特定版本:await client.getKey(name, { version });
// Azure client libraries
import { DefaultAzureCredential } from '@azure/identity';
import {
    KeyClient,
} from '@azure/keyvault-keys';

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

const name = `myRsaKey`;

// Get latest key
const latestKey = await client.getKey(name);
console.log(`${latestKey.name} version is ${latestKey.properties.version}`);

// Get previous key by version id
const keyPreviousVersionId = '2f2ec6d43db64d66ad8ffa12489acc8b';
const keyByVersion = await client.getKey(name, {
    version: keyPreviousVersionId
});
console.log(`Previous key version is ${keyByVersion.properties.version}`);

获取密钥的所有版本

若要获取 Azure 密钥保管库中某个密钥的所有版本,请使用 KeyClient 类的 listPropertiesOfKeyVersions 方法获取密钥版本属性的迭代列表。 这将返回 KeyProperties 对象,它不包含版本的值。 如果需要版本的值,请使用属性中返回的版本通过 getKey 方法获取密钥的值。

方法 返回值 返回属性
getKey
listPropertiesOfKeyVersions
// Azure client libraries
import { DefaultAzureCredential } from '@azure/identity';
import {
    KeyClient,
} from '@azure/keyvault-keys';

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

const name = `myRsaKey`;

for await (const keyProperties of client.listPropertiesOfKeyVersions(name)) {
    const thisVersion = keyProperties.version;
    
    const { key } = await client.getKey(name, {
        version: thisVersion
    });

    // do something with version's key value
}

获取禁用密钥

使用下表了解可以使用禁用密钥执行的操作。

允许 不允许
启用密钥
更新属性
获取值

后续步骤