Маркеры безопасности Центра Интернета вещей
Централизованный поставщик удостоверений особенно полезен для приложений, имеющих пользователей по всему миру, которые не обязательно входят в систему из корпоративной сети. Платформа удостоверений Майкрософт проверяет подлинность пользователей и предоставляет маркеры безопасности, в том числе маркеры доступа, маркеры обновления и маркеры идентификации. Маркеры безопасности позволяют клиентскому приложению получать доступ к защищенным ресурсам на сервере ресурсов.
Маркер доступа. Маркер доступа — это маркер безопасности, выданный сервером авторизации в рамках потока OAuth 2.0 . Он содержит сведения о пользователе и ресурсе, для которых предназначен маркер. Эти сведения можно использовать для доступа к веб-API и другим защищенным ресурсам. Маркеры доступа проверяются ресурсами для предоставления доступа к клиентскому приложению. Дополнительные сведения о том, как платформа удостоверений Майкрософт выдает маркеры доступа, см. в статье о маркерах доступа.
Маркер обновления. Поскольку маркеры доступа действительны только в течение короткого периода времени, периодически серверы авторизации вместе с выданным маркером доступа будут выдавать маркер обновления. После этого клиентское приложение может при необходимости обмениваться этим маркером обновления для получения нового маркера доступа. Дополнительные сведения о том, как платформа удостоверений Майкрософт использует маркеры обновления для отзыва разрешений, см. в разделе Обновление маркера.
Маркер идентификации. Эти маркеры отправляются клиентскому приложению в составе потока OpenID Connect. Их можно отправлять вместе с маркером доступа или вместо него. Маркеры идентификации используются клиентом для проверки подлинности пользователя. Дополнительные сведения о том, как платформа удостоверений Майкрософт выдает маркеры идентификации, см. в статье о маркерах идентификации.
Многие корпоративные приложения используют для проверки подлинности пользователей протокол SAML. Дополнительные сведения об утверждениях SAML см. в справочнике по маркерам SAML в Azure Active Directory.
Проверка маркера безопасности
За проверку маркера отвечает то приложение, для которого он был создан, веб-приложение, которое подписало данные о пользователе, или вызываемый интерфейс веб-API. Маркер подписывается сервером авторизации с помощью закрытого ключа. Сервер авторизации публикует соответствующий открытый ключ. Для проверки маркера приложение проверяет подпись с помощью открытого ключа сервера авторизации, чтобы удостовериться в том, что подпись была создана с помощью закрытого ключа.
Маркеры действительны только в течение ограниченного количества времени, поэтому сервер авторизации часто предоставляет пару маркеров;
- маркер доступа, который обеспечивает доступ к приложению или защищенному ресурсу;
- маркер обновления, который используется для обновления маркера доступа перед истечением срока его действия.
Маркеры доступа передаются в веб-API в качестве маркера носителя в заголовке Authorization
. Приложение может предоставлять маркер обновления серверу авторизации. Если доступ пользователя к приложению не был отозван, оно получит новый маркер доступа и новый маркер обновления. Это обеспечивает правильную работу в случае увольнения сотрудника из организации. Если пользователь больше не является авторизованным, при получении маркера обновления сервер авторизации не будет выдавать другой действительный маркер доступа.
Маркеры JSON Web Token и утверждения
Платформа удостоверений Майкрософт реализует маркеры безопасности в виде маркеров JSON Web Token (JWT), которые содержат утверждения. Так как маркеры JWT используются в качестве маркеров безопасности, такая форма проверки подлинности иногда называется проверкой подлинности JWT.
Утверждение предоставляет проверочное утверждение об одной сущности, например клиентском приложении или владельце ресурса, другой сущности, например серверу ресурсов. Утверждение также может называться утверждением JWT или утверждением JSON Web Token.
Утверждения — это пары имен и значений, которые ретранслируют факты о субъекте маркера. Например, утверждение может содержать факты о субъекте безопасности, проверенном сервером авторизации. Утверждения, представленные в конкретном маркере, зависят от многих факторов, например типа маркера, типа учетных данных, используемых для проверки подлинности субъекта, и конфигурации приложения.
Приложения могут использовать утверждения для различных задач, например:
- проверки маркера безопасности;
- определения клиента субъекта маркера;
- отображения сведений о пользователе;
- определения авторизации субъекта.
Утверждение состоит из пар "ключ-значение", которые предоставляют такие сведения, как:
- сервер маркеров безопасности, создавший маркер;
- дата создания маркера;
- Тема (например, пользователь, но не управляющие программы).
- аудитория (приложение, для которого создан маркер);
- приложение (клиент), которое запросило маркер Для веб-приложений это приложение может совпадать с аудиторией.
Дополнительные сведения о том, как платформа удостоверений Майкрософт реализует сведения о маркерах и утверждениях, см. в статьях о маркерах доступа и маркерах идентификации.
Как каждый поток выдает маркеры и коды
В зависимости от того, как строится клиент, он может использовать один или несколько потоков проверки подлинности, поддерживаемых платформой удостоверений Microsoft. Эти потоки могут создавать различные маркеры (маркеры идентификации, маркеры обновления, маркеры доступа) и коды авторизации. Для их работы требуются различные маркеры. Общие сведения о них приведены в этой таблице.
Поток | Требования | Маркер идентификации | Маркер доступа | Маркер обновления | Код авторизации |
---|---|---|---|---|---|
Поток кода авторизации | x | x | x | x | |
Неявный поток | x | x | |||
Гибридный поток OIDC | x | x | |||
Активация маркера обновления | Маркер обновления | x | x | x | |
Поток On-Behalf-Of | Маркер доступа | x | x | x | |
Учетные данные клиента | x (только приложение) |
Маркеры, выданные через неявный режим, имеют ограничение длины, так как они передаются обратно в браузер через URL-адрес, где response_mode
— это query
или fragment
. Некоторые браузеры имеют ограничение на размер URL-адреса, который можно разместить в строке браузера, и выдают ошибку, если он слишком длинный. В результате эти маркеры не имеют утверждений groups
или wids
.
Дальнейшие действия
Дополнительные сведения о проверке подлинности и авторизации на платформе удостоверений Майкрософт см. в следующих статьях:
- Сведения об основных понятиях, связанных с проверкой подлинности и авторизацией, см. в статье Проверка подлинности и авторизация.
- Дополнительные сведения о регистрации приложения для интеграции см. в статье Модель приложения.
- Сведения о потоке входа в веб-приложения, а также классические и мобильные приложения см. в статье Поток входа в приложение.