2

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

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

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

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

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

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

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

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

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

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

Извинения за прозу и благодарность за чтение.

ответ

1

LDAP -> это далеко, чтобы централизовать учетные данные.

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

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

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

+0

Все это похоже на реализацию, о которой я упоминал, меня это не интересует. –

Смежные вопросы