共用方式為


使用 JavaScript 取得 Azure Key Vault 中的金鑰

使用適當的程式設計驗證認證來建立 KeyClient,然後使用用戶端在 Azure Key Vault 中設定、更新及輪替金鑰。

取得金鑰

您可以透過 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 Key Vault 中所有版本的金鑰,請使用 KeyClient 類別的 listPropertiesOfKeyVersions 方法來取得金鑰版本屬性的可反覆運算清單。 這會傳回 KeyProperties 物件,其不包含版本的值。 如果您想要版本的值,請使用屬性中傳回的版本,以透過 getKey 方法取得金鑰的值。

方法 傳回值 傳回屬性
getKey Yes Yes
listPropertiesOfKeyVersions No Yes
// 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
}

取得已停用金鑰

使用下表了解您可使用已停用的金鑰執行哪些動作。

允許 不允許
啟用金鑰
更新屬性
取得值

下一步