Когда вы задаете такие вопросы, вам нужно различать атакующих:
- А2) Разбойный интернет-хакер
- A3) Разработчик в вашей организации
- A4) Сотрудник вашей организации, выполняющий развертывание
Двоичные файлы вашей роли недоступны для A2, однако они очень доступны для A3 и A4.
Как уже упоминалось в другом ответе, вы можете хранить свои секреты в файле конфигурации ролей.
Тем не менее, эти секреты по-прежнему доступны для A4 (любой, кто имеет доступ к порталу).
Для защиты от A4 вы хотите зашифровать секреты в файле конфигурации роли с помощью ключа, которого нет в двоичных файлах роли или в конфигурации роли. Затем в двоичных файлах вашей роли вы дешифруете параметр зашифрованной роли с помощью ключа дешифрования.
Ключом для шифрования секретов является сертификат, который Azure SDK установит для вас. Вы можете найти пост о настройке сертификатов для Azure здесь .
Таким образом, для секретов, которые необходимо защищать от сотрудников вашей организации, которые осуществляют развертывание / имеют доступ к вашим файлам конфигурации, вы делаете следующее:
Попросите доверенную сторону сделать следующее:
- Генерация сертификата / закрытого ключа
- Зашифруйте секреты с помощью сертификата и сохраните зашифрованные настройки в ваших файлах конфигурации
- Загрузите сертификат / закрытый ключ к себе.
Затем измените ваш сервис на:
- Пусть сервисная модель установит сертификат / PrivateKey
- Приложите ваше приложение, загрузите закрытый ключ для расшифровки секретов
- Пусть ваше приложение загрузит зашифрованные параметры из конфигурации ролей и расшифрует их с помощью закрытого ключа.