Azure Настройки регистрации приложения AD для UIPath - PullRequest
1 голос
/ 03 августа 2020

мы используем UIPath в нашей компании для RPA. Мы попытались настроить UIpath для отправки почты от имени других пользователей. Мы следовали этому руководству: https://docs.uipath.com/marketplace/docs/microsoft-office-365-setup

В этой настройке есть две странные вещи:

  1. Мы ДОЛЖНЫ сделать регистрацию приложения " Публикация «c Клиент» в Azure. Насколько мне известно, обычно это относится к интерфейсным веб-приложениям, в которых секрет приложения не может быть скрыт. Это внутренний процесс, поэтому я думаю, что нет причин использовать клиент publi c. Прав ли я в этом утверждении? Каковы недостатки использования клиента publi c? Любой, у кого есть client_id, может выдать себя за регистрацию этого приложения? (может выступать в качестве регистрации этого приложения и запрашивать у пользователей учетные данные и получать токен от имени этого приложения?)

  2. Я добавил некоторые разрешения api для регистрации приложения, такие как mail.read, mail . отправить, эт c. В нем говорилось, что «согласие администратора не требуется», но это не сработало. После того, как я нажал кнопку «согласие администратора», он сказал, что предоставил эти разрешения, и конфигурация, похоже, работает. Что делает эта кнопка ADMIN CONSENT? Если я добавляю разрешения для регистрации приложения, всегда ли мне нужно нажимать согласие администратора?

Некоторые дополнительные пояснения относительно учетных данных publi c:

-Я регистрируюсь приложение под названием App-X, для которого задано значение publi c.

- Обычно без клиента publi c, когда я запрашиваю токен, мне нужны как client_id, так и client_secret. Используя client_secret, Microsoft знает, что я действительно являюсь приложением App-X, которое запрашивает этот токен от имени пользователя.

- Без использования client_secret любой, кто знает client_id, может запросить согласие от user и скажите: «Я App-X и прошу разрешения», хотя на самом деле это не App-X (просто какой-то случайный человек, который находит client_id). После того, как пользователь дал согласие, поскольку «он знает App-X и доверяет ему», злонамеренный пользователь / приложение также может запросить токен у Microsoft, потому что ему нужен только client_id.

1 Ответ

0 голосов
/ 04 августа 2020

1. Это внутренний процесс, поэтому я думаю, что нет причин использовать клиент publi c. Прав ли я в этом утверждении? Каковы недостатки использования клиента publi c? Любой, у кого есть client_id, может выдать себя за регистрацию этого приложения? (может выступать в качестве регистрации этого приложения и запрашивать у пользователей учетные данные и получать токен от имени этого приложения?)

Это зависит от типа вашего приложения. «Publi c client» обычно используется для настройки мобильных и настольных клиентских приложений. Поскольку UIPath - это мобильное приложение, которое отслеживает среду RPA, для регистрации вашего приложения вам необходимо выбрать регистрацию «Publi c Client».

Если вы не хотите, чтобы ваше приложение использовалось пользователям других организаций, вам не нужно регистрировать приложение как мультитенантное при регистрации приложения. Если ваше приложение должно использоваться несколькими организациями, вам необходимо зарегистрировать приложение как мультитенантное. В этом случае теоретически все арендаторы могут использовать это приложение. Однако вы можете проверить, из какого арендатора вошел пользователь при входе в систему, и вы можете запретить клиентам, которым вы не хотите выполнять вход, вход в систему. См.: здесь .

2. Что делает кнопка СОГЛАСИЕ АДМИНИСТРАТОРА? Если я добавляю разрешения к регистрации приложения, всегда ли мне нужно нажимать согласие администратора?

Каждое приложение регистрирует необходимые разрешения. Некоторые разрешения могут быть предоставлены пользователями, другие - только администратором.

Предположим, у вас есть только разрешения, которые могут быть одобрены пользователями. При первом использовании приложения им будет предложено (каждый пользователь) подтвердить эти разрешения для приложения. Если в том же сценарии вы нажмете grant admin consent, это будет эквивалентно его принятию для всех пользователей в клиенте.

Теперь предположим, что приложение регистрирует разрешения, требующие согласия администратора, у вас нет другого выбора, кроме нажмите эту кнопку, если вы хотите, чтобы приложение работало и могло запрашивать токены.

Для тех разрешений, которые требуют согласия администратора, вы можете go на Azure portal> App registrations> API permissions > Admin consent required для просмотра.

введите описание изображения здесь

...