在 ARM 模板中创建的对象的秘密能否自动添加到 Key Vault

Can Secrets From Objects Created in ARM Templates Get Auto Added to Key Vault

如果我有可以创建的 Azure ARM 模板:

有没有办法使用 ARM 模板将 Azure 容器注册表的用户名和密码自动添加到 Azure Key Vault?

是否有某种方法可以为此目的在 ARM 模板中引用 Azure 容器注册表用户名和密码机密?

更新

@EdBoykin 的回答是正确的,这就是我最后的结果:

{
  "type": "Microsoft.KeyVault/vaults/secrets",
  "name": "[concat(parameters('key_vault_name'), '/AzureContainerRegistryKey1')]",
  "apiVersion": "2015-06-01",
  "properties": {
    "contentType": "text/plain",
    "value": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', parameters('container_registry_name')), '2017-10-01').passwords[0].value]"
  },
  "dependsOn": [
    "[concat('Microsoft.KeyVault/vaults/', parameters('key_vault_name'))]",
    "[concat('Microsoft.ContainerRegistry/registries/', parameters('container_registry_name'))]"
  ]
}

穆罕默德, 要在 KeyVault 中创建机密,您需要创建一个如下所示的 ARM 模板。确保更新 'dependson' 部分,以便此资源取决于首先创建的 ACR。用户名将成为 ACR 资源名称。因此,无论您在 ARM 脚本中将其设置为什么,您都可以将其作为密钥保管库机密存储在密钥保管库中。

对于密码或密钥,这就是您所做的。这是添加 KeyVault 机密的示例模板

{
  "type": "Microsoft.KeyVault/vaults/secrets",
  "name": "[concat(variables('keyVaultName'), '/{YourACRKey1SecretName}')]",
  "apiVersion": "2015-06-01",
  "properties": {
    "contentType": "text/plain",
    "value": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', parameters('YourACRName')), '2017-10-01').passwords[0].value]"
  },
  "dependsOn": []
}

{YourACRKey1SecretName} 应更改为您的 ACR Key1 值的秘密名称。

要在您的密钥保管库中设置另一个密钥,请使用新名称创建另一个密钥保管库机密资源并将其用作值:

对于密钥 2

[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', parameters('YourACRName')), '2017-10-01').passwords[1].value]