如何获取与单个用户相关的 Azure keyvault 的访问策略列表?
How to get the list of access policies of an Azure keyvault related to individual users?
我正在编写一个脚本,以删除单个用户对密钥保管库的所有权限,并将其替换为安全组的访问策略。
使用 Get-AzKeyVault,您可以获得密钥保管库的所有访问策略,但我没有在访问策略上看到 属性 允许我区分各个用户帐户、应用程序和安全组,例如Azure 门户可以。
如果您的浏览器足够慢,那么您可能会注意到 Azure 门户首先加载普通列表,然后按类型对其进行分组。这正是因为与您相同的原因:Graph API 只能 return 对象 id 而不能。您应该获取对象以实际找出类型:
$kv = Get-AzKeyVault -VaultName you-vault-name
# take all object ids for policies
$ids = $kv.AccessPolicies | select -ExpandProperty ObjectId
$objects = Get-AzureADObjectByObjectId -ObjectIds $ids
$objects | % {
$obj = $_
$kv.AccessPolicies | ? {$_.ObjectId -eq $obj.ObjectId} | Add-Member -MemberType NoteProperty -Name "Type" -Value $obj.GetType().Name -Force
}
$kv.AccessPolicies | ft
我正在编写一个脚本,以删除单个用户对密钥保管库的所有权限,并将其替换为安全组的访问策略。 使用 Get-AzKeyVault,您可以获得密钥保管库的所有访问策略,但我没有在访问策略上看到 属性 允许我区分各个用户帐户、应用程序和安全组,例如Azure 门户可以。
如果您的浏览器足够慢,那么您可能会注意到 Azure 门户首先加载普通列表,然后按类型对其进行分组。这正是因为与您相同的原因:Graph API 只能 return 对象 id 而不能。您应该获取对象以实际找出类型:
$kv = Get-AzKeyVault -VaultName you-vault-name
# take all object ids for policies
$ids = $kv.AccessPolicies | select -ExpandProperty ObjectId
$objects = Get-AzureADObjectByObjectId -ObjectIds $ids
$objects | % {
$obj = $_
$kv.AccessPolicies | ? {$_.ObjectId -eq $obj.ObjectId} | Add-Member -MemberType NoteProperty -Name "Type" -Value $obj.GetType().Name -Force
}
$kv.AccessPolicies | ft