Вы реализуете веб-сервис (будь то REST или SOAP) на каком-то языке программирования (например, Java или C #), работающем в каком-то «контейнере» (например, IIS / .Net или Tomcat).
Уровень ниже REST (например, код C #, используемый для реализации веб-службы IIS / .Net / SOAP, или код Java в вашем .war) - это уровень, на котором вы хочу написать произвольный код доступа.
Кроме того, некоторые поставщики (например, Amazon S3) уже сделали это для вас:
http://aws.amazon.com/s3/faqs/
Другие поставщики (например, Microsoft) предоставляют вам возможность использовать свою инфраструктуру аутентификации с вашим веб-сервисом:
Служба безопасного REST Microsoft Azure AppFabric