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

KeyVaultAccessControlClient class

KeyVaultAccessControlClient 提供用于管理任何给定 Azure 密钥保管库 实例中的访问控制和角色分配的方法。 客户端支持创建、检索和删除角色。

构造函数

KeyVaultAccessControlClient(string, TokenCredential, AccessControlClientOptions)

创建 KeyVaultAccessControlClient 的实例。

用法示例:

import { KeyVaultAccessControlClient } from "@azure/keyvault-admin";
import { DefaultAzureCredential } from "@azure/identity";

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

let client = new KeyVaultAccessControlClient(vaultUrl, credentials);

属性

vaultUrl

保管库的基 URL

方法

createRoleAssignment(string, string, string, string, CreateRoleAssignmentOptions)

在 Azure 密钥保管库中创建角色分配。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleDefinition = await client.listRoleDefinitions("/").next();
const principalId = "4871f6a6-374f-4b6b-8b0c-f5d84db823f6";
const result = await client.createRoleAssignment("/", "295c179b-9ad3-4117-99cd-b1aa66cf4517", roleDefinition, principalId);

创建新的角色分配。

deleteRoleAssignment(string, string, DeleteRoleAssignmentOptions)

删除以前在 Azure 密钥保管库中创建的角色分配。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleAssignment = await client.createRoleAssignment("/", "295c179b-9ad3-4117-99cd-b1aa66cf4517");
await client.deleteRoleAssignment(roleAssignment.properties.roleScope, roleAssignment.name);

删除现有角色分配。

deleteRoleDefinition(string, string, DeleteRoleDefinitionOptions)

删除以前在 Azure 密钥保管库中创建的自定义角色定义。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleDefinition = await client.setRoleDefinition("/", "23b8bb1a-39c0-4c89-a85b-dd3c99273a8a", []);
await client.deleteRoleDefinition("/", roleDefinition.name);
getRoleAssignment(string, string, GetRoleAssignmentOptions)

获取以前在 Azure 密钥保管库中创建的角色分配。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
let roleAssignment = await client.createRoleAssignment("/", "295c179b-9ad3-4117-99cd-b1aa66cf4517");
roleAssignment = const await client.getRoleAssignment(roleAssignment.properties.roleScope, roleAssignment.name);
console.log(roleAssignment);

获取现有角色分配。

getRoleDefinition(string, string, GetRoleDefinitionOptions)

从 Azure 密钥保管库获取角色定义。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleDefinition = await client.getRoleDefinition("/", "b86a8fe4-44ce-4948-aee5-eccb2c155cd7");
console.log(roleDefinition);
listRoleAssignments(string, ListRoleAssignmentsOptions)

循环访问 Azure 密钥保管库中的所有可用角色分配。

用法示例:

let client = new KeyVaultAccessControlClient(url, credentials);
for await (const roleAssignment of client.listRoleAssignments("/")) {
  console.log("Role assignment: ", roleAssignment);
}

列出给定范围内的所有角色分配。

listRoleDefinitions(string, ListRoleDefinitionsOptions)

循环访问 Azure 密钥保管库中的所有可用角色定义。

用法示例:

let client = new KeyVaultAccessControlClient(url, credentials);
for await (const roleDefinitions of client.listRoleDefinitions("/")) {
  console.log("Role definition: ", roleDefinitions);
}

列出给定范围内的所有角色定义。

setRoleDefinition(string, SetRoleDefinitionOptions)

在 Azure 密钥保管库中创建或更新角色定义。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const permissions = [{ dataActions: [KnownKeyVaultDataAction.BackupHsmKeys] }];
const roleDefinitionName = "23b8bb1a-39c0-4c89-a85b-dd3c99273a8a";
const roleDefinition = await client.setRoleDefinition(KnownKeyVaultRoleScope.Global, { permissions, roleDefinitionName });
console.log(roleDefinition);

构造函数详细信息

KeyVaultAccessControlClient(string, TokenCredential, AccessControlClientOptions)

创建 KeyVaultAccessControlClient 的实例。

用法示例:

import { KeyVaultAccessControlClient } from "@azure/keyvault-admin";
import { DefaultAzureCredential } from "@azure/identity";

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

let client = new KeyVaultAccessControlClient(vaultUrl, credentials);
new KeyVaultAccessControlClient(vaultUrl: string, credential: TokenCredential, options?: AccessControlClientOptions)

参数

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使用 包创建满足需求的凭据。

options
AccessControlClientOptions

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

属性详细信息

vaultUrl

保管库的基 URL

vaultUrl: string

属性值

string

方法详细信息

createRoleAssignment(string, string, string, string, CreateRoleAssignmentOptions)

在 Azure 密钥保管库中创建角色分配。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleDefinition = await client.listRoleDefinitions("/").next();
const principalId = "4871f6a6-374f-4b6b-8b0c-f5d84db823f6";
const result = await client.createRoleAssignment("/", "295c179b-9ad3-4117-99cd-b1aa66cf4517", roleDefinition, principalId);

创建新的角色分配。

function createRoleAssignment(roleScope: string, name: string, roleDefinitionId: string, principalId: string, options?: CreateRoleAssignmentOptions): Promise<KeyVaultRoleAssignment>

参数

roleScope

string

角色分配的范围。

name

string

角色分配的名称。 必须是 UUID。

roleDefinitionId

string

角色分配中使用的角色定义 ID。

principalId

string

分配给角色的主体 ID。 这映射到 Active Directory 中的 ID。 它可以指向用户、服务主体或安全组。

options
CreateRoleAssignmentOptions

可选参数。

返回

deleteRoleAssignment(string, string, DeleteRoleAssignmentOptions)

删除以前在 Azure 密钥保管库中创建的角色分配。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleAssignment = await client.createRoleAssignment("/", "295c179b-9ad3-4117-99cd-b1aa66cf4517");
await client.deleteRoleAssignment(roleAssignment.properties.roleScope, roleAssignment.name);

删除现有角色分配。

function deleteRoleAssignment(roleScope: string, name: string, options?: DeleteRoleAssignmentOptions): Promise<void>

参数

roleScope

string

角色分配的范围。

name

string

角色分配的名称。

options
DeleteRoleAssignmentOptions

可选参数。

返回

Promise<void>

deleteRoleDefinition(string, string, DeleteRoleDefinitionOptions)

删除以前在 Azure 密钥保管库中创建的自定义角色定义。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleDefinition = await client.setRoleDefinition("/", "23b8bb1a-39c0-4c89-a85b-dd3c99273a8a", []);
await client.deleteRoleDefinition("/", roleDefinition.name);
function deleteRoleDefinition(roleScope: string, name: string, options?: DeleteRoleDefinitionOptions): Promise<void>

参数

roleScope

string

角色定义的范围。

name

string

要删除的角色定义的名称。

options
DeleteRoleDefinitionOptions

可选参数。

返回

Promise<void>

getRoleAssignment(string, string, GetRoleAssignmentOptions)

获取以前在 Azure 密钥保管库中创建的角色分配。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
let roleAssignment = await client.createRoleAssignment("/", "295c179b-9ad3-4117-99cd-b1aa66cf4517");
roleAssignment = const await client.getRoleAssignment(roleAssignment.properties.roleScope, roleAssignment.name);
console.log(roleAssignment);

获取现有角色分配。

function getRoleAssignment(roleScope: string, name: string, options?: GetRoleAssignmentOptions): Promise<KeyVaultRoleAssignment>

参数

roleScope

string

角色分配的范围。

name

string

角色分配的名称。

options
GetRoleAssignmentOptions

可选参数。

返回

getRoleDefinition(string, string, GetRoleDefinitionOptions)

从 Azure 密钥保管库获取角色定义。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const roleDefinition = await client.getRoleDefinition("/", "b86a8fe4-44ce-4948-aee5-eccb2c155cd7");
console.log(roleDefinition);
function getRoleDefinition(roleScope: string, name: string, options?: GetRoleDefinitionOptions): Promise<KeyVaultRoleDefinition>

参数

roleScope

string

角色定义的范围。

name

string

角色定义的名称。

options
GetRoleDefinitionOptions

可选参数。

返回

listRoleAssignments(string, ListRoleAssignmentsOptions)

循环访问 Azure 密钥保管库中的所有可用角色分配。

用法示例:

let client = new KeyVaultAccessControlClient(url, credentials);
for await (const roleAssignment of client.listRoleAssignments("/")) {
  console.log("Role assignment: ", roleAssignment);
}

列出给定范围内的所有角色分配。

function listRoleAssignments(roleScope: string, options?: ListRoleAssignmentsOptions): PagedAsyncIterableIterator<KeyVaultRoleAssignment, KeyVaultRoleAssignment[], PageSettings>

参数

roleScope

string

角色分配的范围。

options
ListRoleAssignmentsOptions

可选参数。

返回

listRoleDefinitions(string, ListRoleDefinitionsOptions)

循环访问 Azure 密钥保管库中的所有可用角色定义。

用法示例:

let client = new KeyVaultAccessControlClient(url, credentials);
for await (const roleDefinitions of client.listRoleDefinitions("/")) {
  console.log("Role definition: ", roleDefinitions);
}

列出给定范围内的所有角色定义。

function listRoleDefinitions(roleScope: string, options?: ListRoleDefinitionsOptions): PagedAsyncIterableIterator<KeyVaultRoleDefinition, KeyVaultRoleDefinition[], PageSettings>

参数

roleScope

string

角色定义的范围。

options
ListRoleDefinitionsOptions

可选参数。

返回

setRoleDefinition(string, SetRoleDefinitionOptions)

在 Azure 密钥保管库中创建或更新角色定义。

用法示例:

const client = new KeyVaultAccessControlClient(url, credentials);
const permissions = [{ dataActions: [KnownKeyVaultDataAction.BackupHsmKeys] }];
const roleDefinitionName = "23b8bb1a-39c0-4c89-a85b-dd3c99273a8a";
const roleDefinition = await client.setRoleDefinition(KnownKeyVaultRoleScope.Global, { permissions, roleDefinitionName });
console.log(roleDefinition);
function setRoleDefinition(roleScope: string, options?: SetRoleDefinitionOptions): Promise<KeyVaultRoleDefinition>

参数

roleScope

string

角色定义的范围。

options
SetRoleDefinitionOptions

可选参数。

返回