你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
KeyVaultAccessControlClient class
KeyVaultAccessControlClient 提供用于管理任何给定 Azure 密钥保管库 实例中的访问控制和角色分配的方法。 客户端支持创建、检索和删除角色。
构造函数
Key |
创建 KeyVaultAccessControlClient 的实例。 用法示例:
|
属性
vault |
保管库的基 URL |
方法
create |
在 Azure 密钥保管库中创建角色分配。 用法示例:
创建新的角色分配。 |
delete |
删除以前在 Azure 密钥保管库中创建的角色分配。 用法示例:
删除现有角色分配。 |
delete |
删除以前在 Azure 密钥保管库中创建的自定义角色定义。 用法示例:
|
get |
获取以前在 Azure 密钥保管库中创建的角色分配。 用法示例:
获取现有角色分配。 |
get |
从 Azure 密钥保管库获取角色定义。 用法示例:
|
list |
循环访问 Azure 密钥保管库中的所有可用角色分配。 用法示例:
列出给定范围内的所有角色分配。 |
list |
循环访问 Azure 密钥保管库中的所有可用角色定义。 用法示例:
列出给定范围内的所有角色定义。 |
set |
在 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);
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
可选参数。
返回
Promise<KeyVaultRoleAssignment>
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
可选参数。
返回
Promise<KeyVaultRoleAssignment>
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
可选参数。
返回
Promise<KeyVaultRoleDefinition>
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
可选参数。
返回
Promise<KeyVaultRoleDefinition>