简体   繁体   English

在 Azure 资源管理器(ARM)中从 KV 安装多个版本的证书

[英]Install multiple versions of cert from KV in Azure Resource Manager (ARM)

I'm using the secrets part of osProfile to install the certs I need from a given keyvault.我正在使用osProfilesecrets部分从给定的密钥库安装我需要的证书。

It looks something like this:它看起来像这样:

"secrets": [
    {
        "sourceVault": {
            "id": "[parameters('sourceVault')]"
        },
        "copy": [
            {
                "name": "vaultCertificates",
                "count": "[length(variables('certificatesToInstall'))]",
                "input": {
                    "certificateStore": "[variables('certificateStore')]",
                    "certificateUrl": "[reference(resourceId(parameters('subscriptionId'), parameters('resourceGroupName'), 'Microsoft.KeyVault/vaults/secrets', parameters('keyVaultName'), variables('certificatesToInstall')[copyIndex('vaultCertificates')]), '2016-10-01').secretUriWithVersion]"
                }
            }
        ]
    }
]

Which worked fine.效果很好。 However now I need to make sure that more than one version of the same cert is installed on the machine (current one and the previous).但是现在我需要确保机器上安装了同一证书的多个版本(当前版本和以前版本)。

Things I've tried:我尝试过的事情:

  • Listing a certificate to get its versions directly from ARM. There seems to be no support for this for generic KV as per the docs列出证书以直接从 ARM 获取其版本。根据文档,通用 KV 似乎不支持此操作
  • Adding the full version of the cert to the resourceId function. This fails when deploying.将完整版本的证书添加到resourceId function。部署时失败。

Any idea on how to reference previous versions of a cert inside ARM file?关于如何在 ARM 文件中引用以前版本的证书有什么想法吗?

check the below code on how to define the variable with secret's resource id检查下面的代码,了解如何使用秘密的资源 ID 定义变量

"mySecretResourceId": "[concat(resourceGroup().id,'/providers/Microsoft.KeyVault/vaults/', variables('keyVaultName'), '/secrets/', 'my-secret-name')]"

Then below code can be used in your template然后可以在您的模板中使用以下代码

"certificateUrl": "[reference(variables('mySecretResourceId'), '2018-02-14').secretUriWithVersion]"

You can also go through this SO which is having related discussions.也可以通过这个正在讨论的SO go。

Also Check this git hub link.还要检查这个git 中心链接。

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

相关问题 Azure 用于部署 SQL 和表的资源管理器 (ARM) 模板 - Azure Resource Manager (ARM) template to deploy SQL along with tables 使用 ARM 模板在 Azure VM 上安装 SCOM(System Center Operation Manager) - Install SCOM ( System Center Operation Manager ) on Azure VM with ARM Template 通过 ARM 模板使用单个 azure 资源向多个用户添加 RBAC 角色 - Adding a RBAC role to multiple users using single azure resource via ARM template Azure ARM 具有多个扩展和多个 VM - Azure ARM with Multiple Extensions and multiple VMs 尝试使用 Azure DNS 和证书管理器颁发 DNS 证书时出现授权错误 - Authorization error while trying to issue DNS certificate with Azure DNS and cert manager Azure 资源管理器 DNS:创建 DNS 记录的示例代码 - Azure Resource Manager DNS: Sample code to create a DNS record 将 ARM 模板部署到 Azure 资源组时出现授权错误 - Authorisation errors when deploying ARM templates to Azure Resource Group KQL / Azure Resource Graph Explorer:组合来自多个记录的值 - KQL / Azure Resource Graph Explorer: combine values from multiple records Azure 持久 function 多个版本的部署选项 function 应用程序 - Azure durable function deployment options for multiple versions of a function app .NET Azure sdk 资源管理器 - NuGet package:稳定版 - .NET Azure sdk resource manager - NuGet package: Stable release
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM