Что такое OAuth?
Узнайте, что такое платформа OAuth и как она используется для авторизации доступа между приложениями и службами без компрометации конфиденциальной информации.
OAuth — объяснение
OAuth — это технологический стандарт, который позволяет авторизовать одно приложение или службу для входа в другое приложение или службу без разглашения личных сведений, например паролей. Если вы когда-либо получали такое сообщение, как "Войти с помощью Facebook?" или "Разрешить этому приложению доступ к вашей учетной записи?", вы видели OAuth в действии.
OAuth расшифровывается как Open Authorization, а не как проверка подлинности, как иногда предполагают. Проверка подлинности — это процесс, который проверяет ваше удостоверение. Платформа OAuth предусматривает обработку вашего удостоверения, но ее цель — предоставить разрешение для простого связывания вас с различными приложениями и службами без необходимости создания новой учетной записи. OAuth обеспечивает простоту взаимодействия, предоставляя вам возможность разрешить двум приложениям делиться некоторыми данными без раскрытия ваших учетных данных. При этом сохраняется баланс между удобством и безопасностью.
Платформа OAuth предназначена для работы с протоколом HTTP. Она использует маркеры доступа, чтобы подтвердить ваше удостоверение и разрешить ему взаимодействовать с другой службой от вашего имени. В случае нарушения безопасности данных во второй службе ваши учетные данные в первой службе останутся в безопасности. OAuth — это широко применяемый протокол с открытым стандартом, который используется большинством разработчиков веб-сайтов и приложений.
Важно отметить, что OAuth не предоставляет стороннему приложению или службе неограниченный доступ к вашим данным. Частью протокола является указание того, к каким данным третьей стороне разрешен доступ и что она может делать с данными. Настройка таких ограничений и защита удостоверений в целом особенно важны в бизнес-сценариях, когда у многих людей есть доступ ко множеству конфиденциальной и защищаемой информации.
Как работает OAuth?
Безопасность использования OAuth обеспечивается с помощью маркеров доступа. Маркер доступа — это фрагмент данных, содержащий сведения о пользователе и ресурсе, для которого предназначен маркер. Маркер также включает определенные правила для общего доступа к данным.
Например, вы можете поделиться фотографиями из своего профиля в соцсети с помощью приложения для редактирования фотографий, но вы хотите предоставить такому приложению доступ только к некоторым фотографиям. Кроме того, ему не требуется доступ к вашим прямым сообщениям или списку друзей. Маркер разрешает доступ только к данным, которые вы утверждаете. Кроме того, могут существовать правила, управляющие временем использования маркера приложением (может предусматриваться разовое применение или повторяющееся использование) и датой окончания срока действия.
Процесс OAuth в основном является взаимодействием между компьютерами, а участие пользователя требуется лишь в нескольких моментах. В некоторых сценариях может не требоваться утверждение, так как программное обеспечение выполняет обработку в фоновом режиме. Два примера такого использования OAuth: в корпоративных сценариях работы, где платформа удостоверений обрабатывает соединения между ресурсами, чтобы снизить ИТ-нагрузку для большого количества пользователей, или в рамках взаимодействия между некоторыми интеллектуальными устройствами.
Примеры технологии OAuth
Как и многие другие технологии, которые упрощают монотонные задачи (в данном случае — создание вручную учетных записей в нескольких приложениях), платформа OAuth была практически повсеместно принята создателями приложений. Она встречается в большом количестве вариантов использования для людей и предприятий.
Один из примеров применения OAuth: предположим, что вы используете Microsoft Teams в качестве средства для совместной работы и хотите получить дополнительные сведения о людях, с которыми вы работаете (как внутри организации, так и за ее пределами). Вы решили включить интеграцию LinkedIn, чтобы больше узнавать о людях во время взаимодействия с ними, не выходя из Teams. Microsoft и LinkedIn воспользуются OAuth для авторизации связывания ваших учетных записей с удостоверением Майкрософт.
Другим сценарием использования OAuth может быть скачивание приложения для составления бюджета, которое поможет вам отслеживать расходы с помощью оповещений и визуальных средств, например графиков. Для этого приложению потребуется доступ к некоторым вашим банковским данным. Вы можете инициировать запрос на связывание банковского счета с приложением, разрешив доступ только к балансу счета и транзакциям. Приложение и ваш банк будут использовать OAuth для обмена информацией от вашего имени без раскрытия приложению ваших банковских учетных данных для входа.
Другой пример использования OAuth: вы являетесь разработчиком, применяющим GitHub, и узнали, что доступно стороннее приложение, которое может интегрироваться с вашей учетной записью для выполнения автоматических проверок кода. Вы переходите в GitHub Marketplace и скачиваете приложение. После этого оно попросит вас авторизовать подключение к приложению с помощью удостоверения GitHub. Этот процесс будет обрабатываться с помощью OAuth. Приложение для проверки затем может получить доступ к коду без необходимости каждый раз выполнять вход в обе службы.
В чем разница между OAuth 1.0 и OAuth 2.0?
Исходная версия OAuth 1.0 была разработана только для веб-сайтов. В настоящее время он используется не очень часто, так как версия OAuth 2.0 предназначена как для приложений, так и для веб-сайтов, а также быстрее и проще в реализации. OAuth 1.0 не масштабируется, как OAuth 2.0, и предусматривает только три возможных потока авторизации по сравнению с шестью потоками в OAuth 2.0.
Если вы планируете использовать OAuth, лучше всего использовать версию 2.0 с самого начала. К сожалению, OAuth 1.0 нельзя обновить до OAuth 2.0. Версия OAuth 2.0 была предназначена для масштабного изменения дизайна версии OAuth 1.0, и несколько крупных технических компаний внесли свой вклад в отзывы о дизайне. Веб-сайт может поддерживать OAuth 1.0 и OAuth 2.0 одновременно, но создатели предполагали, что версия 2.0 полностью заменит версию 1.0.
OAuth и OIDC
Протоколы OAuth и Open ID Connect (OIDC) тесно связаны. Они похожи тем, что оба играют роль в предоставлении одному приложению доступа к ресурсам другого приложения от имени пользователя. Разница заключается в том, что OAuth используется для авторизации с целью доступа к ресурсам, а OIDC применяется для проверки подлинности удостоверения пользователя. У обоих решений есть роль, позволяющая двум несвязанным приложениям обмениваться информацией без компрометации данных пользователей.
Поставщики удостоверений обычно используют OAuth 2.0 и OIDC вместе. Протокол OIDC был разработан специально для расширения возможностей протокола OAuth 2.0 путем добавления в него уровня удостоверений. Так как он создан на основе OAuth 2.0, протокол OIDC не является обратно совместимым с OAuth 1.0.
Начало работы с OAuth
Использование OAuth 2.0 с веб-сайтами и приложениями может значительно улучшить взаимодействие пользователей или сотрудников, упростив процесс проверки подлинности удостоверений. Для начала работы инвестируйте средства в решение поставщика удостоверений, например Microsoft Entra, которое защищает пользователей и данные с помощью встроенной системы безопасности
Microsoft Entra ID (прежнее название — Azure Active Directory) поддерживает все потоки OAuth 2.0. Разработчики приложений могут использовать Entra ID в качестве поставщика проверки подлинности на основе стандартов, чтобы интегрировать возможности современных удостоверений корпоративного масштаба в приложения. ИТ-администраторы могут использовать его для управления доступом.
Подробнее о Microsoft Security
-
Обзор Microsoft Entra
Защитите удостоверения и доступ между облаками с помощью комплексного семейства решений.
-
Microsoft Entra ID (прежнее название — Azure Active Directory)
Защитите доступ к ресурсам и данным с помощью строгой проверки подлинности и адаптивного доступа с учетом рисков.
-
Внедрение доверия в приложения
Реализуйте единый вход, чтобы сотрудники могли получать доступ ко всем нужным ресурсам с помощью одного набора учетных данных.
-
Упрощение интерфейса входа
Реализуйте единый вход, чтобы сотрудники могли получать доступ ко всем нужным ресурсам с помощью одного набора учетных данных.
-
Защита от атак
Используйте многофакторную проверку подлинности для улучшения защиты ресурсов организации.
-
Использование OAuth для упрощения доступа к данным электронной почты
Узнайте, как проверить подлинность подключений к приложениям с использованием устаревших протоколов.
Вопросы и ответы
-
OAuth расшифровывается как Open Authorization и является технологическим стандартом, который позволяет авторизовать одно приложение или службу для входа в другое приложение или службу без разглашения личных сведений, например паролей. Когда приложение запрашивает авторизацию для просмотра сведений вашего профиля, оно использует OAuth.
-
OAuth работает путем обмена маркерами доступа, то есть фрагментами данных, содержащих сведения о пользователе и ресурсе, для которого предназначен маркер. Одно приложение или веб-сайт обменивается зашифрованной с другим приложением или веб-сайтом информацией о пользователе и включает определенные правила для общего доступа к данным. Кроме того, могут существовать правила, управляющие временем использования этого маркера приложением и датой окончания его срока действия. Процесс OAuth в основном является взаимодействием между компьютерами, а участие пользователя требуется лишь в нескольких моментах (или совсем не требуется).
-
Многие компании используют OAuth для упрощения доступа к сторонним приложениям и веб-сайтам без разглашения паролей пользователей и конфиденциальных данных. Google, Amazon, Microsoft, Facebook и Twitter используют этот протокол для обмена информацией о своих учетных записях для различных целей, включая упрощение покупок. Платформа удостоверений Майкрософт использует OAuth для авторизации разрешений для рабочих и учебных учетных записей, личных учетных записей, учетных записей социальных сетей и игровых учетных записей.
-
Протоколы OAuth и Open ID Connect (OIDC) тесно связаны. Они похожи тем, что оба играют роль в предоставлении одному приложению доступа к ресурсам другого приложения от имени пользователя. Однако разница заключается в том, что OAuth используется для авторизации с целью доступа к ресурсам, а OIDC применяется для проверки подлинности удостоверения пользователя. У обоих решений есть роль, позволяющая двум несвязанным приложениям обмениваться информацией без компрометации данных пользователей.
-
Между OAuth 1.0 и OAuth 2.0 существует множество различий, так как версия OAuth 2.0 была предназначена для масштабного изменения дизайна версии OAuth 1.0 и делает ее почти устаревшей. Версия OAuth 1.0 была разработана только для веб-сайтов, а OAuth 2.0 — для приложений и веб-сайтов. Версия OAuth 2.0 быстрее и проще в реализации, может масштабироваться и содержит шесть возможных потоков авторизации по сравнению с тремя потоками в OAuth 1.0.
Следите за новостями Microsoft 365