繁体   English   中英

通过 SPN 连接到 Azure KeyVault

[英]Connecting to Azure KeyVault via SPN

我需要通过服务主体访问 Azure KeyVault 的帮助。 我目前有两个订阅需要通信和访问另一个订阅的 Key Vault,但为此我需要通过 SPN 进行连接。 我查看了Get-AzureRmKeyVault的文档,它没有提供通过 SPN 进行身份验证的方法。

如果有人有解决方案,我将不胜感激!

不知道你到底是什么意思access keyvault ,在 azure keyvault 中,有Management planeData plane ,它们使用不同的访问控制机制。

如果您希望您的服务主体执行Management plane操作(例如,设置您的密钥库的标签),您需要在门户中的密钥库的Access control (IAM)中为其赋予一个角色。 如果您想进行Data plane操作(例如对密钥库中的密钥、秘密、证书进行操作),您需要将具有正确权限的服务主体添加到密钥库的Access policies中。

有关 keyvault 访问控制的更多详细信息,您可以检查 - Secure access to a key vault

因此,请确保您的服务主体已经拥有正确的权限,然后使用下面的命令。

$azureAplicationId ="<application-id>"
$azureTenantId= "<tenant-id>"
$azurePassword = ConvertTo-SecureString "<client-secret>" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId -ServicePrincipal 

然后,您可以执行像Update-AzKeyVault这样的Management plane操作,或者像Get-AzKeyVaultSecret这样的Data plane操作。

要访问不同订阅中的密钥库,只需使用以下命令订阅 select。

Set-AzContext -Subscription <subscription-id>

而且我注意到您似乎正在使用旧的AzureRm模块,它已被弃用并且不会再更新,我建议您使用新的Az模块,按照Migrate Azure PowerShell 从 AzureRM 到 Az

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM