Русский
  • согласие
  • sso
  • аутентификация
  • idp

Введение в экран согласия пользователя

Что такое экран согласия пользователя и как он работает? В этой статье объясняются основные идеи, лежащие в основе экрана согласия пользователя и как его следует использовать.

Simeng
Simeng
Developer

Что такое экран согласия пользователя

Представьте, что вы регистрируетесь в новом социальном приложении, используя свою учетную запись Google. Вы нажимаете кнопку "Войти с Google" и вас перенаправляют в Google для завершения процесса входа. После успешной аутентификации с Google вас перенаправляют на страницу, которая просит предоставить этому приложению доступ к вашему профилю учетной записи Google. Что-то вроде этого:

Экран согласия Google

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

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

Страницы согласия особенно важны в контексте нормативов о конфиденциальности, таких как Общий регламент по защите данных (GDPR) в Европейском Союзе или Закон о конфиденциальности потребителей Калифорнии (CCPA) в Соединенных Штатах, которые требуют от организаций четкого и однозначного согласия пользователей на обработку их персональной информации.

Когда нам нужен экран согласия?

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

Провайдер удостоверений (IdP) и Поставщик услуг (SP)

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

В контексте аутентификации пользователей мы называем сторону, владеющую данными пользователя, Провайдером удостоверений (IdP). А приложение, запрашивающее доступ к данным пользователя, мы называем Поставщиком услуг (SP). В приведенном выше примере Google является IdP, а социальное приложение - SP.

IdP отвечает за аутентификацию пользователя и предоставляет информацию профиля пользователя SP. SP - это сторона, которой необходима информация о профиле пользователя для предоставления своих услуг.

Единая идентификация (SSO)

В приведенном выше примере социальное приложение использует Google в качестве своего IdP. Это обычная ситуация в индустрии. Многие приложения используют Google, Facebook или другие сторонние сервисы в качестве своего IdP. Это называется Единая идентификация (SSO). SSO - это свойство контроля доступа в нескольких связанных, но независимых программных системах. С помощью этого свойства пользователь может войти с одним идентификатором и паролем для получения доступа к нескольким связанным приложениям. Вы можете обратиться к CIAM 101: Authentication, Identity, SSO для получения дополнительных сведений.

Первосторонний против Сторонний IdP

Первосторонний IdP - это IdP, который принадлежит той же организации, что и SP. SP может даже иметь то же доменное имя, что и IdP. Таким образом, SP запрашивает доступ к данным пользователя, принадлежащим той же организации. Например, если вы используете Google Workspace, то Google является вашим первосторонним IdP.

Сторонний IdP, с другой стороны, - это IdP, который принадлежит другой организации, чем SP. SP запрашивает доступ к данным пользователя, которые ему не принадлежат. Например, если вы используете Google в качестве вашего IdP и входите в социальное приложение, как в примере выше, то Google является сторонним IdP для социального приложения.

Согласие пользователя

Всякий раз, когда пользователь входит в приложение, крайне важно, чтобы пользователь знал, какие данные собираются и как они будут использоваться.

Для первостороннего IdP такая информация обычно охвачена политикой конфиденциальности и условиями использования организации. Обычно от пользователя требуется согласиться с политикой конфиденциальности и условиями использования перед регистрацией в сервисе. Следовательно, пользователь уже осведомлен о том, какие данные собираются и как они будут использоваться. В этом случае согласие пользователя является неявным.

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

Таким образом, для стороннего IdP согласие пользователя всегда требуется. Именно поэтому все основные IdP, такие как Google, Facebook и Microsoft, требуют от SP отображать экран согласия для пользователя прежде, чем пользователь сможет войти в SP.

Например, в случае с Google, когда вы пытаетесь создать клиента Google OAuth, от вас потребуется предоставить подробную конфигурацию экрана согласия.

Конфигурация экрана согласия Google

Это гарантирует, что пользователь осведомлен о деятельности по обмену данными и дал свое явное согласие на это.

Какую информацию следует включить в экран согласия?

Демонстрация экрана согласия

Важно, чтобы экран согласия предоставлял пользователю достаточно информации для принятия обоснованного решения. Включая, но не ограничиваясь:

  • Какая сторона (SP) запрашивает доступ к данным пользователя?
  • Какова текущая личность пользователя?
  • Какие данные пользователя собираются?
  • Как будут использоваться данные пользователя?
  • Какие дополнительные услуги или API, предоставленные IdP, будут использованы?
  • Какие дополнительные разрешения будут предоставлены SP?
  • Какова политика конфиденциальности SP?

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

IdP несет ответственность за то, чтобы данные пользователя использовались только для целей, на которые пользователь дал согласие. IdP не должен позволять SP использовать данные пользователя для любых других целей без явного согласия пользователя.

Заключение

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