通过 Azure Key Vault 上的组访问策略似乎不起作用。
如果我创建一个新的 key 保管库
New-AzureRmKeyVault -VaultName $vaultName
并检查 key (目前没有)
Get-AzureKeyVaultKey -VaultName $vaultName
这有效。
如果我添加对当前用户所属组的访问权限
$group = (Get-AzureRmADGroup -SearchString 'All Developers')[0].Id
Set-AzureRmKeyVaultAccessPolicy -VaultName $vaultName -ResourceGroupName $resourceGroupName -ObjectId $group -PermissionsToKeys all -PermissionsToSecrets all
并删除直接访问
Remove-AzureRmKeyVaultAccessPolicy -VaultName $vaultName -ResourceGroupName $resourceGroupName -UserPrincipalName $upn
列表操作现在失败
Get-AzureRmKeyVault -VaultName $vaultName -ResourceGroupName $resourceGroupName
Get-AzureKeyVaultKey : Operation "list" is not allowed
如何获得群组许可?
最佳答案
今天我发现它适用于许可组对象中的用户。不适用于这些组中的服务主体。
换句话说,如果我使用客户端 ID 和客户端 key 进行身份验证,则关联的服务主体必须具有直接在 key 保管库上设置的访问策略。如果我授予安全组权限,则该组中的用户实际上可以访问 key 保管库。我想这与 JWT 如何在其中包含用户的安全组有关,但与服务主体无关......
关于Azure Key Vault 访问策略不适用于组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35589043/