无法通过其他资源描述从Azure DevOps访问keyvault

时间:2019-12-19 13:30:33

标签: azure azure-devops azure-pipelines

我正在尝试构建我的DevOps管道来部署DataFactory,Databricks笔记本和Azure数据仓库,

我为Dev和Prod设置了资源订阅。部署到Prod似乎比看起来更棘手。

我的密钥库对目标DataFactory的秘密和密钥都具有GET / LIST权限。

https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment

我已使用上述指南在生产中设置目标数据工厂-并且已正确设置了所有连接字符串设置和keyvault权限。

但是我被困在这部分上:

  

授予Azure Pipelines代理权限Azure Key Vault   如果适当的权限,任务可能会失败并显示“访问被拒绝”错误   不存在。下载该版本的日志,然后找到.ps1   命令授予Azure Pipelines权限的文件   代理商。您可以直接运行命令,也可以复制主体   文件中的ID并在Azure中手动添加访问策略   门户。获取和列出是所需的最低权限。

在部署发行版时,我在KeyVault任务中遇到以下错误:

  

指定的Azure服务连接需要对所选密钥库具有“获取,列出”秘密管理权限。要设置这些权限,请从生成/发布日志中下载ProvisionKeyVaultPermissions.ps1脚本并执行它,或者从Azure门户对其进行设置

我已将此Power Shell脚本ProvisionKeyVaultPermissions.ps1添加到我的仓库中,并将其添加到我的任务中,但它永远运行吗?不确定我是否在这里缺少什么。

希望这很清楚/请询问其他信息。

1 个答案:

答案 0 :(得分:1)

我想知道是否缺少权限的是DevOps服务连接。 您可以从控制台检查Vault的访问策略。您应该将服务连接视为“ APPLICATION”;它需要GET和LIST权限,如您的后续文档所述。我的理解是,这些是用于部署代码的帐户的特权,而不是将用于运行代码的帐户的特权。

enter image description here