Как будет работать SSO (аутентификация) и авторизация, если у нас два Identity Server?

Какие разрешения и роли будут использоваться для авторизации и аутентификации, если у нас будет два сервера идентификации?

Пример: Продукт ABC использует сервер идентификации Keycloak, у которого есть собственные пользователи, роли пользователей, группы пользователей, разрешения и т. д.

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

  1. Как здесь будет работать SSO?
  2. Продукт будет использовать свои собственные роли и разрешения или будет использовать недавно настроенные роли и разрешения пользователей ID Server?
  3. Как будут поддерживаться пользователи? на обоих серверах идентификации будут одинаковые пользователи?

person Nick    schedule 16.06.2017    source источник
comment
Какой протокол вы хотите использовать для единого входа? например) OpenID Connect, OAuth 2.0 и SAML 2.0   -  person hiropon    schedule 16.06.2017
comment
Мы используем OpenID Connect и OAuth 2.0 для авторизации.   -  person Nick    schedule 16.06.2017


Ответы (2)


Я не знаком с keycloak, поэтому пишу только общие вещи.

Как здесь будет работать SSO?

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

Продукт будет использовать свои собственные роли и разрешения или будет использовать недавно настроенные роли и разрешения пользователей ID Server?

Я предполагаю, что первый правильный.

Как будут поддерживаться пользователи? на обоих серверах идентификации будут одинаковые пользователи?

Если оба сервера идентификации использовали LDAP или AD, следует синхронизировать обоих пользователей. Или лучше объединить их в новую организацию.

ИЗМЕНИТЬ

Эта ссылка указывает, как синхронизировать сервер AD с другим.

person hiropon    schedule 16.06.2017
comment
Если оба сервера идентификации использовали LDAP или AD, следует синхронизировать обоих пользователей. Или лучше объединить их в новую организацию. Мы не можем объединить их в новую организацию, новый продукт является подмножеством их существующего ID-сервера. Таким образом, в случае, если сотрудник покинул компанию, он удалит пользователя со своего ID-сервера. Тот же пользователь должен удалить с сервера Product ID. --› Как этого добиться - person Nick; 16.06.2017
comment
Я думаю, что невозможно выполнить ваше требование с использованием функции AD по умолчанию. Потому что вы предполагали мастер-мастер архитектуры, и он должен отслеживать все операции CRUD (создание/чтение/обновление/удаление) для AD. - person hiropon; 19.06.2017

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

person stombeur    schedule 16.06.2017