Режим инкогнито, также известный как режим конфиденциального просмотра, не позволяет веб-браузеру сохранять историю просмотров на устройстве. Включив режим инкогнито, вы можете просматривать веб-страницы в Интернете с...
Основное различие между Security Assertion Markup Language (SAML) и Open Authorization (OAuth) заключается в их роли: SAML фокусируется на аутентификации, а OAuth — на авторизации. Несмотря на различия, и SAML, и OAuth необходимы для повышения общей безопасности вашей организации, позволяя авторизованным пользователям подтверждать свою личность и получать доступ к соответствующим ресурсам.
Читайте дальше, чтобы узнать, что такое SAML и OAuth, их различия, сходства и стоит ли вашей организации их использовать.
Что такое SAML?
Security Assertion Markup Language (SAML) упрощает процесс входа в систему, позволяя пользователям входить с одним набором учетных данных и получать доступ к нескольким системам без необходимости каждый раз вводить учетные данные. SAML работает путем отправки информации об аутентификации в определенном формате между поставщиком идентификационных данных (IdP) и веб-приложением. При попытке войти в систему веб-приложение, использующее SAML для аутентификации, запрашивает у поставщика идентификационных данных информацию для проверки подлинности учетных данных. После того как вы введете имя пользователя и пароль, IdP отправляет веб-приложению специальное сообщение, называемое утверждением SAML и подтверждающее, что ваша личность была проверена. IdP отправляет утверждение SAML исходному веб-приложению, в которое вы хотели войти. Приложение оценивает его, чтобы предоставить вам доступ. SAML упрощает процесс входа в несколько веб-приложений, сводя к минимуму время, затрачиваемое на вход в каждое приложение.
Что такое OAuth?
Open Authorization (OAuth) позволяет предоставлять общий доступ к информации сторонним приложениям, не раскрывая ваши учетные данные. Представьте, что вы хотите воспользоваться приложением, которому нужен доступ к каталогу с фотографиями, хранящемуся в облаке. Приложение запросит разрешение на доступ к этим данным и перенаправит вас для входа в систему к поставщику облачного хранилища. После входа вас спросят, хотите ли вы, чтобы приложение получило доступ к вашему каталогу фотографий. Если вы согласитесь, облачный сервис создаст токен доступа, который предоставит приложению доступ к каталогу фотографий без раскрытия ваших учетных данных. Предоставляя доступ с помощью ключа, а не пароля, вы избегаете передачи учетных данных стороннему приложению. Вместо этого стороннее приложение будет иметь доступ только к тому, что вы ему разрешили.
Основные различия между SAML и OAuth
Хотя и SAML, и OAuth являются важными протоколами безопасности, которые ваша организация должна внедрить для защиты данных, между ними есть несколько основных различий.

SAML и OAuth имеют разные варианты использования
SAML предназначен для корпоративной аутентификации, а OAuth — для авторизации между приложениями или сервисами. Если вы хотите входить в несколько сервисов, не вводя каждый раз учетные данные, SAML будет особенно полезен в бизнес-среде. Допустим, в вашей организации используются различные приложения для электронной почты, маркетинга, продаж и управления персоналом. Благодаря SAML, если вы один раз войдете на портал вашей организации, то сможете получить доступ ко всем необходимым приложениям без необходимости входить в систему снова и снова.
OAuth помогает защитить учетные данные при предоставлении общего доступа приложениям, таким как платформы социальных сетей или сторонние сервисы. Например, если вы открываете приложение для работы, которое требует входа в систему с помощью учетной записи Google, такое приложение будет использовать OAuth. Так, приложение может получить доступ к вашим данным, не требуя ввода пароля, если вы разрешите ему это сделать.
SAML и OAuth имеют разные модели безопасности
SAML использует цифровые подписи и утверждения для защиты данных, а OAuth полагается на токены доступа. Утверждения SAML подтверждают, что вы тот, за кого себя выдаете, проверяя вашу личность в процессе входа в систему. Они часто подписываются цифровыми подписями, которые гарантируют, что ваша информация не была изменена и ей можно доверять.
Вместо утверждений и цифровых подписей OAuth использует токены и параметры запроса scope для авторизации пользователей. Если вы разрешаете приложению доступ к вашим данным, оно получает токен доступа, который позволяет приложению видеть ваши сведения без необходимости ввода учетных данных. Параметры запроса scope позволяют определить тип доступа токенов. OAuth предоставляет определенные разрешения, не раскрывая ваш пароль, подчеркивая целостность данных и ограничивая доступ сторонних приложений только к необходимым данным.
SAML и OAuth используют разные форматы данных
В SAML используются утверждения на основе XML, содержащие подробные атрибуты пользователя. Утверждения SAML в формате XML содержат подробную информацию о пользователе, о том, когда он в последний раз входил в систему и к чему у него должен быть доступ. Поскольку XML имеет сложную структуру, его сложнее читать и контролировать, что делает его лучшим выбором для крупных предприятий.
OAuth в свою очередь использует JavaScript Object Notation (JSON) для представления данных. Поскольку JSON легче читать, чем XML, этот формат популярен для данных в веб-приложениях. Токены доступа OAuth обычно представляются в виде объектов JSON, в которых указывается, когда истекает срок действия токена, какие разрешения предоставляются и какой тип токена используется для доступа к данным.
SAML сложнее внедрить, чем OAuth
SAML опирается на утверждения для проверки личности пользователей и требует одновременной работы нескольких систем, для чего нужна сложная настройка для обеспечения соответствующей аутентификации пользователей. С точки зрения безопасности SAML предлагает более широкие возможности, включая цифровые подписи и зашифрованные утверждения, что делает его реализацию более сложной из-за нескольких уровней безопасности.
OAuth гораздо проще, главным образом потому, что для представления данных используется формат JSON, а не XML. Поскольку JSON проще для чтения и компактнее, он легче загружается и имеет менее строгий контроль. В отличие от SAML, OAuth требует меньше действий по настройке, поскольку все, что вам нужно, — это приложение и определенные для него разрешения. Использование токенов доступа вместо сертификатов или утверждений упрощает управление разрешениями пользователей OAuth.
SAML и OAuth управляют сеансами по-разному
SAML создает сеансы браузера и обрабатывает вход в систему в нескольких приложениях. После входа в приложение с помощью IdP создается сеанс, который позволяет получить доступ к нескольким приложениям без необходимости каждый раз вводить учетные данные.
Это отличается от OAuth, в котором для управления сеансами используются токены доступа. Если вы авторизуете приложение, оно получает токен, который дает ему доступ к вашим данным на ограниченное время. Если приложению нужен расширенный доступ, оно может запросить новый токен доступа без необходимости повторного входа в систему.
В чем сходство между SAML и OAuth?
Несмотря на то что SAML и OAuth имеют множество ключевых различий, у них есть несколько общих черт:
- Они оба являются фреймворками на базе открытых стандартов, то есть они основаны на принципах безопасности, которые может применять любая организация.
- Оба они обеспечивают единый вход (SSO), который позволяет вам получать доступ к нескольким приложениям или сервисам с помощью одного набора учетных данных. SAML и OAuth сокращают количество раз, когда вам нужно вводить учетные данные, что экономит время и минимизирует риски безопасности.
- Они оба поддерживают федеративное управление идентификацией (FIM), позволяя вам входить в несколько внешних сервисов, таких как приложения различных организаций. SAML и OAuth обеспечивают доступ к нескольким ИТ-ресурсам с помощью единого набора учетных данных, защищая процесс входа за счет утверждений и токенов.
Что следует использовать вашей организации: SAML или OAuth?
Вместо выбора между SAML и OAuth вашей организации следует рассмотреть вопрос использования обоих протоколов, поскольку они не являются взаимозаменяемыми. Хотя SAML поддерживает аутентификацию и авторизацию пользователей, для управления привилегиями пользователей все же лучше использовать OAuth. Использование как SAML, так и OAuth позволит вашей организации предоставлять доступ к системам с помощью SAML и к ресурсам с помощью OAuth.
Заключение
Ваша организация может извлечь выгоду из использования как SAML, так и OAuth для защиты данных от неавторизованных пользователей. SAML проверяет личность пользователей при доступе к различным сервисам или приложениям, а OAuth разрешает приложениям получать доступ к вашим данным без разглашения паролей. Внедрение SAML и OAuth может повысить общую безопасность и удобство работы пользователей, поскольку они будут тратить меньше времени на вход в различные сервисы и создавать более простые взаимодействия для защиты данных.
Хотите узнать, как Keeper интегрируется с любым поставщиком идентификационных данных, поддерживающим SAML 2.0? Запросите демоверсию Keeper SSO Connect®, чтобы повысить общий уровень безопасности вашей организации.