我们最近购买了Azure App服务证书。我在此证书的设置过程中创建了一个新的密钥保管库存储,并导入了证书。
现在,我尝试使用此处提供的powershell脚本创建应用服务证书的本地副本:https://blogs.msdn.microsoft.com/appserviceteam/2017/02/24/creating-a-local-pfx-copy-of-app-service-certificate/
然而,我收到错误:
Set-AzureRmKeyVaultAccessPolicy:找不到Active Directory对象''在租户中我的租户ID#39;请确保您授权的用户或应用程序服务主体已在电流中注册 订阅的Azure Active目录。 cmdlet显示的TenantID' Get-AzureRmContext'是目前的子公司 ription的Azure Active目录。 在C:\ Projekt \ Certificates \ Azure \ copyasc.ps1:22 char:1 ...
我不确定还有什么相关内容,但这里有一些注释:
我发送到失败的Set-AzureRmKeyVaultAccessPolicy -UserPrincipalName temp@outlook.com的用户名对应于我在Azure Active Directory的默认目录中看到的唯一用户的用户名。
此用户的ObjectId位于keyvault的访问策略列表中(我通过将-Debug添加到失败的cmdlet来看到这一点。)
keyvault中没有密钥。有一个(非托管)秘密,证书。
有些线程提到了有关AD应用程序的内容。我不确定我理解我读到的这些内容。这是我在创建keyvault时需要做的事情吗?
希望有人可以帮助我吗? :)
答案 0 :(得分:2)
根据错误日志,您的UserPrincipalName
值错误。请执行以下命令以获取UserPrincipalName
。
Get-Azureaduser
temp@outlook.com
不是Azure AD帐户,其userprincipalname应为temp@outlook.com#EXT#@<your AD>
。
或者您可以将UserPrincipalName
替换为用户的对象ID。
Set-AzureRmKeyVaultAccessPolicy -ResourceGroupName $keyVaultResourceGroupName -VaultName $keyVaultName -ObjectId $userobjectid -PermissionsToSecrets get