Проблема с разрешениями пользователя в веб-приложении 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. Веб-приложения выполняются в изолированной среде, которая обычно не допускает такого рода изменений.
Существуют способы загрузки сертификатов, и вы можете задать этот вопрос специально, если это то, что вы пытаетесь достичь.