Получить сертификат из хранилища ключей Azure в приложении Logic

#azure #azure-active-directory #azure-logic-apps #azure-keyvault #azure-authentication

#azure #azure-active-directory #azure-logic-apps #azure-keyvault #azure-аутентификация

Вопрос:

У меня есть сертификат, хранящийся в моем хранилище ключей Azure. Мне нужно создать приложение logic в той же подписке, чтобы использовать этот сертификат для аутентификации с конечной точкой веб-API службы приложений Azure с использованием AAD. Как мне получить сертификат из приложения logic? Я надеюсь, что смогу каким-то образом получить его непосредственно из приложения logic, не загружая его локально и повторно загружая в приложение Logic.

Ответ №1:

Вы можете вызвать REST API — Get Certificate в приложении logic, чтобы получить сертификат, выполните следующие действия.

1. Включите присвоенный системой идентификатор приложения logic на портале Azure

2. Перейдите к Access policies вашему keyvault, добавьте к нему идентификатор, присвоенный системе, с правильным Certificate Permissions , следуйте этому документу.

3.In в приложении logic используйте HTTP операцию, как показано ниже.

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

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

Комментарии:

1. Этот метод извлекает только открытый ключ, которого недостаточно для проверки подлинности клиента. Закрытый ключ можно получить как секретный под тем же именем, что и сохраненный сертификат. Обратите внимание, что пароль вам больше не понадобится, поскольку keyvault удалил его ( itnext.io /… ). Альтернативой является кодирование PFX с паролем в base64 и сохранение его как секретного.

2. Вы нашли решение? Я получаю сообщение об ошибке типа — в предоставленном сертификате аутентификации отсутствует закрытый ключ. Для подписи запроса требуется закрытый ключ.

Ответ №2:

Храните свои сертификаты в хранилище ключей, но если вы хотите использовать их в приложении Logic, встроенные действия хранилища ключей не помогут. Вам придется прибегнуть к HTTP-вызовам REST API!