【问题标题】:How to debug a ConflictError when adding an access policy to a key vault using an ARM deployment使用 ARM 部署将访问策略添加到密钥保管库时如何调试 ConflictError
【发布时间】:2019-03-21 19:28:14
【问题描述】:

我正在尝试使用 ARM 部署向 Keyvault 添加访问策略。同时部署多个访问策略(使用复制 Arm 方法和嵌套模板),其中一些(在我重新触发部署时并不总是相同)失败并出现以下错误:

{
  "error": {
    "code": "ConflictError",
    "message": "A conflict occurred to prevent the operation from completing."
  }
}

错误消息不是真正的描述性,有什么方法可以获取有关问题的更多信息?

【问题讨论】:

  • 您找到解决方案了吗?我遇到了同样的问题。我尝试了下面的调试选项,也没有从错误消息中得到任何有意义的信息。

标签: azure azure-resource-manager azure-keyvault


【解决方案1】:

我遇到了同样的错误,我猜这是因为您试图并行修改同一个项目“密钥库”。 此更改解决了我的问题:

“模式”:“串行”

"copy": {
    "name": "<name-of-loop>",
    "count": <number-of-iterations>,
    "mode": "serial" <or> "parallel"
}

【讨论】:

  • 我采用了另一种方法来解决我的问题,方法是将所有权限集中在一个资源中,但我几乎可以肯定这种方法也可以。
【解决方案2】:

在部署期间,您可以请求在部署期间记录其他信息。在powershell中,将DeploymentDebugLogLevel参数设置为All。

New-AzResourceGroupDeployment `
  -Name exampledeployment `
  -ResourceGroupName examplegroup `
  -TemplateFile c:\Azure\Templates\storage.json `
  -DeploymentDebugLogLevel All

然后您可以检查请求内容或响应内容。

(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).Properties.response `
| ConvertTo-Json

关于排查部署错误的更多细节,可以参考https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-common-deployment-errors

【讨论】:

  • 抱歉,回复的时间太晚了,我试过你说的,但就像@user2770499一样,日志没有显示任何有用的信息......
  • @LucasGolven 你有没有想过这个问题?我也有同样的问题。
【解决方案3】:

如果您尝试将密钥创建到具有相同名称的已删除密钥的 KeyVault 中(KeyVault 已打开软删除),您还会收到错误消息 (A conflict occurred to prevent the operation from completing)。

【讨论】:

    【解决方案4】:

    我遇到了同样的问题。我不确定这个问题的根本原因是什么,它不能稳定地重现。但我想这可能是因为我同时创建了多个访问策略,实际上这是一个并发问题。也许您可以尝试按顺序添加访问策略。

    【讨论】:

    • 我也遇到了类似的问题。将复制循环模式从“并行”(默认)更改为“串行”以解决问题。
    【解决方案5】:

    我在尝试使用访问策略同时部署多个 Key Vault 时也遇到了这个错误。在我的情况下,切换到顺序部署并没有帮助。访问策略在 ARM 模板中部署为单独的对象。我终于发现我忘记了访问策略中对父资源的依赖:

    "dependsOn": [
                "[resourceId('Microsoft.KeyVault/vaults', parameters('My_Key_Vault_name'))]"
            ]
    

    啊,臭名昭著的 Microsoft 错误消息的乐趣...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      相关资源
      最近更新 更多