服务主体在密钥库访问策略中添加为未知

问题描述

我想将服务主体添加到 Azure keyvault 访问策略。

我尝试使用以下命令

Set-AzkeyvaultAccesspolicy -VaultName 'kvevalmock' -ObjectId '23erer-ed58-4ead-w34d-1ete23w3yofa' -PermissionsToSecrets @("get","list","set","delete","backup","restore","recover","purge") -PermissionsToKeys @("decrypt","encrypt","unwrapKey","wrapKey","verify","sign","get","update","create","import","purge") -BypassObjectIdValidation

命令被执行,但在密钥库访问策略中,应用程序部分中未列出服务主体。 SP 被添加为未知。 由于这个问题,keyvault secret 创建会抛出禁止访问错误

enter image description here

解决方法

对于参数-ObjectId,您应该提供服务主体(企业应用)的对象ID,而不是注册应用的对象ID。

首先去你注册的app,我猜你复制了这个页面中的对象id:

enter image description here

点击上面截图红框中的“本地目录中的托管应用”,进入服务主体(企业应用)。然后复制应用程序的对象,在您的命令中使用对象 ID。 enter image description here