Ошибка Refrencine Azure Секрет хранилища ключей для S SH Ключ Linux Шаблон виртуальной машины ARM - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь принять как sh publi c для Linux vm через шаблон руки. Ключ publi c живет как секрет в keyvault.

Кто-нибудь сталкивался с подобной проблемой ниже? Если так, что было исправлением? Я пробовал несколько ключей, которые я сгенерировал с ssh-keygen -t rsa -b 2048. Если я скопирую строку ключа непосредственно в свойство keydata как строку, она работает.

Я скопировал следующий код из документации Microsoft, предполагая, что я могу использовать ключ s sh вместо adminpassword

"ssh": {
                            "publicKeys": [
                                {
                                    "path": "/home/bluecat/.ssh/authorized_keys",
                                    "keyData": {
                                        "reference": {
                                             "keyVault": {
                                                "id": "[resourceId(subscription().subscriptionId,resourceGroup().name,'Microsoft.KeyVault/vaults','kvbluecat')]"
                                                    },
                                            "secretName":"bluecatpub"
                                        }
                                    }
                                }
                            ]

После анализа значения обнаружен неожиданный символ::. Путь 'properties.osProfile.linuxConfiguration.s sh .publicKeys [0] .keyData', строка 1, позиция 958. ",

1 Ответ

0 голосов
/ 09 марта 2020

Я решил свою проблему. Оказывается, использованные таким образом ссылочные атрибуты (reference {}) доступны только в схеме параметров, а не в основной схеме шаблона развертывания, в которой находится шаблон json.

После ссылочных атрибутов для секретного хранилища ключей. в файл параметров json проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...