Разрешить владение гостевым пользователем над регистрацией приложения для управления сертификатами и секретами - PullRequest
0 голосов
/ 18 февраля 2020

На нашем клиенте AD я проверяю права гостевого пользователя на регистрацию приложения + принципал обслуживания. Я хочу разрешить внешней демонической службе вызывать мой. NET Core REST API. Чтобы сделать это безопасно, мне нужен поставщик удостоверений, которому доверяют обе стороны, и тот, который ограничивает административные накладные расходы на управление хранилищами учетных данных.

Вместо того, чтобы развертывать IdentityServer или делать что-то глупое, например жесткое кодирование паролей basi c -auth в моем API, я рассматриваю возможность использования нашего клиента Azure AD, и внешний клиент зарегистрирован в качестве приложения в нашем клиенте , Затем они могут легко проверить подлинность этого приложения-демона в AD и вызвать мой API, и я пропускаю необходимость управления хранилищем учетных данных. Кроме того, клиент получает пароль refre sh et c, он может управлять своими учетными данными. Ура!

Насколько я понимаю, исходя из этой страницы , гость может стать владельцем регистрации приложения и участника службы. Сделано успешно, как в приложении AzureAD, так и в объектах AzureAD ServicePrincipal. После чего пользователь-гость должен иметь возможность управлять определенными аспектами регистрации этого приложения. В частности, я хочу, чтобы гостевой пользователь мог управлять учетными данными для регистрации этого приложения. На странице документации указано, что гостю разрешено:

Права гостевого пользователя

  • Чтение свойств зарегистрированных и корпоративных приложений
  • Управление приложениями свойства, назначения, и учетные данные для собственных приложений
  • Удаление собственных приложений
  • Восстановление собственных приложений

Однако даже после выхода и возврата Чтобы перефразировать sh мои токены, портал Azure по-прежнему блокирует моего гостя-тестировщика от управления приложением, владельцем которого он стал. (На самом деле ошибка имеет гиперссылку на страницу, показывающую владельцев, и вот, гостевая учетная запись отображается как владелец)

Вопрос в том, пропускаю ли я где-нибудь запись конфигурации ключа, чтобы это произошло или документация неверна, и гостям просто не разрешается управлять учетными данными, содержащимися в объекте субъекта службы?

1 Ответ

1 голос
/ 19 февраля 2020

Я могу воспроизвести вашу проблему, в соответствии с do c, гость должен иметь возможность управлять учетными данными для собственных приложений, не зная, почему это происходит, просто два решения для вас здесь.

1 .Пройдя мой тест, вы можете перейти к Azure AD на портале -> User settings -> нажмите Manage external collaboration settings -> установите для Guest users permissions are limited значение No, тогда гостевой пользователь сможет управлять учетными данными для принадлежащее приложение успешно.

Примечание : Если Guest users permissions are limited равен No, пользователь Guest будет иметь некоторые другие разрешения в качестве пользователя-участника, например, создать новую регистрацию приложения, просмотреть другое приложения, владельцем которых он не является.

enter image description here

2.Это вариант, который я рекомендую вам использовать, создайте пользовательскую роль администратора в AAD, назначьте роль пользователю «Гость» в области действия указанного c приложения, Guest users permissions are limited может быть Yes. После этого пользователь «Гость» просто имеет разрешения в указанном c приложении, остальные разрешения похожи на обычного пользователя «Гость».

Просто создает роль на портале и назначить роль пользователю в области действия принадлежащего ей приложения .

Это также можно сделать с помощью Powershell или Graph API, ссылка - Создать и назначить пользовательскую роль в Azure Active Directory .

Для разрешений в пользовательской роли все они зависят от ваших требований, это моя роль.

enter image description here

После назначения роли это работает.

enter image description here

...