你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
KeyClient class
KeyClient 提供了在 Azure 密钥保管库中管理 KeyVaultKey 的方法。 客户端支持创建、检索、更新、删除、清除、备份、还原和列出 KeyVaultKeys。 客户端还支持列出已启用软删除的 Azure 密钥保管库的 DeletedKey。
构造函数
Key |
创建 KeyClient 的实例。 用法示例:
|
属性
vault |
保管库的基 URL |
方法
backup |
请求将指定密钥的备份下载到客户端。 将下载密钥的所有版本。 此操作需要密钥/备份权限。 用法示例:
备份指定的键。 |
begin |
删除操作适用于 Azure 密钥保管库 中存储的任何密钥。 无法删除单个版本的密钥,只能同时删除给定密钥的所有版本。 此函数返回一个长时间运行的操作轮询器,允许无限期地等待密钥被删除。 此操作需要密钥/删除权限。 用法示例:
从指定的密钥保管库中删除密钥。 |
begin |
恢复指定保管库中已删除的密钥。 此操作只能在启用了软删除的保管库上执行。 此函数返回一个长时间运行的操作轮询器,允许无限期等待,直到恢复已删除的密钥。 此操作需要密钥/恢复权限。 用法示例:
将已删除的密钥恢复到最新版本。 |
create |
createEcKey 方法在 Azure 密钥保管库 中创建新的椭圆曲线键。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。 用法示例:
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。 |
create |
创建密钥操作可用于在 Azure 密钥保管库中创建任何密钥类型。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。 用法示例:
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。 |
create |
createOctKey 方法在 Azure 密钥保管库中创建新的 OCT 密钥。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。 用法示例:
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。 |
create |
createRSAKey 方法在 Azure 密钥保管库中创建新的 RSA 密钥。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。 用法示例:
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。 |
get |
获取给定密钥的 CryptographyClient 。 用法示例:
|
get |
getDeletedKey 方法返回指定的已删除密钥及其属性。 此操作需要密钥/get 权限。 用法示例:
获取指定的已删除密钥。 |
get |
getKey 方法获取指定的密钥,适用于 Azure 密钥保管库中存储的任何密钥。 此操作需要密钥/get 权限。 用法示例:
从给定的密钥保管库获取指定的密钥。 |
get |
获取密钥保管库密钥的轮换策略。 默认情况下,所有密钥都有一个策略,该策略将在到期前 30 天通知。 此操作需要密钥/get 权限。 用法示例:
|
get |
从托管 HSM 获取包含随机值的请求字节数。 此操作需要 managedHsm/rng 权限。 用法示例:
|
import |
导入密钥操作可用于将任何密钥类型导入 Azure 密钥保管库。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 此操作需要密钥/导入权限。 用法示例:
导入外部创建的密钥,存储它,并将密钥参数和属性返回给客户端。 |
list |
循环访问保管库中已删除的密钥。 响应中提供了完整的密钥标识符和属性。 不会为键返回任何值。 此操作需要密钥/列表权限。 用法示例:
列出保管库中的所有密钥 |
list |
循环访问保管库中所有密钥的最新版本。 响应中提供了完整的密钥标识符和属性。 不会为键返回任何值。 此操作需要密钥/列表权限。 用法示例:
列出保管库中的所有密钥 |
list |
循环访问保管库中给定密钥的所有版本。 响应中提供了完整的密钥标识符、属性和标记。 此操作需要密钥/列表权限。 用法示例:
|
purge |
清除已删除的密钥操作将永久删除密钥,且无法恢复。 只能在已启用软删除的保管库上启用此操作。 此操作需要密钥/清除权限。 用法示例:
永久删除指定的密钥。 |
release |
从托管 HSM 释放密钥。 释放密钥操作适用于所有密钥类型。 该操作要求将密钥标记为可导出,并具有密钥/释放权限。 用法示例:
|
restore |
将已备份的密钥及其所有版本还原到保管库。 此操作需要密钥/还原权限。 用法示例:
将备份的密钥还原到保管库。 |
rotate |
通过生成密钥的新版本,根据密钥策略轮换密钥。 此操作需要密钥/轮换权限。 用法示例:
|
update |
updateKeyProperties 方法更改现有存储密钥的指定属性。 请求中未指定的属性保持不变。 无法更改键本身的值。 此操作需要密钥/设置权限。 用法示例:
汇报与给定密钥保管库中的指定密钥关联的属性。 |
update |
updateKeyProperties 方法更改现有存储密钥的最新版本的指定属性。 请求中未指定的属性保持不变。 无法更改键本身的值。 此操作需要密钥/设置权限。 用法示例:
汇报与给定密钥保管库中的指定密钥关联的属性。 |
update |
汇报密钥保管库密钥的轮换策略。 此操作需要密钥/更新权限。 用法示例:
|
构造函数详细信息
KeyClient(string, TokenCredential, KeyClientOptions)
创建 KeyClient 的实例。
用法示例:
import { KeyClient } from "@azure/keyvault-keys";
import { DefaultAzureCredential } from "@azure/identity";
let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
let credentials = new DefaultAzureCredential();
let client = new KeyClient(vaultUrl, credentials);
new KeyClient(vaultUrl: string, credential: TokenCredential, pipelineOptions?: KeyClientOptions)
参数
- vaultUrl
-
string
密钥保管库的 URL。 它应具有以下形状: https://${your-key-vault-name}.vault.azure.net
。 应验证此 URL 引用有效的 密钥保管库 或托管 HSM 资源。 有关详细信息,请参阅https://aka.ms/azsdk/blog/vault-uri。
- credential
- TokenCredential
一个 对象,该对象实现 TokenCredential
用于对服务的请求进行身份验证的 接口。 使用 @azure/identity 包创建满足需求的凭据。
- pipelineOptions
- KeyClientOptions
用于配置密钥保管库 API 请求的管道选项。 省略此参数以使用默认管道配置。
属性详细信息
vaultUrl
保管库的基 URL
vaultUrl: string
属性值
string
方法详细信息
backupKey(string, BackupKeyOptions)
请求将指定密钥的备份下载到客户端。 将下载密钥的所有版本。 此操作需要密钥/备份权限。
用法示例:
let client = new KeyClient(url, credentials);
let backupContents = await client.backupKey("MyKey");
备份指定的键。
function backupKey(name: string, options?: BackupKeyOptions): Promise<undefined | Uint8Array>
参数
- name
-
string
键的名称。
- options
- BackupKeyOptions
可选参数。
返回
Promise<undefined | Uint8Array>
beginDeleteKey(string, BeginDeleteKeyOptions)
删除操作适用于 Azure 密钥保管库 中存储的任何密钥。 无法删除单个版本的密钥,只能同时删除给定密钥的所有版本。
此函数返回一个长时间运行的操作轮询器,允许无限期地等待密钥被删除。
此操作需要密钥/删除权限。
用法示例:
const client = new KeyClient(url, credentials);
await client.createKey("MyKey", "EC");
const poller = await client.beginDeleteKey("MyKey");
// Serializing the poller
const serialized = poller.toString();
// A new poller can be created with:
// await client.beginDeleteKey("MyKey", { resumeFrom: serialized });
// Waiting until it's done
const deletedKey = await poller.pollUntilDone();
console.log(deletedKey);
从指定的密钥保管库中删除密钥。
function beginDeleteKey(name: string, options?: BeginDeleteKeyOptions): Promise<PollerLike<PollOperationState<DeletedKey>, DeletedKey>>
参数
- name
-
string
键的名称。
- options
- BeginDeleteKeyOptions
可选参数。
返回
Promise<PollerLike<PollOperationState<DeletedKey>, DeletedKey>>
beginRecoverDeletedKey(string, BeginRecoverDeletedKeyOptions)
恢复指定保管库中已删除的密钥。 此操作只能在启用了软删除的保管库上执行。
此函数返回一个长时间运行的操作轮询器,允许无限期等待,直到恢复已删除的密钥。
此操作需要密钥/恢复权限。
用法示例:
const client = new KeyClient(url, credentials);
await client.createKey("MyKey", "EC");
const deletePoller = await client.beginDeleteKey("MyKey");
await deletePoller.pollUntilDone();
const poller = await client.beginRecoverDeletedKey("MyKey");
// Serializing the poller
const serialized = poller.toString();
// A new poller can be created with:
// await client.beginRecoverDeletedKey("MyKey", { resumeFrom: serialized });
// Waiting until it's done
const key = await poller.pollUntilDone();
console.log(key);
将已删除的密钥恢复到最新版本。
function beginRecoverDeletedKey(name: string, options?: BeginRecoverDeletedKeyOptions): Promise<PollerLike<PollOperationState<DeletedKey>, DeletedKey>>
参数
- name
-
string
已删除密钥的名称。
- options
- BeginRecoverDeletedKeyOptions
可选参数。
返回
Promise<PollerLike<PollOperationState<DeletedKey>, DeletedKey>>
createEcKey(string, CreateEcKeyOptions)
createEcKey 方法在 Azure 密钥保管库 中创建新的椭圆曲线键。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。
用法示例:
let client = new KeyClient(url, credentials);
let result = await client.createEcKey("MyKey", { curve: "P-256" });
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。
function createEcKey(name: string, options?: CreateEcKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- options
- CreateEcKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
createKey(string, string, CreateKeyOptions)
创建密钥操作可用于在 Azure 密钥保管库中创建任何密钥类型。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。
用法示例:
let client = new KeyClient(url, credentials);
// Create an elliptic-curve key:
let result = await client.createKey("MyKey", "EC");
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。
function createKey(name: string, keyType: string, options?: CreateKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- keyType
-
string
键的类型。 以下项之一:“EC”、“EC-HSM”、“RSA”、“RSA-HSM”、“oct”。
- options
- CreateKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
createOctKey(string, CreateOctKeyOptions)
createOctKey 方法在 Azure 密钥保管库中创建新的 OCT 密钥。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。
用法示例:
let client = new KeyClient(url, credentials);
let result = await client.createOctKey("MyKey", { hsm: true });
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。
function createOctKey(name: string, options?: CreateOctKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- options
- CreateOctKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
createRsaKey(string, CreateRsaKeyOptions)
createRSAKey 方法在 Azure 密钥保管库中创建新的 RSA 密钥。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 它需要密钥/创建权限。
用法示例:
let client = new KeyClient(url, credentials);
let result = await client.createRsaKey("MyKey", { keySize: 2048 });
创建新密钥,存储它,然后将密钥参数和属性返回给客户端。
function createRsaKey(name: string, options?: CreateRsaKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- options
- CreateRsaKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
getCryptographyClient(string, GetCryptographyClientOptions)
获取给定密钥的 CryptographyClient 。
用法示例:
let client = new KeyClient(url, credentials);
// get a cryptography client for a given key
let cryptographyClient = client.getCryptographyClient("MyKey");
function getCryptographyClient(keyName: string, options?: GetCryptographyClientOptions): CryptographyClient
参数
- keyName
-
string
- options
- GetCryptographyClientOptions
返回
- 使用与此 KeyClient 相同的选项、凭据和 http 客户端 的 CryptographyClient
getDeletedKey(string, GetDeletedKeyOptions)
getDeletedKey 方法返回指定的已删除密钥及其属性。 此操作需要密钥/get 权限。
用法示例:
let client = new KeyClient(url, credentials);
let key = await client.getDeletedKey("MyDeletedKey");
获取指定的已删除密钥。
function getDeletedKey(name: string, options?: GetDeletedKeyOptions): Promise<DeletedKey>
参数
- name
-
string
键的名称。
- options
- GetDeletedKeyOptions
可选参数。
返回
Promise<DeletedKey>
getKey(string, GetKeyOptions)
getKey 方法获取指定的密钥,适用于 Azure 密钥保管库中存储的任何密钥。 此操作需要密钥/get 权限。
用法示例:
let client = new KeyClient(url, credentials);
let key = await client.getKey("MyKey");
从给定的密钥保管库获取指定的密钥。
function getKey(name: string, options?: GetKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- options
- GetKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
getKeyRotationPolicy(string, GetKeyRotationPolicyOptions)
获取密钥保管库密钥的轮换策略。 默认情况下,所有密钥都有一个策略,该策略将在到期前 30 天通知。
此操作需要密钥/get 权限。 用法示例:
let client = new KeyClient(vaultUrl, credentials);
let result = await client.getKeyRotationPolicy("myKey");
function getKeyRotationPolicy(keyName: string, options?: GetKeyRotationPolicyOptions): Promise<KeyRotationPolicy>
参数
- keyName
-
string
键的名称。
- options
- GetKeyRotationPolicyOptions
可选参数。
返回
Promise<KeyRotationPolicy>
getRandomBytes(number, GetRandomBytesOptions)
从托管 HSM 获取包含随机值的请求字节数。 此操作需要 managedHsm/rng 权限。
用法示例:
let client = new KeyClient(vaultUrl, credentials);
let { bytes } = await client.getRandomBytes(10);
function getRandomBytes(count: number, options?: GetRandomBytesOptions): Promise<Uint8Array>
参数
- count
-
number
要生成的字节数(包括 1 到 128)。
- options
- GetRandomBytesOptions
可选参数。
返回
Promise<Uint8Array>
importKey(string, JsonWebKey_2, ImportKeyOptions)
导入密钥操作可用于将任何密钥类型导入 Azure 密钥保管库。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 此操作需要密钥/导入权限。
用法示例:
let client = new KeyClient(url, credentials);
// Key contents in myKeyContents
let result = await client.importKey("MyKey", myKeyContents);
导入外部创建的密钥,存储它,并将密钥参数和属性返回给客户端。
function importKey(name: string, key: JsonWebKey_2, options?: ImportKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
导入的密钥的名称。
- key
- JsonWebKey
JSON Web 密钥。
- options
- ImportKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
listDeletedKeys(ListDeletedKeysOptions)
循环访问保管库中已删除的密钥。 响应中提供了完整的密钥标识符和属性。 不会为键返回任何值。 此操作需要密钥/列表权限。
用法示例:
let client = new KeyClient(url, credentials);
for await (const deletedKey of client.listDeletedKeys()) {
console.log("deleted key: ", deletedKey);
}
列出保管库中的所有密钥
function listDeletedKeys(options?: ListDeletedKeysOptions): PagedAsyncIterableIterator<DeletedKey, DeletedKey[], PageSettings>
参数
- options
- ListDeletedKeysOptions
可选参数。
返回
listPropertiesOfKeys(ListPropertiesOfKeysOptions)
循环访问保管库中所有密钥的最新版本。 响应中提供了完整的密钥标识符和属性。 不会为键返回任何值。 此操作需要密钥/列表权限。
用法示例:
let client = new KeyClient(url, credentials);
for await (const keyProperties of client.listPropertiesOfKeys()) {
const key = await client.getKey(keyProperties.name);
console.log("key: ", key);
}
列出保管库中的所有密钥
function listPropertiesOfKeys(options?: ListPropertiesOfKeysOptions): PagedAsyncIterableIterator<KeyProperties, KeyProperties[], PageSettings>
参数
- options
- ListPropertiesOfKeysOptions
可选参数。
返回
listPropertiesOfKeyVersions(string, ListPropertiesOfKeyVersionsOptions)
循环访问保管库中给定密钥的所有版本。 响应中提供了完整的密钥标识符、属性和标记。 此操作需要密钥/列表权限。
用法示例:
let client = new KeyClient(url, credentials);
for await (const keyProperties of client.listPropertiesOfKeyVersions("MyKey")) {
const key = await client.getKey(keyProperties.name);
console.log("key version: ", key);
}
function listPropertiesOfKeyVersions(name: string, options?: ListPropertiesOfKeyVersionsOptions): PagedAsyncIterableIterator<KeyProperties, KeyProperties[], PageSettings>
参数
- name
-
string
要为其提取版本的密钥的名称
可选参数。
返回
purgeDeletedKey(string, PurgeDeletedKeyOptions)
清除已删除的密钥操作将永久删除密钥,且无法恢复。 只能在已启用软删除的保管库上启用此操作。 此操作需要密钥/清除权限。
用法示例:
const client = new KeyClient(url, credentials);
const deletePoller = await client.beginDeleteKey("MyKey")
await deletePoller.pollUntilDone();
await client.purgeDeletedKey("MyKey");
永久删除指定的密钥。
function purgeDeletedKey(name: string, options?: PurgeDeletedKeyOptions): Promise<void>
参数
- name
-
string
键的名称。
- options
- PurgeDeletedKeyOptions
可选参数。
返回
Promise<void>
releaseKey(string, string, ReleaseKeyOptions)
从托管 HSM 释放密钥。
释放密钥操作适用于所有密钥类型。 该操作要求将密钥标记为可导出,并具有密钥/释放权限。
用法示例:
let client = new KeyClient(vaultUrl, credentials);
let result = await client.releaseKey("myKey", target)
function releaseKey(name: string, targetAttestationToken: string, options?: ReleaseKeyOptions): Promise<ReleaseKeyResult>
参数
- name
-
string
键的名称。
- targetAttestationToken
-
string
密钥发布目标的证明断言。
- options
- ReleaseKeyOptions
可选参数。
返回
Promise<ReleaseKeyResult>
restoreKeyBackup(Uint8Array, RestoreKeyBackupOptions)
将已备份的密钥及其所有版本还原到保管库。 此操作需要密钥/还原权限。
用法示例:
let client = new KeyClient(url, credentials);
let backupContents = await client.backupKey("MyKey");
// ...
let key = await client.restoreKeyBackup(backupContents);
将备份的密钥还原到保管库。
function restoreKeyBackup(backup: Uint8Array, options?: RestoreKeyBackupOptions): Promise<KeyVaultKey>
参数
- backup
-
Uint8Array
与密钥捆绑包关联的备份 Blob。
- options
- RestoreKeyBackupOptions
可选参数。
返回
Promise<KeyVaultKey>
rotateKey(string, RotateKeyOptions)
通过生成密钥的新版本,根据密钥策略轮换密钥。 此操作需要密钥/轮换权限。
用法示例:
let client = new KeyClient(vaultUrl, credentials);
let key = await client.rotateKey("MyKey");
function rotateKey(name: string, options?: RotateKeyOptions): Promise<KeyVaultKey>
参数
- name
-
string
要轮换的密钥的名称。
- options
- RotateKeyOptions
可选参数。
返回
Promise<KeyVaultKey>
updateKeyProperties(string, string, UpdateKeyPropertiesOptions)
updateKeyProperties 方法更改现有存储密钥的指定属性。 请求中未指定的属性保持不变。 无法更改键本身的值。 此操作需要密钥/设置权限。
用法示例:
let keyName = "MyKey";
let client = new KeyClient(vaultUrl, credentials);
let key = await client.getKey(keyName);
let result = await client.updateKeyProperties(keyName, key.properties.version, { enabled: false });
汇报与给定密钥保管库中的指定密钥关联的属性。
function updateKeyProperties(name: string, keyVersion: string, options?: UpdateKeyPropertiesOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- keyVersion
-
string
密钥的版本。
- options
- UpdateKeyPropertiesOptions
可选参数。
返回
Promise<KeyVaultKey>
updateKeyProperties(string, UpdateKeyPropertiesOptions)
updateKeyProperties 方法更改现有存储密钥的最新版本的指定属性。 请求中未指定的属性保持不变。 无法更改键本身的值。 此操作需要密钥/设置权限。
用法示例:
let keyName = "MyKey";
let client = new KeyClient(vaultUrl, credentials);
let key = await client.getKey(keyName);
let result = await client.updateKeyProperties(keyName, { enabled: false });
汇报与给定密钥保管库中的指定密钥关联的属性。
function updateKeyProperties(name: string, options?: UpdateKeyPropertiesOptions): Promise<KeyVaultKey>
参数
- name
-
string
键的名称。
- options
- UpdateKeyPropertiesOptions
可选参数。
返回
Promise<KeyVaultKey>
updateKeyRotationPolicy(string, KeyRotationPolicyProperties, UpdateKeyRotationPolicyOptions)
汇报密钥保管库密钥的轮换策略。 此操作需要密钥/更新权限。
用法示例:
let client = new KeyClient(vaultUrl, credentials);
const setPolicy = await client.updateKeyRotationPolicy("MyKey", myPolicy);
function updateKeyRotationPolicy(keyName: string, policy: KeyRotationPolicyProperties, options?: UpdateKeyRotationPolicyOptions): Promise<KeyRotationPolicy>
参数
- keyName
-
string
键的名称。
- policy
- KeyRotationPolicyProperties
- options
- UpdateKeyRotationPolicyOptions
可选参数。
返回
Promise<KeyRotationPolicy>