Ярлыки

понедельник, 7 мая 2018 г.

Отправка Email из Azure Functions: secure way


Azure Functions - очень удобный инструмент для автоматизации каких-либо задач. Как-только автоматизация настроена - сразу возникает вопрос: как получать уведомления о результатах? Самое логичное решение - использовать электронную почту для отправки оповещений.
Как делать это безопасно и бесплатно расскажу ниже.

Подсказка: данный мануал можно использовать не только для отправки почты, но и впринципе для безопасной работы с любыми секретами/сертификатами/ключами.

Постановка задачи


Пускай у нас уже есть:

  • Function App с именем "test-azurefunctions-notifications"
  • Учётная запись от почтового сервера (пускай будет Office 365)

Сделаем так, чтобы мы могли:

  • Отправлять уведомления из Function App
  • Не хардкодить учётку в коде Function App

Все настройки можно выполнить при помощи Azure Portal.

Настройка Function App

Открываем: Function App -> Platform features -> NETWORKING -> Managed service identity


Включаем "Register with Azure Active Directory"


Это позволить приложению запрашивать access token для получения доступа к другим ресурсам Azure (в нашем случае Key Vault). Подробнее тут.

Настройка Azure Key Vault

Создаём Key Vault по инструкции. Добавляем логин и пароль от почтового аккаунта.

Key vault -> Secrets -> Generate/Import



Разрешаем нашему Function App запрашивать эти логин и пароль. Для этого идём в Key vault -> Access policies -> Add new  и выбираем:
  • Secret permissions: Get, List
  • Select principal: test-azurefunctions-notifications


Отправка уведомлений

Проверим, что мы можем использовать сохранённые учётные данные.

Приведу вариант реализации на PowerShell. Примеры для других языков можно посмотреть в документации Microsoft.



Результат будет выглядеть примерно так:



Код на PowerShell.

1 комментарий:

  1. Automation can minimize down on this labor time price but is only possible when excessive portions are required. 3ERP offers one-stop speedy prototyping providers & low volume manufacturing providers. With years of manufacturing expertise, our experts offer one of the best solution for all your speedy manufacturing wants. Fingerprint Door Lock Learn Sheet metal design, processes and sensible design concerns along with Design projects...

    ОтветитьУдалить