Настройки приложения хранилища ключей функций Azure не работают - PullRequest
0 голосов
/ 11 января 2019

Что я делаю неправильно, пытаясь установить следующее в настройках приложения Functions v2.

@Microsoft.KeyVault(SecretUri=<uri>)

Читая это внутри функции, я получаю полную строку, а не строку подключения из хранилища ключей, как я ожидал.

var config = new ConfigurationBuilder()
                .SetBasePath(context.FunctionAppDirectory)
                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                .AddEnvironmentVariables()
                .Build();

            var value = config["cstring"];
            var connectionString = Environment.GetEnvironmentVariable("cstring");

            log.Info(value); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"
            log.Info(connectionString); // Prints "@Microsoft.KeyVault(SecretUri=<uri>)"

Нужно ли делать больше шагов?

Функция MSI, которая имеет доступ к хранилищу ключей.

Множество онлайн-уроков делают это простым и понятным.

1 Ответ

0 голосов
/ 14 января 2019

После включения MSI для функции Azure я вошел в свое хранилище ключей и добавил политику доступа, чтобы у моего приложения-функции Azure были разрешения на чтение секретов. Эта функция должна работать для всех версий функций Azure, размещенных в Azure. Это не будет работать локально.

Перейдите в свое лазурное хранилище ключей, добавьте в него принцип MSI и дайте Get разрешение на секрет.

enter image description here

Для получения более подробной информации, вы можете обратиться к этой статье и этой проблеме .

...