Я регулярно использую ссылки на хранилища ключей в моих файлах параметров шаблона в ARM для безопасной передачи секретов.
Теперь, вместо того, чтобы иметь единственные параметры хранилища ключей, я пытаюсь передать массивобъекты, на которые ссылается ключ.Это не работает, к сожалению.Для справочной информации: я пытаюсь развернуть / получить вторичное хранилище ключей из основного хранилища ключей и перенести / скопировать некоторые записи.
Для этого разверните в моем шаблоне следующие ресурсы:
{
"type": "Microsoft.KeyVault/vaults",
"name": "my-new-sub-vault",
"apiVersion": "2015-06-01",
"location": "[resourceGroup().location]",
"properties": {
"enabledForDeployment": "false",
"enabledForTemplateDeployment": "false",
"enabledForVolumeEncryption": "false",
"tenantId": "[subscription().tenantId]",
"accessPolicies": [
{
"tenantId": "[subscription().tenantId]",
"objectId": "[parameters('msiObjectId')]",
"permissions": {
"keys": ["get", "list"],
"secrets": ["get", "list"]
}
}
],
"sku": {
"name": "Standard",
"family": "A"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"name": "[concat('my-new-sub-vault', '/', parameters('secretsObject').secrets[copyIndex()].secretName)]",
"apiVersion": "2015-06-01",
"properties": {
"value": "[parameters('secretsObject').secrets[copyIndex()].secretValue]"
},
"dependsOn": [
"[concat('Microsoft.KeyVault/vaults/my-new-sub-vault')]"
],
"copy": {
"name": "secretsCopy",
"count": "[length(parameters('secretsObject').secrets)]"
}
}
Есть ли ошибка в моем синтаксисе?Или это невозможно?
Выдается ошибка:
New-AzResourceGroupDeployment: 16:25:54 - Ресурс Microsoft.KeyVault / vaults / secrets 'my-new-Сбой хранилища / my-secret 'с сообщением' {"error": {"code": "BadRequest", "message": "Секрет отсутствует"}} '
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"secretsObject": {
"value": {
"secrets": [
...,
{
"secretName": "my-secret",
"secretValue": {
"reference": {
"keyVault": {
"id": "/subscriptions/subId/resourceGroups/main/providers/Microsoft.KeyVault/vaults/master-vault"
},
"secretName": "my-secret"
}
}
}
]
}
}
}
}
Ура