Защищенные API-ключи для Azure Search, как Algolia - PullRequest
0 голосов
/ 17 июня 2019

Я должен переписать поиск, который использует Algolia в данный момент.В будущем следует использовать поиск Azure.Проблема: поиск происходит во внешнем интерфейсе с использованием JavaScript.Это означает, что я должен поместить свой ключ API туда, но мне все еще нужно защитить некоторые элементы в поисковом индексе.Ключ API отображается в коде JavaScript (пользователь может найти его с помощью инструментов разработки веб-браузера).Для Algolia функция Защищенный ключ поиска решает эту проблему, генерируя ключи поиска для каждого пользователя.

Но как мне это сделать в Azure Search?Я нашел только поисковые фильтры, но не вижу способа генерирования защищенных ключей API.Или я что-то упустил?Помощь будет оценена.Спасибо!

1 Ответ

1 голос
/ 18 июня 2019

Чтобы использовать ключ запроса для отправки запросов в Azure Search непосредственно из клиентского Javascript, ключ запроса должен быть открыт клиенту.С точки зрения безопасности вы не должны доверять клиенту и поэтому должны предполагать, что вы публично раскрываете ключ запроса.Если вы не возражаете против того, чтобы содержимое вашего индекса стало общедоступным, тогда это нормально, но в противном случае лучше, чтобы ваш клиентский код вызывал промежуточный серверный API, который проверяет подлинность клиента перед вызовом Azure Search с соответствующим ключом API..

Что касается защиты от атак DOS, в Azure Search нет ничего конкретного. Надеюсь, это поможет.

...