Azure RM 模板。使用 Key Vault 密码部署副本 VM

     2023-03-25     168

关键词:

【中文标题】Azure RM 模板。使用 Key Vault 密码部署副本 VM【英文标题】:Azure RM Template. Deploy copy VM with Key Vault password 【发布时间】:2017-07-01 20:06:50 【问题描述】:

我想通过将密码替换为 Key Vault 机密来自动部署可变数量的 VM(通过副本部署)。我想为不同的虚拟机使用不同的秘密(例如,用于 VM1 的秘密 1,用于 VM2 的秘密 2)。根据文档,我需要引用一个动态 id 为 https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-keyvault-parameter#reference-a-secret-with-dynamic-id 的秘密 我已经调整了文档示例以利用副本来部署我的虚拟机,但是在每次调用嵌套模板时,我都在努力将 secretName 更改为 secretName1、secretName2。我该怎么做?


    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": 
      "vaultName": 
        "type": "string"
      ,
      "secretName": 
        "type": "string"
      
    ,
    "resources": [
    
      "apiVersion": "2015-01-01",
      "name": "[concat('nestedTemplate-', copyIndex())]",
      "type": "Microsoft.Resources/deployments",
      "copy": 
        "name": "nestedTemplateLoop",
        "count": "[parameters('numberOfVMs')]"
      ,
      "properties": 
        "mode": "incremental",
        "templateLink": 
          "uri": "https://www.contoso.com/AzureTemplates/newVM.json",
          "contentVersion": "1.0.0.0"
        ,
        "parameters": 
          "adminPassword": 
            "reference": 
              "keyVault": 
                "id": "[concat(resourceGroup().id, '/providers/Microsoft.KeyVault/vaults/', parameters('vaultName'))]"
              ,
              "secretName": "[parameters('secretName')]"
            
          
        
      
    ],
    "outputs": 

【问题讨论】:

它们有何不同?例如? 我什至不知道如何在简单的 VM 上执行此操作。如果你碰巧看到一个很好的例子,请分享它。 github.com/Azure/azure-quickstart-templates/blob/master/… @4c74356b41,我浏览了您链接的模板并学会了安静一点。虽然,我的问题仍然存在,但我已将其更新为更具体。 【参考方案1】:
"secretName": [concat(parameters('secretName'), copyIndex())]

【讨论】:

纯代码答案确实是一个答案,但可能会从一些上下文/解释中受益。 没什么好解释的,这是一个很简单的表达方式,很直观 你需要解释这个表达式是如何解决问题的。它与 OP 所拥有的有什么不同? 这个答案确实解决了我在每次调用嵌套模板时更改 secretName 的问题。但是使用这种方法会出现另一个问题......因为我在嵌套模板中使用副本并将嵌套模板调用它自己可能会发生冲突。假设我想部署 2 个虚拟机,密码分别为 secret1 和 secret2。但是我的嵌套模板会做两次!使用 VM1 和 VM2 的密码“secret1”,还将尝试为两个 VM 部署密码为“secret2”的 VM1 和 VM2。我该如何克服呢? 好吧,不要在嵌套模板中创建 2 个虚拟机?只创建一个? @Max

使用 Azure Key Vault 存储的目的

】使用AzureKeyVault存储的目的【英文标题】:PurposeofgoingforanAzureKeyVaultstorage【发布时间】:2017-01-1914:23:56【问题描述】:我是Azure云服务平台的新手。今天偶遇azure提供的Key-Vault存储服务。它具有存储应用程序级密钥和设置的能力... 查看详情

使用 Azure Key Vault 轮换机密

】使用AzureKeyVault轮换机密【英文标题】:RotateSecretsusingAzureKeyVAult【发布时间】:2020-04-2621:11:12【问题描述】:我部署了许多cosmosdb,并希望自动管理它们的秘密和密钥。我正在查看KeyVault集成文档并找到了这些:使用AKV管理存储... 查看详情

通过 ARM 模板部署 Azure ML MSI 可在 Key Vault 上启用清除保护

】通过ARM模板部署AzureMLMSI可在KeyVault上启用清除保护【英文标题】:AzureMLMSIdeploymentoverARMTemplatesenablespurgeprotectiononKeyVault【发布时间】:2021-10-0401:56:40【问题描述】:我最近发现,当您从ARMTemplate部署AzureML实例时,MSI将覆盖KeyVaul... 查看详情

Azure Key Vault 机密查询

...s/azure/key-vault/general/overview声明“机密和密钥由Azure保护,使用行业标准算法、密钥长度和硬件安全模块( 查看详情

Angular - Azure Key Vault 管理 Vault 访问机密

...ets【发布时间】:2020-08-2717:06:21【问题描述】:是否可以使用AzureKeyVault在Angular应用中获取保管库访问机密?我正在使用隐式流处理AzureActiveDirectory,这意味着我在没有后端的情况下实现所有内容。在我的Angula 查看详情

使用 Azure Key Vault 签署 JWT 令牌

】使用AzureKeyVault签署JWT令牌【英文标题】:SignJWTtokenusingAzureKeyVault【发布时间】:2021-11-0601:36:17【问题描述】:我正在使用私钥签署JWT令牌,它按预期工作。但是,我想利用AzureKeyVault为我进行签名,这样私钥就不会离开KeyVault... 查看详情

在 C# 中使用 azure key vault 解密和下载“加密的 azure blob”

】在C#中使用azurekeyvault解密和下载“加密的azureblob”【英文标题】:Decryptinganddownloading\'encryptedazureblob\'usingazurekeyvaultinC#【发布时间】:2021-12-1303:32:31【问题描述】:我正在按照本文档使用AzureKeyVault中的密钥加密数据并上传到Azu... 查看详情

从 Azure Functions 访问 Azure Key Vault 时访问被拒绝

...【发布时间】:2020-10-3018:43:54【问题描述】:我的要求是使用存储在AzureKeyVault中的密钥,使用AzureFunction的应用程序配置设置来获取密钥,例如@Microsoft.KeyVault(SecretUr 查看详情

使用 Azure Key Vault 进行 Terraform 以获取机密值

】使用AzureKeyVault进行Terraform以获取机密值【英文标题】:TerraformwithAzureKeyVaulttogetsecretvalue【发布时间】:2018-03-2620:35:02【问题描述】:有什么方法可以从AzureKeyVault中获取密钥的值?看起来value不会暴露在密钥库机密对象here中。... 查看详情

无法使用 azure JavaScript 函数和 Key Vault 机密检索 cosmosDB 数据

】无法使用azureJavaScript函数和KeyVault机密检索cosmosDB数据【英文标题】:UnabletoretrievecosmosDBdatausingazureJavaScriptfunctionandKeyVaultsecret【发布时间】:2021-08-2405:16:41【问题描述】:我正在使用Azure函数(JavaScript/node)从CosmosDB查询和检索数... 查看详情

如何使用 Azure Key Vault 中的证书/密钥对使用 Azure Pipelines 构建的代码进行签名?

】如何使用AzureKeyVault中的证书/密钥对使用AzurePipelines构建的代码进行签名?【英文标题】:HowtosigncodebuiltusingAzurePipelinesusingacertificate/keyinAzureKeyVault?【发布时间】:2019-12-1920:34:02【问题描述】:我们正在从本地构建服务器迁移到... 查看详情

我们可以使用 Azure Key Vault 加密本地计算机上的 XML 文件吗?

】我们可以使用AzureKeyVault加密本地计算机上的XML文件吗?【英文标题】:CanweuseAzureKeyvaulttoencryptXMLfilesonlocalcomputer?【发布时间】:2021-11-1918:34:08【问题描述】:我的本​​地计算机中有几个XML,我需要使用Azure密钥库对其进行加... 查看详情

Azure - 使用服务主体对 Key Vault 进行身份验证返回未经授权的异常

】Azure-使用服务主体对KeyVault进行身份验证返回未经授权的异常【英文标题】:Azure-authenticatingtoKeyVaultusingServicePrinciplereturnsanUnauthorizedexception【发布时间】:2019-02-0314:33:04【问题描述】:我正在尝试使用服务原则(我有AppId和AppSe... 查看详情

如果使用 Azure 基于角色的访问控制,则无法在 Azure Key Vault 中创建机密

】如果使用Azure基于角色的访问控制,则无法在AzureKeyVault中创建机密【英文标题】:UnabletocreatesecretsinAzureKeyVaultifusingAzurerole-basedaccesscontrol【发布时间】:2021-12-2611:30:47【问题描述】:我真的是Azure的新手,但我正在努力学习-如... 查看详情

无法使用应用服务上的 Azure MSI 访问 Key Vault

】无法使用应用服务上的AzureMSI访问KeyVault【英文标题】:UnabletogetaccesstoKeyVaultusingAzureMSIonAppService【发布时间】:2018-02-2815:32:49【问题描述】:我已在应用服务上启用托管服务标识。但是,我的WebJobs似乎无法访问密钥。他们报告... 查看详情

使用带有 rest api 的 python 与 Azure Key Vault 交互

】使用带有restapi的python与AzureKeyVault交互【英文标题】:InteractingwithAzureKeyVaultusingpythonw/restapi【发布时间】:2015-05-2221:00:18【问题描述】:我对在Azure中使用最近发布的用于机密管理的新服务非常感兴趣。我找到了一些示例指南... 查看详情

Python Azure 函数 - 使用 Key Vault 进行 MSI 身份验证

】PythonAzure函数-使用KeyVault进行MSI身份验证【英文标题】:PythonAzureFunction-MSIAuthenticationwithKeyVault【发布时间】:2020-08-2122:52:08【问题描述】:我正在尝试设置一个PythonAzure函数,该函数将使用托管标识从密钥保管库中检索机密。... 查看详情

没有列表权限 Azure Key Vault 'Forbidden' 错误

...权限,部署在Azure中的Asp.NetCore2.2Web应用程序失败,并在使用Azure 查看详情