Я делаю свои первые шаги в Azure, пытаясь понять, насколько сложно было бы развернуть бизнес mISV, где я бы продавал подписки на свое приложение, работающее в Azure (модель SaaS).
С этой целью я пытаюсь запустить
Пример применения Tailspin
следующие инструкции описаны
здесь .
Для запуска приложения необходимы как минимум два активных каталога Azure. Одно объявление принадлежит фиктивному поставщику программного обеспечения Tailspin (в данном случае, мне). Веб-приложение Tailspin и соответствующий WebAPI зарегистрированы в этом каталоге. Другое объявление принадлежит клиенту (в данном случае опять мне). Клиенты подписываются на заявку.
У меня есть одна подписка Azure, поэтому я был вынужден настроить что-то вроде этого:
-
Я зарегистрировал веб-приложение Tailspin и WebAPI в AD по умолчанию. ( Полагаю, я мог бы создать для этой цели специальную AD, но это не было строго необходимо. ). Приложение и API должны были быть созданы в этой AD, потому что они потребляют ресурсы, а ресурсы требуют подписки. Для помещения приложения и API в отдельную AD потребуется отдельная подписка Azure.
-
Я пометил как веб-приложение, так и API как мультитенант (чтобы они могли появляться в других объявлениях после регистрации клиента).
-
Я создал еще одну AD под названием TaiispinClient1 (имя не имеет значения) с идеей использовать ее как «клиентскую» AD.
-
В TailspinClient1 AD я создал гостевого пользователя, используя один из моих внешних адресов электронной почты. Я не мог создать обычного пользователя AD, потому что создание обычных пользователей требует наличия проверенного веб-домена, и я не хотел проходить проверку на этом этапе.
-
Я позаботился о том, чтобы мой гостевой пользователь был обычным пользователем с правами администратора:
- В пользовательских настройках TailspinClient1 AD «Пользователи могут регистрировать приложения» установлено значение «Да» (по умолчанию)
-
В разделе «Управление параметрами внешней совместной работы» для «Разрешения гостевых пользователей ограничены» установлено значение Нет.
-
У моего гостевого пользователя есть роли административного каталога (в частности, «Глобальный администратор» и «Администратор приложения»)
В заключение я получил две AD в одной подписке Azure: AD по умолчанию с приложением / API Tailspin с несколькими арендаторами,
и TailspinClient1 AD с администратором (пусть и внешним).
Я запускаю приложение Tailspin локально.
Когда я пытаюсь зарегистрироваться в приложении в качестве пользователя-администратора из AD TailspinClient1, я получаю следующее сообщение об ошибке после того, как я (успешно) аутентифицирую себя:
AADSTS50020: Учетная запись <мой администратор TailspinClient1> от провайдера идентификации «live.com» не существует в клиенте «Каталог по умолчанию» и не может получить доступ к приложению в этом клиенте. Сначала необходимо добавить учетную запись в качестве внешнего пользователя в клиенте. Выйдите и войдите снова, используя другую учетную запись пользователя Azure Active Directory.
Это сообщение имело бы смысл, если бы я забыл пометить свое приложение / API Tailspin как мультитенантное, чего я не сделал.
Что мне здесь не хватает? Эта конкретная настройка поддерживается вообще? Нужно ли как-то установить доверие между этими двумя объявлениями?
Любая помощь приветствуется.