SAML - при создании новых пользователей, как получить необходимые поля? - PullRequest
0 голосов
/ 17 января 2019

(Я разместил это на бирже безопасности пару дней назад, но пока не получил ответов, поэтому привожу его сюда.)

Моя компания управляет продуктом saas;По мере продвижения к корпоративным клиентам мы получаем все больше и больше запросов на SSO.

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

Есть несколько аспектов этого, что мой Google-фу побеждает меня.

1) Как получить необходимые метаданные в потоке нового пользователя?Например, чтобы пользователь работал и работал в нашей системе, нам нужно знать, в какую команду он входит, какой-либо конкретный сторонний идентификатор и пару других вещей.Предположительно, этот же рабочий процесс может позаботиться о редактировании для пользователей, например, «этот пользователь перешел в новую команду Y» обрабатывается только изменением team_id по аутентифицированному запросу от провайдера идентификации.

2) Как мнебороться с дезактивацией?Мы продаем нашим клиентам N мест одновременно;неудовлетворительно говорить «если я не видел пользователей в течение Y недель, то считаю их деактивированными».

3) Некоторые из наших существующих клиентов используют Azure, Ping, Okta для управления своими пользователями (и хотят продолжатьделать это).Все они могут говорить на SAML, поэтому для аутентификации нам будет хорошо, если мы реализуем аутентификацию SAML.Тем не менее, как они настроили бы свои системы так, чтобы эти поля были обязательными для заполнения?

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

Спасибо

Ответы [ 2 ]

0 голосов
/ 22 января 2019

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

Многие SP используют атрибуты eduPerson для предоставления.например,

в какой команде они могут быть

можно сделать с помощью eduPersonScopedAffiliation:

team_name@company.com

scope часть company.comбудет определенным для этого клиента.

конкретный идентификатор третьей стороны

может быть сделан с eduPersonUniqueId:

49832387

или вы можетеиспользуйте непрозрачный идентификатор, такой как eduPersonTargetedID.Идея заключается в том, что этот уникальный идентификатор является вашей «ручкой», с которой можно повесить личную информацию пользователя (в соответствии с такими законами, как GDPR и т. Д.).Таким образом, вы можете использовать уникальный идентификатор, чтобы загрузить имеющиеся у вас метаданные для этого идентификатора и управлять любыми изменениями, team_id и т. Д.

пара других вещей

васМожно использовать любой из атрибутов eduPerson или договориться о пользовательских.Все IdP могут освобождать любой атрибут после настройки.

Как мне справиться с деактивацией?

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

, как бы они настроили свои системы на обязательное заполнение этих конкретных полей?

это до них.Как только вы договорились о выпуске требуемых атрибутов из IdP каждого клиента, клиент настроит их конец и настроит выпуск.Это не твоя проблема.Если они используют SAML, они должны иметь возможность настроить свой IdP для освобождения того, что вам нужно.Все, что вас волнует, это получение необходимых атрибутов.Так будет ли у клиента, так как без них, нет доступа к защищенной по договору услуге.

Что побудило меня, поставщика приложений, зарегистрироваться в Okta, Ping и т. Д.?

Я думаю, что большинство людей, использующих эти сервисы, хотят запускать IdP, поэтому вы просто используете метаданные SAML, которые они предоставляют.Вам нужно запустить SP, чтобы вы могли просто использовать I2 SP и настроить его под свою среду.

0 голосов
/ 18 января 2019

SAML - это протокол проверки подлинности, а не протокол обеспечения.

Взгляните на SCIM .

например. Azure AD может аутентифицировать пользователей с использованием SAML, но имеет другой поток подготовки .

...