使用 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
}
取得已停用金鑰
使用下表了解您可使用已停用的金鑰執行哪些動作。
允許 | 不允許 |
---|---|
啟用金鑰 更新屬性 |
取得值 |