How to write a secret to azure key vault from Azure DevOps pipeline?

£可爱£侵袭症+ 提交于 2021-02-11 04:56:31

问题


I have created a Key Vault in Azure DevOps using ARM and I now want to write a secret to it within the same pipeline.

I created an Azure PowerShell task with the following inline PowerShell:

$secretvalue = ConvertTo-SecureString $(Secret) -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName $(VaultName) -Name $(SecretName) -SecretValue (ConvertTo-SecureString $(Secret) -AsPlainText -Force)

The key vault gets created fine, but I get the following error when trying to write the secret:

[error]Access denied

If I run Set-AzureKeyVaultSecret on my local machine it works fine.

EDIT

Here are some screenshots of what I've done. In Azure DevOps I created a Service Connection and verified it:

Here's what my Azure PowerShell task looks like to write the secret to the vault:

Key Vault permissions:

Do I need a separate Service Principal or do I need to create an App Registration?


回答1:


Pretty sure you gave rights to the wrong entity. To find the proper entity do this.

Click Manage link in the Azure Subscription field, it will navigate you to a new blade. Click Manage Service Principal there. It will take you to the application page in Azure AD. After that you can copy name under Managed application in local directory field and use that name to grant it Key Vault permissions.




回答2:


Check your permissions for the service connection to ARM and permissions in your vault. Steps to check are here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-key-vault?view=vsts



来源:https://stackoverflow.com/questions/52910591/how-to-write-a-secret-to-azure-key-vault-from-azure-devops-pipeline

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!