Управление рисками с помощью условного управления доступом
Основные понятия — управление условным доступом в AD FS
Общая функция AD FS — это выдача маркера доступа, содержащего набор утверждений. Решение о том, какие утверждения AD FS принимает и затем выдает, регулируется правилами утверждений.
Управление доступом в AD FS выполняется с помощью правил выдачи разрешений, которые используются для определения того, будет ли пользователю или группе пользователей разрешен доступ к ресурсам, защищенным AD FS. Правила авторизации можно задать только для доверия проверяющей стороны.
Параметр правила | Логика правила |
---|---|
Разрешение всем пользователям | Если тип входящего утверждения равен любому типу утверждения, и значение равно любому значению, тогда выпустить утверждение со значением, равным Permit. |
Разрешить доступ пользователям с этим входящим утверждением | Если тип входящего утверждения равен указанному типу утверждения и значение равно заданному значению утверждения, то выдать утверждение со значением равно Permit |
Запретить доступ пользователям, имеющим это входящее требование | Если тип входящего утверждения равен указанному типу утверждения и значение равно указанному значению утверждения, то выдать утверждение со значением равно Запретить. |
Дополнительные сведения об этих параметрах правила и логике см. в разделе Использование правила утверждения авторизации.
В AD FS в Windows Server 2012 R2 управление доступом улучшается с помощью нескольких факторов, включая пользователей, устройство, расположение и данные проверки подлинности. Это возможно благодаря более широкому спектру типов утверждений, доступных для правил утверждений авторизации. Другими словами, в AD FS в Windows Server 2012 R2 можно ввести условный доступ на основе удостоверения пользователя или членства в группах, сетевого расположения, устройства (независимо от того, присоединено оно к рабочему месту или нет, для получения дополнительной информации см. статью Присоединение к рабочему месту с любого устройства для единого входа и удобной многофакторной аутентификации в корпоративных приложениях), а также статуса аутентификации (проводилась ли многофакторная проверка подлинности (MFA)).
Управление условным доступом в AD FS в Windows Server 2012 R2 обеспечивает следующие преимущества:
Гибкие и экспрессивные политики авторизации для каждого приложения, в которых можно разрешить или запретить доступ на основе пользователя, устройства, сетевого расположения и состояния проверки подлинности.
Создание правил авторизации выпуска для приложений доверяющей стороны
Расширенный пользовательский интерфейс для распространенных сценариев управления условным доступом
Расширенный язык утверждений & в поддержке Windows PowerShell для сложных сценариев управления условным доступом.
Пользовательские (для каждого приложения проверяющей стороны) сообщения "Отказано в доступе". Дополнительные сведения см. в разделе Настройка страниц входа AD FS. Благодаря возможности настроить эти сообщения, можно объяснить, почему пользователю отказано в доступе и также упростить самостоятельное решение проблемы там, где это возможно, например, предложить пользователям подключить свои устройства к рабочей сети. Дополнительные сведения см. в разделе Присоединение к рабочему месту с любого устройства для единого входа (SSO) и беспрепятственной двухфакторной аутентификации в корпоративных приложениях.
В следующей таблице перечислены все типы утверждений, доступные в AD FS в Windows Server 2012 R2 для реализации условного контроля доступа.
Тип утверждения | Описание |
---|---|
Электронная почта | Адрес электронной почты пользователя. |
Заданное имя | Заданное имя пользователя. |
Имя | Уникальное имя пользователя, |
UPN | Учетное имя (UPN) пользователя. |
Общее имя | Общее имя пользователя. |
AD FS 1 x адрес электронной почты | Адрес электронной почты пользователя при взаимодействии с AD FS 1.1 или AD FS 1.0. |
Группа | Группа, членом которой является пользователь. |
AD FS 1 x UPN | UPN пользователя при взаимодействии с AD FS 1.1 или AD FS 1.0. |
Должность | Роль, которую имеет пользователь. |
Фамилия | Фамилия пользователя. |
PPID | Закрытый идентификатор пользователя. |
Идентификатор имени | Идентификатор имени SAML пользователя. |
Метка времени аутентификации | Используется для отображения времени и даты проверки подлинности пользователя. |
Метод аутентификации | Метод, используемый для проверки подлинности пользователя. |
Запретить только SID группы | Идентификатор безопасности группы, предназначенной только для запрета, пользователя (SID). |
Запретить только первичный SID | Основной SID пользователя только для запрета доступа. |
Запретить только SID основной группы | Идентификатор безопасности основной группы, предназначенный только для отказа, для пользователя. |
Идентификатор безопасности группы | Идентификатор безопасности группы пользователя. |
Идентификатор безопасности основной группы | Идентификатор безопасности (SID) основной группы пользователя. |
Основной SID | Основной идентификатор безопасности пользователя. |
Имя учетной записи Windows | Имя учетной записи пользователя в домене в виде домен\пользователь. |
Зарегистрированный пользователь | Пользователь зарегистрирован для использования этого устройства. |
Идентификатор устройства | Идентификатор устройства. |
Идентификатор регистрации устройства | Идентификатор регистрации устройства. |
Отображаемое имя регистрации устройства | Отображаемое имя регистрации устройства. |
Тип ОС устройства | Тип операционной системы устройства. |
Версия ОС устройства | Версия операционной системы устройства. |
Управляемое устройство | Устройство управляется службой управления. |
IP-адрес перенаправленного клиента | IP-адрес пользователя. |
Клиентское приложение | Тип клиентского приложения. |
Пользовательский агент клиента | Тип устройства, который используется для доступа к приложению. |
IP-адрес клиента | IP-адрес клиента. |
Путь к конечной точке | Абсолютный путь конечной точки, который можно использовать для определения активных и пассивных клиентов. |
Прокси | DNS-имя прокси-сервера федеральной системы, через который прошел запрос. |
Идентификатор приложения | Идентификатор проверяющей стороны. |
Политики приложений | Политики применения сертификата. |
Идентификатор ключа удостоверяющего центра | Расширение ключевого идентификатора органа сертификации, подписавшего выданный сертификат. |
Базовое ограничение | Одно из основных ограничений сертификата. |
Расширенное использование ключа | Описывает одно из улучшенных ключей использования сертификата. |
Эмитент | Имя центра сертификации, выдавшего сертификат X.509. |
Имя издателя | Различающееся имя издателя сертификата. |
Использование ключей | Одно из ключевых использования сертификата. |
Не после | Дата в локальное время, после которого сертификат больше не действителен. |
Не раньше | Дата в локальном времени, в течение которого сертификат становится допустимым. |
Политики сертификатов | Политики, в соответствии с которыми был выдан сертификат. |
Открытый ключ | Открытый ключ сертификата. |
Необработанные данные сертификата | Необработанные данные сертификата. |
Альтернативное имя субъекта | Одно из альтернативных имен сертификата. |
Серийный номер | Серийный номер сертификата. |
Алгоритм подписи | Алгоритм, используемый для создания подписи сертификата. |
Тема | Тема сертификата. |
Идентификатор ключа субъекта | Идентификатор ключа субъекта сертификата. |
Имя субъекта | Имя субъекта отличается от сертификата. |
Имя шаблона версии 2 | Имя шаблона сертификата версии 2 используется для выдачи или продления сертификата. Это значение, определенное корпорацией Майкрософт. |
Имя шаблона версии 1 | Имя шаблона сертификата версии 1, используемого при выдаче или продлении сертификата. Это значение, определенное корпорацией Майкрософт. |
Отпечаток большого пальца | Отпечаток сертификата. |
Версия X 509 | Версия формата X.509 сертификата. |
Внутри корпоративной сети | Используется для указания того, произошел ли запрос из корпоративной сети. |
Время истечения срока действия пароля | Используется для отображения времени истечения срока действия пароля. |
Срок действия пароля | Используется для отображения количества дней до истечения срока действия пароля. |
Обновление URL-адреса пароля | Используется для отображения веб-адреса службы обновления паролей. |
Ссылки на методы проверки подлинности | Используется для указания всех методов аутентификации, применяемых для идентификации пользователя. |
Управление рисками с помощью условного управления доступом
Используя доступные параметры, существует множество способов управления рисками путем реализации условного контроля доступа.
Распространенные сценарии
Например, представьте простой сценарий реализации условного контроля доступа на основе данных о членстве пользователя в группе для конкретного приложения (доверие проверяющей стороны). Другими словами, вы можете настроить правило авторизации выдачи на сервере федерации, чтобы разрешить пользователям, принадлежащим определенной группе в домене AD, доступ к конкретному приложению, защищенному AD FS. Подробные пошаговые инструкции (с помощью пользовательского интерфейса и Windows PowerShell) для реализации этого сценария рассматриваются в пошаговом руководстве по управлению рисками с помощью условного управления доступом. Чтобы выполнить действия, описанные в этом пошаговом руководстве, необходимо настроить среду лаборатории и выполнить действия, описанные в настройка лабораторной среды для 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");
См. также
пошаговое руководство. Управление рисками с помощью условного управления доступомнастройка лабораторной среды для AD FS в Windows Server 2012 R2