繁体   English   中英

通过 Arm 模板版本从 devops CI/CD 更新密钥库机密失败

[英]Updating key vault secret via Arm template release from devops CI/CD fails

我已经设法使用我的 arm 模板通过 DevOps 的 CI/CD 将机密信息发布到我的 Azure 密钥保管库。 初始版本运行良好,并将我新的不存在的机密添加到我的密钥保管库资源中。 尽管人们试图更新我的 ARM 模板中的秘密值,然后将其推送到我的 GIT-repo 以依次发布它以更新我在 azure 中的秘密,但它没有给我:

At least one resource deployment operation failed. Please list deployment operations for 
details. Please see https://aka.ms/DeployOperations for usage details.
Details:
BadRequest: 
Check out the troubleshooting guide to see if your issue is addressed: 
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting
Task failed while creating or updating the template deployment.

我的模板如下所示:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "keyVault": {
      "value": "test-kv-devopstest01-d"
    },
    "TestCedential_1": {
      "value": "TestCedentialSecretValue1"
    },
    "TestCedentialName_1": {
      "value": "TestCedentialSecretName1_SecondVersion"
    }
  }
}


{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "keyVault": {
      "type": "string"
    },
    "TestCedential_1": {
      "type": "secureString"
    },
    "TestCedentialName_1": {
      "type": "string"
    }
  },
  "variables": {
  },
  "resources": [

    {
      "type": "Microsoft.KeyVault/vaults/secrets",
      "name": "[concat(parameters('keyVault'), '/', parameters('TestCedentialName_1'))]",
      "apiVersion": "2015-06-01",
      "properties": {
        "contentType": "text/plain",
        "value": "[parameters('TestCedential_1')]"
      }
    }
  ],
  "outputs": {}
}

我还尝试在 azure 中的密钥保管库资源中为访问控制中的管道授予权限。

我可能错过了什么吗?

我在我的环境中测试了相同的代码,它导致了相同的错误:

在此处输入图像描述

问题在于以下内容:

"TestCedentialName_1": {
      "value": "TestCedentialSecretName1_SecondVersion"
    }

Key vault secret中,名称中不允许使用“_”(下划线) 允许的值为字母数字字符和破折号

在此处输入图像描述

将下划线更改为破折号可解决此问题:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "keyVault": {
        "type": "string",
        "defaultValue" :"test-kv-ansuman-d"
      },
      "TestCedential_1": {
        "type": "secureString",
        "defaultValue":"TestCedentialSecretValue1"
      },
      "TestCedentialName_1": {
        "type": "string",
        "defaultValue": "TestCedentialSecretName1-SecondVersion"
      }
    },
    "variables": {
    },
    "resources": [
      {
        "type": "Microsoft.KeyVault/vaults/secrets",
        "name": "[concat(parameters('keyVault'), '/', parameters('TestCedentialName_1'))]",
        "apiVersion": "2015-06-01",
        "properties": {
          "contentType": "text/plain",
          "value": "[parameters('TestCedential_1')]"
        }
      }
    ],
    "outputs": {}
  }

Output:

在此处输入图像描述

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM