Есть ли смысл в ключе API функций Azure, если ключ является общедоступным?

Функции Azure позволяют использовать ключи API в качестве формы авторизации.

Авторизация ключа API

By default, an HTTP trigger requires an API key in the HTTP request. So your HTTP request normally looks like the following:

https://<yourapp>.azurewebsites.net/api/<function>?code=<ApiKey>

You can allow anonymous requests, which do not require keys.

В моем случае функция Azure используется в одностраничном клиентском приложении веб-сайта, поэтому ключ API фактически общедоступен всем, кто занимается отладкой приложения.

В этом контексте есть ли смысл использовать API-ключ?

Таким образом, в основном единственное преимущество использования ключа API в SPA, где ключ является открытым, заключается в том, чтобы избежать поисковых роботов и случайного вызова, как указано ниже?

Jack Marchetti 07.02.2020 17:00
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
3
1
1 799
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

GET /api/get-issues HTTP/1.1
Host: {funcapp}.azurewebsites.net
User-Agent: ajax-library-of-the-day
x-functions-key: rkW0PqT.....zcUBQ==

Function authorization logic

Если вас беспокоит авторизация пользовательский агент для внутреннего API, вам понадобится неявный поток OAuth 2.0.

Не могу комментировать, если вам выставили счет за эти 401 Unauthorized. Скорее всего, нет, в противном случае это привело бы к очень дорогому вектору атаки, поскольку ваша подписка была бы слишком дорогой.

Если ошибка 401 вызвана EasyAuth или средой выполнения функций (как в этом случае), то с пользователя не взимается плата за выполнение.

Connor McMahon 05.04.2018 20:25

Другие вопросы по теме