Управление рисками с использованием условного управления доступом
Ключевые понятия. Условное управление доступом в AD FS
Общая функция AD FS — это выдача маркера доступа, содержащего набор утверждений. Решение о том, какие утверждения AD FS принимает, а затем вопросы регулируются правилами утверждений.
Управление доступом в AD FS реализуется с правилами утверждения авторизации выдачи, которые используются для выдачи разрешения или запрета утверждений, которые определяют, будет ли пользователь или группа пользователей иметь доступ к ресурсам, защищенным AD FS, или нет. Правила авторизации можно настроить только в отношениях доверия с проверяющей стороной.
Параметр правила | Логика правила |
---|---|
Разрешить всем пользователям | Если входящее утверждение имеет тип любой тип утверждения и значение равно любое значение, выдается утверждение со значением Разрешить. |
Разрешить доступ пользователям с данным входящим утверждением | Если входящее утверждение имеет тип заданный тип утверждения и значение равно заданное значение утверждения, выдается утверждение со значением Разрешить. |
Отказать в доступе пользователям с данным входящим утверждением | Если входящее утверждение имеет тип заданный тип утверждения и значение равно заданное значение утверждения, выдается утверждение со значением Отказать. |
Дополнительные сведения об этих параметрах правил и логике см. в разделе When to Use an Authorization Claim Rule.
В AD FS в Windows Server 2012 R2 управление доступом улучшается с помощью нескольких факторов, включая пользователей, устройство, расположение и данные проверки подлинности. Это стало возможно благодаря множеству типов утверждений, доступных для правил утверждений авторизации. Другими словами, в AD FS в Windows Server 2012 R2 вы можете применить условный контроль доступа на основе удостоверений пользователей или членства в группах, сетевого расположения, устройства (присоединение к рабочему месту, дополнительные сведения см. в разделе "Присоединение к рабочему месту с любого устройства для единого входа и простого второго фактора проверки подлинности в корпоративных приложениях") и состояние проверки подлинности (независимо от того, была ли выполнена многофакторная проверка подлинности (MFA).
Управление условным доступом в AD FS в Windows Server 2012 R2 обеспечивает следующие преимущества:
Гибкие и ясные политики авторизации для каждого приложения, благодаря которым можно разрешить или отказать в доступе на основе пользователя, устройства, сетевого расположения и состояния проверки подлинности.
Создание правил авторизации выдачи для приложений проверяющей стороны.
Широкий набор средств взаимодействия пользователей для общих сценариев условного управления доступом.
Широкая поддержка языка утверждений и Windows PowerShell для сложных сценариев условного управления доступом.
Пользовательские (для каждого приложения проверяющей стороны) сообщения "Отказано в доступе". Дополнительные сведения см. в статье о настройке страниц входа AD FS. С помощью этих сообщений можно объяснить, почему пользователю отказано в доступе, и по возможности ускорить процесс самостоятельного устранения ошибок, например напомнить пользователю о необходимости присоединиться к рабочему месту на устройстве. Дополнительные сведения см. в разделе Join to Workplace from Any Device for SSO and Seamless Second Factor Authentication Across Company Applications.
В следующей таблице перечислены все типы утверждений, доступные в AD FS в Windows Server 2012 R2 для реализации условного контроля доступа.
Тип утверждения | Description |
---|---|
Электронная почта | Адрес электронной почты пользователя. |
Заданное имя | Заданное имя пользователя. |
Имя. | Уникальное имя пользователя. |
UPN | Имя участника-пользователя (UPN) этого пользователя. |
Общее имя | Общее имя пользователя. |
AD FS 1 x адрес электронной почты | Адрес электронной почты пользователя при взаимодействии с AD FS 1.1 или AD FS 1.0. |
Групповой | Группа, членом которой является пользователь. |
AD FS 1 x имя участника-пользователя | Имя участника-пользователя при взаимодействии с AD FS 1.1 или AD FS 1.0. |
Role | Роль пользователя. |
Surname | Фамилия пользователя. |
PPID | Частный идентификатор пользователя. |
Идентификатор имени | Идентификатор имени SAML пользователя. |
Метка времени проверки подлинности | Используется для отображения даты и времени проверки подлинности пользователя. |
Authentication method | Метод, используемый для проверки подлинности пользователя. |
SID группы "только запрет" | ИД безопасности (SID) группы "только запрет" пользователя. |
Основной SID "только запрет" | Основной ИД безопасности (SID) "только запрет" пользователя. |
SID основной группы "только запрет" | ИД безопасности (SID) основной группы "только запрет" пользователя. |
SID группы | ИД безопасности (SID) группы пользователя. |
SID основной группы | ИД безопасности (SID) основной группы пользователя. |
Основной SID | Основной ИД безопасности (SID) пользователя. |
Имя учетной записи Windows | Имя учетной записи домена пользователя в виде "домен\пользователь". |
Зарегистрированный пользователь | Пользователь зарегистрирован для использования данного устройства. |
Идентификатор устройства | Идентификатор устройства. |
Регистрационный номер устройства | Идентификатор для регистрации устройства. |
Отображаемое регистрационное имя устройства | Отображаемое имя при регистрации устройства. |
Тип ОС устройства | Тип операционной системы устройства. |
Версия ОС устройства | Версия операционной системы устройства. |
Управляемое устройство | Устройство управляется службой управления. |
Перенаправленный IP-адрес клиента | IP-адрес пользователя. |
Клиентское приложение | Тип клиентского приложения. |
Агент пользователя клиента | Тип устройства, используемого клиентом для доступа к приложению. |
IP-адрес клиента | IP-адрес клиента. |
Путь к конечной точке | Абсолютный путь к конечной точке, который можно использовать для определения активных и пассивных клиентов. |
Proxy (Прокси) | Имя DNS прокси-сервера федерации, передавшего запрос. |
Идентификатор приложения | Идентификатор проверяющей стороны. |
Политики приложений | Политики применения сертификата. |
Идентификатор ключа центра сертификации | Расширение сертификата, которым подписан выданный сертификат. |
Основное ограничение | Одно из основных ограничений сертификата. |
Расширенное использование ключа | Описывает один из вариантов расширенного использования ключа сертификата. |
Издатель | Имя центра сертификации, выдавшего сертификат X.509. |
Имя издателя | Различающееся имя издателя сертификата. |
Использование ключа | Один из вариантов использования сертификата. |
Не позднее | Дата окончания срока действия сертификата по местному времени. |
До | Дата вступления в силу сертификата по местному времени. |
Политики сертификатов | Политики, согласно которым выдается сертификат. |
Открытый ключ | Открытый ключ сертификата. |
Необработанные данные сертификата | Необработанные данные сертификата. |
Альтернативное имя субъекта | Одно из альтернативных имен сертификата. |
Серийный номер | Серийный номер сертификата. |
Алгоритм подписи | Алгоритм, используемый для создания подписи сертификата. |
Тема | Субъект сертификата. |
Идентификатор ключа субъекта | Идентификатор ключа субъекта сертификата. |
Имя субъекта | Различающееся имя субъекта сертификата. |
Имя шаблона V2 | Имя шаблона сертификата версии 2, используемое при выдаче или обновлении сертификата. Это значение характерно для продуктов Майкрософт. |
Имя шаблона V1 | Имя шаблона сертификата версии 1, используемое при выдаче или обновлении сертификата. Это значение характерно для продуктов Майкрософт. |
Отпечаток | Отпечаток сертификата. |
Версия X 509 | Версия сертификата в формате X.509. |
В корпоративной сети | Используется для указания того, что запрос отправлен из корпоративной сети. |
Срок действия пароля | Используется для указания времени истечения срока действия пароля. |
Истечение срока действия пароля — дни | Используется для указания количества дней, оставшихся до истечения срока действия пароля. |
URL-адрес для обновления пароля | Используется для отображения веб-адреса службы обновления паролей. |
Ссылки на методы проверки подлинности | Используются для указания всех методов проверки подлинности, используемых для проверки подлинности пользователя. |
Управление рисками с использованием условного управления доступом
Благодаря разнообразию параметров существует множество способов управления рисками путем реализации условного управления доступом.
Распространенные сценарии
Например, представьте простой сценарий реализации условного контроля доступа на основе данных о членстве пользователя в группе для конкретного приложения (доверие проверяющей стороны). Другими словами, вы можете настроить правило авторизации выдачи на сервере федерации, чтобы разрешить пользователям, принадлежащим определенной группе в домене AD, доступ к конкретному приложению, защищенному AD FS. Подробные пошаговые инструкции (для пользовательского интерфейса и Windows PowerShell) по реализации этого сценария описаны в Walkthrough Guide: Manage Risk with Conditional Access Control. Чтобы выполнить действия, описанные в этом пошаговом руководстве, необходимо настроить рабочую среду и выполнить действия, описанные в разделе "Настройка лабораторной среды для AD FS" в Windows Server 2012 R2.
Сложные сценарии
Другие примеры реализации условного контроля доступа в AD FS в Windows Server 2012 R2 включают следующее:
Разрешение доступа к приложению, защищенному AD FS, только если удостоверение этого пользователя проверено с помощью MFA
Можно использовать следующий код.
@RuleTemplate = "Authorization" @RuleName = "PermitAccessWithMFA" c:[Type == "https://schemas.microsoft.com/claims/authnmethodsreferences", Value =~ "^(?i)https://schemas\.microsoft\.com/claims/multipleauthn$"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "PermitUsersWithClaim");
Разрешить доступ к приложению, защищенному AD FS, только если запрос на доступ поступает с присоединенного к рабочему месту устройства, зарегистрированного для пользователя
Можно использовать следующий код.
@RuleTemplate = "Authorization" @RuleName = "PermitAccessFromRegisteredWorkplaceJoinedDevice" c:[Type == "https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser", Value =~ "^(?i)true$"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "PermitUsersWithClaim");
Разрешить доступ к приложению, защищенному AD FS, только если запрос на доступ поступает с присоединенного к рабочему месту устройства, зарегистрированного для пользователя, удостоверение которого проверено с помощью MFA
Можно использовать следующий код.
@RuleTemplate = "Authorization" @RuleName = "RequireMFAOnRegisteredWorkplaceJoinedDevice" c1:[Type == "https://schemas.microsoft.com/claims/authnmethodsreferences", Value =~ "^(?i)http://schemas\.microsoft\.com/claims/multipleauthn$"] && c2:[Type == "https://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser", Value =~ "^(?i)true$"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "PermitUsersWithClaim");
Разрешение доступа экстрасети к приложению, защищенному AD FS, только если запрос на доступ поступает от пользователя, удостоверение которого проверено с помощью MFA.
Можно использовать следующий код.
@RuleTemplate = "Authorization" @RuleName = "RequireMFAForExtranetAccess" c1:[Type == "https://schemas.microsoft.com/claims/authnmethodsreferences", Value =~ "^(?i)http://schemas\.microsoft\.com/claims/multipleauthn$"] && c2:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value =~ "^(?i)false$"] => issue(Type = "https://schemas.microsoft.com/authorization/claims/permit", Value = "PermitUsersWithClaim");
См. также
Пошаговое руководство. Управление рисками с помощью условной контроль доступа Set up the lab environment for AD FS in Windows Server 2012 R2