Управляемые удостоверения для Azure AppService для вызова AppService
Я изучаю возможность реализации управляемых удостоверений для REST API, размещенных в службе приложений Azure. Этот Api использует несколько сторонних API, которые находятся вне нашего контроля и защищены AAD.
В настоящее время мы храним AAD ApplicationId / Secret в конфигурации. Всякий раз, когда нам нужно использовать какой-либо сторонний API, мы следуем нижеприведенному процессу -
- Используйте ApplicationId & Secret для генерации токена
- Вызвать сторонний API с токеном в заголовке
- Во время звонка clientId в токене проверяется на авторизацию
Можем ли мы использовать управляемые удостоверения в этом сценарии? Требует ли это изменения кода для какого-либо из этих API? Могу ли я получить доступ к ClientIds, которые я могу использовать для сторонних API для авторизации?
1 ответ
AFAIK, возможно, вы не сможете сделать это через MSI, MSI используется для предоставления доступа к службе приложений / функциям приложения другим ресурсам Azure. Если вы включите MSI веб-приложения, оно просто автоматически создаст субъект службы без приложения AD.
Есть ли способ узнать ClientId SPN, которым управляет управляемая идентификация?
Это возможно, перейдите к приложениям Enterprise в Azure Active Directory-> Поиск по имени вашего веб-приложения (вам нужно указать Application Type
фильтр с All Applications
) -> в Properties
Вы могли бы найти Application ID
это также называется ClientID
какой ты хочешь.
Но даже если вы сможете найти его, вы не сможете сгенерировать секрет принципала службы. Я думаю, что вы могли бы сделать это только с приложением AD (регистрация приложения).