Как сохранить и получить доступ к секретному ключу API на вашем сервере - PullRequest
0 голосов
/ 04 мая 2020

Я разрабатываю веб-приложение, бэкэнд работает на Raspberry Pi и собирает данные о погоде, ветре и состоянии моря с нескольких сайтов, а затем сохраняет их в корзине на jsonbin.io

My Пользовательский интерфейс, выполненный в реакции, получает доступ к данным json с помощью секретного ключа, который я хотел бы сохранить в секрете.

Я нашел много учебных пособий, в которых объясняется, как хранить секретные ключи в файле .env, но все они go говорят: «Если вы хотите сохранить его в секрете после развертывания, вам придется хранить это в серверной части сервера и реализовать свой собственный лог c для доступа к нему. ' Но я не могу найти какие-либо учебные пособия о том, как на самом деле это сделать.

Некоторые говорят, что не имеет значения, доступны ли ваши секретные ключи, потому что вы можете контролировать свой IP-адрес источника в вашем API, чтобы ограничить, кто может получить доступ к вашему API в любом случае. Jsonbin.io не имеет этой функции.


Мои вопросы:

  • Разве это не имеет значения, если люди могут получить доступ к моему секретному ключу? Должен ли я хранить мои json данные где-нибудь, что позволяет мне устанавливать исходные IP-адреса?

  • Есть ли какие-либо советы или руководства, на которые кто-нибудь может указать мне, что есть инструкции о том, как хранить и получить доступ к ключам API на сервере? Или вам нужно иметь опыт работы с сервером, чтобы сделать что-то подобное?

Я использую общий сервер на a2hosting.com

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2020

Я бы сказал, что это зависит от безопасности, которую вы хотите.

Если это только веб-сайт для вас, у вас есть несколько вариантов, таких как:

  • ограничить доступ к вашему веб-интерфейс с указанным c IP или чем-то другим (но я не знаю, поддерживает ли a2hosting.com), а затем просто вставьте секретный ключ в свой веб-интерфейс
  • внедрите систему аутентификации с бэкэндом, который позволит Вы должны проверить, что пользователь является пользователем git et c

    • , если не имеет значения, имеют ли люди доступ к вашим данным, и вы не будете платить больше денег, вы можете просто положить их в интерфейс ,

    • Однако, если это только веб-сайт для вас, но вы хотите быть в безопасности, не добавляя auth или backend, можно просто прочитать токен jsonbin из локального хранилища или приготовить ie (во внешнем интерфейсе). (и вы устанавливаете его самостоятельно на вкладке отладочного хранилища chrome или firefox), поэтому случайный посетитель вашего сайта будет иметь ошибку, потому что у него не будет установлен правильный токен локального хранилища, но вы можете настроить его для себя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...