Просмотр параметров приложения Azure Webjob в заблокированной производственной среде

Мы используем веб-задания Azure для различных задач. Dev, Test, Demo и Prod находятся в отдельных подписках Azure. У нас есть команда управления конфигурацией, которая контролирует/блокирует доступ ко всему, кроме Dev. Они не хотят, чтобы разработчики могли просматривать пароли, строки подключения и т. д. в этих средах. Наша проблема заключается в том, что для устранения неполадок нам необходимо иметь возможность видеть определенные вещи в этих средах. Даже если мы не можем видеть все, было бы неплохо иметь возможность видеть имена настроек приложения или значение строки подключения с удаленным паролем. Также было бы полезно иметь доступ к Kudu, чтобы просматривать журналы веб-заданий и тому подобное, а также заглядывать в сервисную шину, чтобы видеть недоставленные сообщения в очереди.

90% того, что нам нужно для устранения неполадок, они не возражают против того, чтобы мы увидели. Проблема заключается в том, что ни Config Management, ни мы, разработчики, не придумали, как получить нужные разрешения в Azure.

Кто-нибудь знает, как мы можем настроить вещи, чтобы разработчики могли видеть больше вещей в нашей тестовой подписке Azure, не нарушая политики, чтобы не показывать нам пароли, строки подключения и т. д.?

Спасибо большое!


person Dan Csharpster    schedule 28.10.2016    source источник
comment
Так что вам нужно только видеть журналы?   -  person Thomas    schedule 31.10.2016
comment
у нас очень ограниченный доступ в других средах. Руководителям наших команд был предоставлен доступ к Azure Table Services, поэтому теперь мы можем просматривать таблицы, большие двоичные объекты и очереди в Azure Storage Explorer.   -  person Dan Csharpster    schedule 31.10.2016


Ответы (2)


Нет "хорошего" способа решить эту проблему. Настройки приложений, Kudu и панель веб-заданий — все это вещи административного уровня. Доступ к одному может предположительно дать вам доступ к другим. Например, панель инструментов покажет вам аргументы функции, которые могут содержать секреты. AppSettings будут иметь строки подключения. И т. д. WebJobs не обеспечивает какой-либо золотой середины фильтрации.

person Mike S    schedule 03.11.2016
comment
Да, поэтому решение, которое мы придумали, состоит в том, чтобы создать сценарий Powershell с правами администратора, который очистит настройки, а затем выгрузит их в хранилище больших двоичных объектов, где разработчики смогут их просмотреть. - person Dan Csharpster; 20.11.2016

Поэтому, используя наш ограниченный доступ к Azure Table Services, я написал компонент, который при запуске веб-задания перебирает appSettings и connectionStrings в ConfigurationManager, удаляет пароли и ключи доступа, а затем выводит их в виде файла json в хранилище BLOB-объектов. Таким образом, руководители нашей команды смогут просматривать 95% данных, которые нам необходимо проверить.

person Dan Csharpster    schedule 31.10.2016