Безопасные секреты проверки подлинности в Azure Key Vault для Статические веб-приложения Azure
При настройке пользовательских поставщиков проверки подлинности может потребоваться сохранить секреты подключения в Azure Key Vault. В этой статье показано, как использовать управляемое удостоверение, чтобы предоставить Статическим веб-приложениям доступ к Key Vault для пользовательских секретов для проверки подлинности.
Примечание.
Бессерверные функции Azure не поддерживают прямую интеграцию Key Vault. Если требуется интеграция Key Vault с управляемым приложением-функцией, необходимо реализовать доступ Key Vault в код приложения.
Для секретов безопасности необходимо, чтобы были размещены перечисленные ниже элементы.
- Создайте назначаемое системой удостоверение в статическом веб-приложении.
- Предоставьте удостоверению доступ к секрету Key Vault.
- Сошлитесь на секрет Key Vault из параметров приложения Статических веб-приложений.
В этой статье показано, как настроить каждый из таких элементов в рабочей среде для использования собственных функций-приложений.
Интеграция с Key Vault недоступна для:
- Промежуточных версий статических веб-приложений. Интеграция Key Vault поддерживается только в рабочей среде.
- Статических веб-приложений, использующих управляемые функции.
Примечание.
Использование управляемого удостоверения доступно только в плане "Стандартный" Статические веб-приложения Azure.
Необходимые компоненты
- Существующий сайт Статических веб-приложений Azure, использующих ваши собственные функции.
- Существующий ресурс Key Vault со значением секрета.
Создание удостоверения
Откройте статические веб-приложения в портал Azure.
В разделе Параметры выберите пункт Удостоверение.
Выберите вкладку Назначаемое системой.
В поле "Состояние" нажмите кнопку "Вкл.".
Выберите Сохранить.
Когда появится диалоговое окно подтверждения, нажмите кнопку "Да".
Теперь можно добавить политику доступа, чтобы разрешить статическому веб-приложению считывать секреты Key Vault.
Добавление политики доступа к Key Vault
Откройте ресурс Key Vault на портале Azure.
В меню Параметры выберите Политики доступа.
Выберите ссылку Добавить политику доступа.
В раскрывающемся списке Разрешения секретов выберите Получить.
Рядом с меткой Выбор субъекта выберите ссылку Ничего не выбрано.
В поле поиска найдите имя статического веб-приложения.
Выберите элемент списка, соответствующий имени приложения.
Выберите Выбрать.
Выберите Добавить.
Выберите Сохранить.
Теперь политика доступа сохранена в Key Vault. Затем получите доступ к URI секрета, который будет использоваться при связывании статического веб-приложения с ресурсом Key Vault.
В меню Параметры выберите Секреты.
Выберите нужный секрет в списке.
Выберите версию секрета в списке.
Выберите копию в конце текстового поля "Секретный идентификатор" , чтобы скопировать значение URI секрета в буфер обмена.
Вставьте это значение в текстовый редактор для последующего использования.
Добавление параметра приложения
Откройте сайт Статических веб-приложений на портале Azure.
В меню Параметры выберите Конфигурация.
В разделе "Параметры приложения" нажмите кнопку "Добавить".
Введите имя в текстовое поле Имя.
Укажите значение секрета в текстовом поле Значение.
Значение секрета составляется из нескольких разных значений. В следующем шаблоне показано, как составляется окончательная строка.
@Microsoft.KeyVault(SecretUri=<YOUR_KEY_VAULT_SECRET_URI>)
Например, последняя строка будет выглядеть следующим образом:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
Еще один вариант:
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
Чтобы создать полное значение секрета, выполните приведенные ниже действия.
Скопируйте приведенный выше шаблон и вставьте его в текстовый редактор.
Замените
<YOUR_KEY_VAULT_SECRET_URI>
значением URI Key Vault, которое вы подготовили ранее.Скопируйте новое полное строковое значение.
Вставьте значение в текстовое поле Значение.
Нажмите ОК.
Нажмите кнопку "Сохранить " в верхней части панели инструментов параметров приложения.
Теперь, когда настраиваемая конфигурация проверки подлинности ссылается на только что созданный параметр приложения, значение извлекается из Azure Key Vault с использованием удостоверения статического веб-приложения.