Защита REST и JSON - PullRequest
       18

Защита REST и JSON

5 голосов
/ 17 июля 2009

Я хочу создать свои веб-службы, обслуживающие данные JSON, с использованием архитектуры RESTful.

Но я хочу, чтобы мои собственные клиентские приложения могли запрашивать только мои веб-службы.

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

Буду признателен за любые идеи, спасибо.

Ответы [ 2 ]

5 голосов
/ 17 июля 2009

Тот факт, что он является RESTful или использует JSON, не имеет значения, когда речь заходит о защите веб-службы. Любой веб-сервис должен быть защищен таким же образом. Есть несколько вещей, которые вы должны сделать:

  1. Если возможно, не размещайте свой веб-сервис в Интернете. Например, если веб-служба размещена в локальной сети вашей компании, она не будет доступна для общего пользования, если вы не предоставите ее специально через маршрутизатор.
  2. Настройка правил аутентификации и авторизации. Если вы размещаете веб-службу внутри домена Windows, вы можете просто использовать проверку подлинности Windows и настроить правила на основе пользователей и групп Active Directory. Другие варианты - использовать HTTP-аутентификацию, аутентификацию с помощью сертификата клиента или, если вы разрабатываете в .NET, аутентификация с помощью форм.
  3. Используйте шифрование (HTTPS), особенно если ваш веб-сайт размещен в Интернете.
1 голос
/ 17 июля 2009

Вам просто нужна пара вещей для этого. Во-первых, клиенту службы нужно будет пройти аутентификацию на вашем сервисе (через HTTPS), чтобы сделать запрос. Как только клиент аутентифицирован, вы можете вернуть приватный токен, который клиент должен включить в этот токен. Пока токен истекает через разумное время и для его создания используется безопасный алгоритм, он должен делать то, что вы хотите.

Если у вас более строгие требования к безопасности, вы можете последовать совету Якоба или дать клиенту начать сеанс VPN перед выполнением запросов.

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