Проблема с разрешениями пользователя в веб-приложении Azure (ApplicationPool - Identity)

Я пытаюсь программно изменить свойство ApplicationPool - Identity сервера IIS, на котором размещено мое веб-приложение Azure.

Почему я это делаю?

Мне нужно предоставить сертификат X.509. Реализация этого сертификата требует некоторых локальных системных данных.

Что я сделал до сих пор?

Я использую этот конкретный код (почти то же самое здесь /questions/16775110/nastrojka-udostovereniya-dlya-pula-prilozhenij-v-kachestve-lokalnoj-sistemyi-v-azure/16775129#16775129)

private void SetAppPoolIdentity()
{
    string appPoolUser = "myRDP_admin_user";
    string appPoolPass = "my_super_secure_password";

    Action<string> iis7fix = (appPoolName) =>
    {
        bool committed = false;
        while (!committed)
        {
            try
            {
                using (ServerManager sm = new ServerManager())
                {
                    var applicationPool = sm.ApplicationPools[appPoolName];
                    applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
                    //applicationPool.ProcessModel.IdentityType = ProcessModelIdentityType.LocalSystem;
                    applicationPool.ProcessModel.UserName = appPoolUser;
                    applicationPool.ProcessModel.Password = appPoolPass;
                    sm.CommitChanges();
                    committed = true;
                }
            }
            catch (FileLoadException fle)
            {
                Trace.TraceError("Trying again because: " + fle.Message);
            }
        }
    };

    var appPoolNames = new ServerManager().Sites.First().Applications.Select(x => x.ApplicationPoolName).ToList();
    appPoolNames.ForEach(iis7fix);
}

Моя проблема в том, что у моего пользователя недостаточно прав для изменения ApplicationPool - Identity на LocalSystem.

И у меня нет имени пользователя и пароля для конкретного пользователя (администратора или локального администратора) в размещенном в Azure веб-приложении.

Любой другой подход или идея или обходной путь приветствуются.

1 ответ

Решение

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

Существуют способы загрузки сертификатов, и вы можете задать этот вопрос специально, если это то, что вы пытаетесь достичь.

Другие вопросы по тегам