Гипермедиа (ReST) SOA: хороший дизайн для согласованной аутентификации уровня обслуживания? - PullRequest
2 голосов
/ 09 сентября 2011

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

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

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

Мой вопрос к вам таков: существует ли общий шаблон дляОбеспечение согласованной аутентификации и управления учетными данными в разных службах?Если да, то что это?

Я выдвинул несколько идей, но были бы признательны замечания более опытных инженеров:

1) Каждый сервиспредоставляет дискретный, но механически идентичный интерфейс аутентификации и отвечает за собственное управление учетными данными.

2) As 1) , но с общим управлением учетными данными.Дискретный интерфейс аутентификации по-прежнему предоставляется для каждой службы в архитектуре, как в 1) , но базовый носитель данных является общим.

3) СуществуетЕдиная общая служба аутентификации, которая отвечает за аутентификацию и управление учетными данными для себя и всех других сервисов.

Я считаю идею 2) наиболее привлекательной, но она нуждается в некотором уточнении.Если я не нахожусь здесь на неправильном пути.

Пожалуйста, критикуйте / предлагайте столько, сколько считаете нужным.Имея в виду, конечно, что речь идет о дизайне, а не о реализации;Я не интересуюсь фреймворком / промежуточным программным обеспечением / протоколом XYZ на данный момент.

Извинения за прозу, и спасибо за чтение.

1 Ответ

1 голос
/ 09 сентября 2011

LDAP -> это все для централизации учетных данных.

Схема аутентификации Amazons AWS работает и превышает вон .Каждое приложение может реализовать это и обратиться к LDAP для получения учетных данных.

OAuth работает и превышает здесь , если вы хотите централизовать весь комплект.

Просто чтобы уточнить,это НЕ должно быть мысленным экспериментом.Это было сделано, нет причин переделывать это.Посмотрите вокруг на стандарты и реализуйте их.Вещи, которые говорят с LDAP, легион.AWS является специальным стандартом, но он выполняет свою работу и отвечает на большинство вопросов каждого, и был проверен, признан ошибочным и исправленным, и используется многими, как мы говорим, в дикой природе.OAuth помогает решить проблемы с центральной аутентификацией, если вы хотите туда зайти.

...