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

SecretClient class

SecretClient 提供了在 Azure 密钥保管库中管理 KeyVaultSecret 的方法。 客户端支持创建、检索、更新、删除、清除、备份、还原和列出 KeyVaultSecrets。 客户端还支持列出已启用软删除的 Azure 密钥保管库的 DeletedSecret

构造函数

SecretClient(string, TokenCredential, SecretClientOptions)

创建 SecretClient 的实例。

用法示例:

import { SecretClient } from "@azure/keyvault-secrets";
import { DefaultAzureCredential } from "@azure/identity";

let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();

let client = new SecretClient(vaultUrl, credentials);

属性

vaultUrl

保管库的基 URL

方法

backupSecret(string, BackupSecretOptions)

请求将指定机密的备份下载到客户端。 将下载所有版本的机密。 此操作需要机密/备份权限。

用法示例:

let client = new SecretClient(url, credentials);
let backupResult = await client.backupSecret("MySecretName");

备份指定的机密。

beginDeleteSecret(string, BeginDeleteSecretOptions)

删除存储在 Azure 密钥保管库 中的机密。 此函数返回一个长时间运行的操作轮询器,允许无限期地等待机密被删除。

此操作需要机密/删除权限。

用法示例:

const client = new SecretClient(url, credentials);
await client.setSecret("MySecretName", "ABC123");

const deletePoller = await client.beginDeleteSecret("MySecretName");

// Serializing the poller
const serialized = deletePoller.toString();

// A new poller can be created with:
// const newPoller = await client.beginDeleteSecret("MySecretName", { resumeFrom: serialized });

// Waiting until it's done
const deletedSecret = await deletePoller.pollUntilDone();
console.log(deletedSecret);

从指定的密钥保管库中删除机密。

beginRecoverDeletedSecret(string, BeginRecoverDeletedSecretOptions)

恢复指定保管库中已删除的机密。 此函数返回一个长时间运行的操作轮询器,该轮询器允许无限期地等待机密恢复。

此操作需要机密/恢复权限。

用法示例:

const client = new SecretClient(url, credentials);
await client.setSecret("MySecretName", "ABC123");

const deletePoller = await client.beginDeleteSecret("MySecretName");
await deletePoller.pollUntilDone();

const recoverPoller = await client.beginRecoverDeletedSecret("MySecretName");

// Serializing the poller
const serialized = recoverPoller.toString();

// A new poller can be created with:
// const newPoller = await client.beginRecoverDeletedSecret("MySecretName", { resumeFrom: serialized });

// Waiting until it's done
const deletedSecret = await recoverPoller.pollUntilDone();
console.log(deletedSecret);

将已删除的机密恢复到最新版本。

getDeletedSecret(string, GetDeletedSecretOptions)

getDeletedSecret 方法返回指定的已删除机密及其属性。 此操作需要机密/get 权限。

用法示例:

let client = new SecretClient(url, credentials);
await client.getDeletedSecret("MyDeletedSecret");

获取指定的已删除机密。

getSecret(string, GetSecretOptions)

getSecret 方法适用于存储在 Azure 密钥保管库 中的任何机密。 此操作需要机密/get 权限。

用法示例:

let client = new SecretClient(url, credentials);
let secret = await client.getSecret("MySecretName");

从给定密钥保管库获取指定的机密。

listDeletedSecrets(ListDeletedSecretsOptions)

循环访问保管库中已删除的机密。 响应中将提供完整的机密标识符和属性。 不会为机密返回任何值。 此操作需要机密/列表权限。

用法示例:

let client = new SecretClient(url, credentials);
for await (const deletedSecret of client.listDeletedSecrets()) {
  console.log("deleted secret: ", deletedSecret);
}

列出保管库中的所有机密。

listPropertiesOfSecrets(ListPropertiesOfSecretsOptions)

循环访问保管库中所有机密的最新版本。 响应中将提供完整的机密标识符和属性。 不会为机密返回任何值。 此操作需要机密/列表权限。

用法示例:

let client = new SecretClient(url, credentials);
for await (const secretProperties of client.listPropertiesOfSecrets()) {
  const secret = await client.getSecret(secretProperties.name);
  console.log("secret: ", secret);
}

列出保管库中的所有机密。

listPropertiesOfSecretVersions(string, ListPropertiesOfSecretVersionsOptions)

循环访问保管库中给定机密的所有版本。 响应中将提供完整的机密标识符和属性。 不会为机密返回任何值。 此操作需要机密/列表权限。

用法示例:

let client = new SecretClient(url, credentials);
for await (const secretProperties of client.listPropertiesOfSecretVersions("MySecretName")) {
  const secret = await client.getSecret(secretProperties.name);
  console.log("secret version: ", secret);
}
purgeDeletedSecret(string, PurgeDeletedSecretOptions)

清除已删除的机密操作将永久删除机密,且无法恢复。 只能在已启用软删除的保管库上启用此操作。 此操作需要机密/清除权限。

用法示例:

const client = new SecretClient(url, credentials);
const deletePoller = await client.beginDeleteSecret("MySecretName");
await deletePoller.pollUntilDone();
await client.purgeDeletedSecret("MySecretName");

永久删除指定的机密。

restoreSecretBackup(Uint8Array, RestoreSecretBackupOptions)

将已备份的机密及其所有版本还原到保管库。 此操作需要机密/还原权限。

用法示例:

let client = new SecretClient(url, credentials);
let mySecretBundle = await client.backupSecret("MySecretName");
// ...
await client.restoreSecretBackup(mySecretBundle);

将备份的机密还原到保管库。

setSecret(string, string, SetSecretOptions)

setSecret 方法将机密或机密版本添加到 Azure 密钥保管库。 如果命名机密已存在,Azure 密钥保管库将创建该机密的新版本。 此操作需要机密/设置权限。

用法示例:

let client = new SecretClient(url, credentials);
await client.setSecret("MySecretName", "ABC123");

在指定的密钥保管库中添加机密。

updateSecretProperties(string, string, UpdateSecretPropertiesOptions)

updateSecret 方法更改现有存储机密的指定属性。 请求中未指定的属性保持不变。 不能更改机密本身的值。 此操作需要机密/设置权限。

用法示例:

let secretName = "MySecretName";
let client = new SecretClient(url, credentials);
let secret = await client.getSecret(secretName);
await client.updateSecretProperties(secretName, secret.properties.version, { enabled: false });

汇报与给定密钥保管库中的指定机密关联的属性。

构造函数详细信息

SecretClient(string, TokenCredential, SecretClientOptions)

创建 SecretClient 的实例。

用法示例:

import { SecretClient } from "@azure/keyvault-secrets";
import { DefaultAzureCredential } from "@azure/identity";

let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();

let client = new SecretClient(vaultUrl, credentials);
new SecretClient(vaultUrl: string, credential: TokenCredential, pipelineOptions?: SecretClientOptions)

参数

vaultUrl

string

保管库的基 URL。 应验证此 URL 是否引用了有效的密钥保管库资源。 有关详细信息,请参阅https://aka.ms/azsdk/blog/vault-uri

credential
TokenCredential

一个 对象,该对象实现 TokenCredential 用于对服务的请求进行身份验证的 接口。 使用 @azure/identity 包创建满足需求的凭据。

pipelineOptions
SecretClientOptions

用于配置密钥保管库 API 请求的管道选项。 省略此参数以使用默认管道配置。

属性详细信息

vaultUrl

保管库的基 URL

vaultUrl: string

属性值

string

方法详细信息

backupSecret(string, BackupSecretOptions)

请求将指定机密的备份下载到客户端。 将下载所有版本的机密。 此操作需要机密/备份权限。

用法示例:

let client = new SecretClient(url, credentials);
let backupResult = await client.backupSecret("MySecretName");

备份指定的机密。

function backupSecret(secretName: string, options?: BackupSecretOptions): Promise<undefined | Uint8Array>

参数

secretName

string

机密的名称。

options
BackupSecretOptions

可选参数。

返回

Promise<undefined | Uint8Array>

beginDeleteSecret(string, BeginDeleteSecretOptions)

删除存储在 Azure 密钥保管库 中的机密。 此函数返回一个长时间运行的操作轮询器,允许无限期地等待机密被删除。

此操作需要机密/删除权限。

用法示例:

const client = new SecretClient(url, credentials);
await client.setSecret("MySecretName", "ABC123");

const deletePoller = await client.beginDeleteSecret("MySecretName");

// Serializing the poller
const serialized = deletePoller.toString();

// A new poller can be created with:
// const newPoller = await client.beginDeleteSecret("MySecretName", { resumeFrom: serialized });

// Waiting until it's done
const deletedSecret = await deletePoller.pollUntilDone();
console.log(deletedSecret);

从指定的密钥保管库中删除机密。

function beginDeleteSecret(name: string, options?: BeginDeleteSecretOptions): Promise<PollerLike<PollOperationState<DeletedSecret>, DeletedSecret>>

参数

name

string

options
BeginDeleteSecretOptions

可选参数。

返回

beginRecoverDeletedSecret(string, BeginRecoverDeletedSecretOptions)

恢复指定保管库中已删除的机密。 此函数返回一个长时间运行的操作轮询器,该轮询器允许无限期地等待机密恢复。

此操作需要机密/恢复权限。

用法示例:

const client = new SecretClient(url, credentials);
await client.setSecret("MySecretName", "ABC123");

const deletePoller = await client.beginDeleteSecret("MySecretName");
await deletePoller.pollUntilDone();

const recoverPoller = await client.beginRecoverDeletedSecret("MySecretName");

// Serializing the poller
const serialized = recoverPoller.toString();

// A new poller can be created with:
// const newPoller = await client.beginRecoverDeletedSecret("MySecretName", { resumeFrom: serialized });

// Waiting until it's done
const deletedSecret = await recoverPoller.pollUntilDone();
console.log(deletedSecret);

将已删除的机密恢复到最新版本。

function beginRecoverDeletedSecret(name: string, options?: BeginRecoverDeletedSecretOptions): Promise<PollerLike<PollOperationState<SecretProperties>, SecretProperties>>

参数

name

string

options
BeginRecoverDeletedSecretOptions

可选参数。

返回

getDeletedSecret(string, GetDeletedSecretOptions)

getDeletedSecret 方法返回指定的已删除机密及其属性。 此操作需要机密/get 权限。

用法示例:

let client = new SecretClient(url, credentials);
await client.getDeletedSecret("MyDeletedSecret");

获取指定的已删除机密。

function getDeletedSecret(secretName: string, options?: GetDeletedSecretOptions): Promise<DeletedSecret>

参数

secretName

string

机密的名称。

options
GetDeletedSecretOptions

可选参数。

返回

Promise<DeletedSecret>

getSecret(string, GetSecretOptions)

getSecret 方法适用于存储在 Azure 密钥保管库 中的任何机密。 此操作需要机密/get 权限。

用法示例:

let client = new SecretClient(url, credentials);
let secret = await client.getSecret("MySecretName");

从给定密钥保管库获取指定的机密。

function getSecret(secretName: string, options?: GetSecretOptions): Promise<KeyVaultSecret>

参数

secretName

string

机密的名称。

options
GetSecretOptions

可选参数。

返回

Promise<KeyVaultSecret>

listDeletedSecrets(ListDeletedSecretsOptions)

循环访问保管库中已删除的机密。 响应中将提供完整的机密标识符和属性。 不会为机密返回任何值。 此操作需要机密/列表权限。

用法示例:

let client = new SecretClient(url, credentials);
for await (const deletedSecret of client.listDeletedSecrets()) {
  console.log("deleted secret: ", deletedSecret);
}

列出保管库中的所有机密。

function listDeletedSecrets(options?: ListDeletedSecretsOptions): PagedAsyncIterableIterator<DeletedSecret, DeletedSecret[], PageSettings>

参数

options
ListDeletedSecretsOptions

可选参数。

返回

listPropertiesOfSecrets(ListPropertiesOfSecretsOptions)

循环访问保管库中所有机密的最新版本。 响应中将提供完整的机密标识符和属性。 不会为机密返回任何值。 此操作需要机密/列表权限。

用法示例:

let client = new SecretClient(url, credentials);
for await (const secretProperties of client.listPropertiesOfSecrets()) {
  const secret = await client.getSecret(secretProperties.name);
  console.log("secret: ", secret);
}

列出保管库中的所有机密。

function listPropertiesOfSecrets(options?: ListPropertiesOfSecretsOptions): PagedAsyncIterableIterator<SecretProperties, SecretProperties[], PageSettings>

参数

options
ListPropertiesOfSecretsOptions

可选参数。

返回

listPropertiesOfSecretVersions(string, ListPropertiesOfSecretVersionsOptions)

循环访问保管库中给定机密的所有版本。 响应中将提供完整的机密标识符和属性。 不会为机密返回任何值。 此操作需要机密/列表权限。

用法示例:

let client = new SecretClient(url, credentials);
for await (const secretProperties of client.listPropertiesOfSecretVersions("MySecretName")) {
  const secret = await client.getSecret(secretProperties.name);
  console.log("secret version: ", secret);
}
function listPropertiesOfSecretVersions(secretName: string, options?: ListPropertiesOfSecretVersionsOptions): PagedAsyncIterableIterator<SecretProperties, SecretProperties[], PageSettings>

参数

secretName

string

要为其提取版本的机密的名称。

options
ListPropertiesOfSecretVersionsOptions

可选参数。

返回

purgeDeletedSecret(string, PurgeDeletedSecretOptions)

清除已删除的机密操作将永久删除机密,且无法恢复。 只能在已启用软删除的保管库上启用此操作。 此操作需要机密/清除权限。

用法示例:

const client = new SecretClient(url, credentials);
const deletePoller = await client.beginDeleteSecret("MySecretName");
await deletePoller.pollUntilDone();
await client.purgeDeletedSecret("MySecretName");

永久删除指定的机密。

function purgeDeletedSecret(secretName: string, options?: PurgeDeletedSecretOptions): Promise<void>

参数

secretName

string

机密的名称。

options
PurgeDeletedSecretOptions

可选参数。

返回

Promise<void>

restoreSecretBackup(Uint8Array, RestoreSecretBackupOptions)

将已备份的机密及其所有版本还原到保管库。 此操作需要机密/还原权限。

用法示例:

let client = new SecretClient(url, credentials);
let mySecretBundle = await client.backupSecret("MySecretName");
// ...
await client.restoreSecretBackup(mySecretBundle);

将备份的机密还原到保管库。

function restoreSecretBackup(secretBundleBackup: Uint8Array, options?: RestoreSecretBackupOptions): Promise<SecretProperties>

参数

secretBundleBackup

Uint8Array

与机密捆绑包关联的备份 Blob。

options
RestoreSecretBackupOptions

可选参数。

返回

Promise<SecretProperties>

setSecret(string, string, SetSecretOptions)

setSecret 方法将机密或机密版本添加到 Azure 密钥保管库。 如果命名机密已存在,Azure 密钥保管库将创建该机密的新版本。 此操作需要机密/设置权限。

用法示例:

let client = new SecretClient(url, credentials);
await client.setSecret("MySecretName", "ABC123");

在指定的密钥保管库中添加机密。

function setSecret(secretName: string, value: string, options?: SetSecretOptions): Promise<KeyVaultSecret>

参数

secretName

string

机密的名称。

value

string

机密的值。

options
SetSecretOptions

可选参数。

返回

Promise<KeyVaultSecret>

updateSecretProperties(string, string, UpdateSecretPropertiesOptions)

updateSecret 方法更改现有存储机密的指定属性。 请求中未指定的属性保持不变。 不能更改机密本身的值。 此操作需要机密/设置权限。

用法示例:

let secretName = "MySecretName";
let client = new SecretClient(url, credentials);
let secret = await client.getSecret(secretName);
await client.updateSecretProperties(secretName, secret.properties.version, { enabled: false });

汇报与给定密钥保管库中的指定机密关联的属性。

function updateSecretProperties(secretName: string, secretVersion: string, options?: UpdateSecretPropertiesOptions): Promise<SecretProperties>

参数

secretName

string

机密的名称。

secretVersion

string

机密的版本。

options
UpdateSecretPropertiesOptions

可选参数。

返回

Promise<SecretProperties>