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
角色指派中使用的角色定義識別碼。
- principalId
-
string
指派給角色的主體識別碼。 這會對應至 Active Directory 內的識別碼。 它可以指向使用者、服務主體或安全性群組。
- 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>