Azure SDK для .NET-аутентификации - где сохранить созданный субъект службы? - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь понять, как пройти проверку подлинности с помощью Azure во время разработки и производства.

Для разработки я следовал инструкциям здесь: Документация

Теперь у меня есть файл и переменная среды, которые Azure SDK использует для аутентификации.

Однако для производства я не знаю, куда поместить этот файл. В этом случае производство представляет собой набор функций Azure, которые используют Azure SDK. В документации субъект обслуживания хранится на C:\.

Должен ли я отказаться от переменной среды и вместо этого поместить файл участника службы в мой каталог src (и, конечно, исключить его из коммитов), а затем убедиться, что файл скопирован в выходные данные, чтобы он присутствовал в обеих разработках и производство?

var credentials = SdkContext.AzureCredentialsFactory
        .FromFile("service-principle.json"); // same dir as the Azure Function DLLs

1 Ответ

0 голосов
/ 07 сентября 2018

Как сказал Томас, вы можете добавить параметр в настройку приложения функции Azure на портале Azure.

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

Примечание. Необходимо сохранить настройки после их добавления. Тогда мы могли бы использовать SdkContext.AzureCredentialsFactory.FromServicePrincipal(clientId, clientSecret, tenantId, environment: AzureEnvironment.AzureGlobalCloud); для получения учетных данных.

Ниже приведен демонстрационный код.

var clientId = Environment.GetEnvironmentVariable("clientId");
var clientSecret = Environment.GetEnvironmentVariable("clientSecret");
var tenantId = Environment.GetEnvironmentVariable("tenantId");
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(clientId, clientSecret, tenantId, environment: AzureEnvironment.AzureGlobalCloud);

Не рекомендуется публиковать файл Credentials в функцию Azure, если вы все еще хотите это сделать. Вы можете использовать функцию Azure kudu. А функция Azure D: \ home доступна для общего пользования, вы можете загрузить свой service-принцип.json в нужную папку.

...