2013-02-12 4 views
0

Я пытаюсь получить Wasabi (блок автоматической блокировки библиотеки предприятия) для работы в роли рабочего Azure. Роль работника Васаби (Extra Small, full trust) - это масштабирование другой рабочей роли в той же службе. Он отлично работает с локальным консольным приложением с идентичной конфигурацией - с учетом ошибок сертификат не попадает в виртуальную машину. Я использую последние версии SDK Azure, блок автомасштабирования корпоративной библиотеки и портал Azure.Azure/Wasabi: сертификат никогда не попадает в CurrentUser/My store

Вот шаги, которые я взял, на основе этих Документов: http://msdn.microsoft.com/en-us/library/hh680937(v=pandp.50).aspx

  1. Я создал сертификат управления в соответствии с направлениями здесь: http://msdn.microsoft.com/en-us/library/gg432987.aspx.
  2. Я экспортировал .pfx с закрытым ключом и дал ему пароль.
  3. Я загрузил файл .cer в раздел Settings-> Management Certificates на портале.
  4. Я загрузил .pfx с правильным паролем в Облачные сервисы -> (Моя служба) -> Сертификаты, отметив указанный отпечаток.
  5. Я создал несколько тривиальных правил, которые увеличили мое приложение на несколько экземпляров и правильно настроили служебную информацию для использования моего нового сертификата. Файлы XML хранятся в блочном хранилище. Эта точно конфигурация отлично работает на моей локальной машине в консольном приложении.
  6. Я добавил запись в настройке роли Wasabi, используя правильное имя сертификата и отпечаток. Я установил его для использования CurrentUser \ My store. Я подтвердил, что файлы .csdef и .cscfg были правильно обновлены.
  7. Развертывание службы для постановки на Azure с помощью инструмента публикации. Настройка конфигурации сертификата правильно отображается в настройке конфигурации для роли.
  8. Он не масштабирует приложение. Я проверяю записи трассировки, и у него есть исключение при попытке получить доступ к API управления. Он пытается получить доступ к правильной подписке и пытается найти правильный отпечаток сертификата в правильном хранилище, поэтому моя конфигурация загружается правильно. Он утверждает, что не может найти сертификат с этим отпечатком в этом магазине.

Я попытался LocalMachine \ My магазина (сконфигурированный в настройках сертификата роли, а в хранилище данных XML службы), и я получил другую ошибку exceptionthe, перечисленную в Azure WASABi SecurityNegotiationException. Это решение было в конечном итоге пойти в CurrentUser, так что это не помогает мне здесь.

Я пробовал много других комбинаций CurrentUser \ LocalMachine и разных магазинов, а все местоположения CurrentUser приводят к не найденному сертификату, и все магазины LocalMachine приводят к другому исключению.

Я проверил тройные проверки параметров роли, портала (страницы сертификата) и файла служебной информации, и все они совпадают.

Затем я включил удаленный рабочий стол и выполнил вход в экземпляр роли Wasabi и использовал MMC для просмотра конфигурации сертификата как для локальной машины, так и для текущего пользователя. Когда я выбрал хранилище LocalMachine в настройках сертификата роли, сертификат появился в магазине LocalMachine, который сообщает мне, что сертификат правильно установлен в службе и соответствует отпечаткам пальцев. Когда выбрано хранилище CurrentUser, сертификат не отображается нигде. Это может быть связано с тем, что пользователь, который используется RDP, не является тем же пользователем, что и служба, но он соответствует ошибке.

Итак, в заключение:

  1. Сертификат был правильно настроен и установлен на портале (сертификаты управления для подписки и служебные удостоверения).
  2. Очевидно, вы должны использовать местоположение CurrentUser, а не местоположение LocalMachine, для роли Wasabi (в соответствии с связанным вопросом SO).
  3. Когда я пытаюсь установить на CurrentUser, сертификат не помещается в виртуальную машину, по крайней мере, нигде, где эта роль может найти ее роль.

Любые идеи?

Спасибо!

ответ

3

См. Мой ответ на этот вопрос SO POST. Сертификат должен быть в LocalMachine, и из-за изменений конфигурации в инициализации роли SDK 1.8 и Server2012 вам необходимо запустить рабочую роль с повышенными разрешениями, чтобы предоставить NETWORK SERVICE доступ к закрытым ключам сертификата. Редактировать ServiceDefinition.csdef

<?xml version="1.0" encoding="utf-8"?> 
<ServiceDefinition name="blah" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8"> 
    <WorkerRole name="blah" vmsize="Small"> 
    <Runtime executionContext="elevated" /> 
    ...  
    </WorkerRole> 
</ServiceDefinition> 
+0

Вау, я не уверен, как я пропустил этот вопрос. Забавно, что прежде чем все рекомендации должны были использовать CurrentUser, поскольку LocalMachine не работал. Я также чувствую себя лучше, чем стучать головой об этом - это была проблема SDK, а не что-то глупое, что я забыл. –

 Смежные вопросы

  • Нет связанных вопросов^_^