Эта документация перемещена в архив и не поддерживается.

Группы правил и правила

Опубликовано: Апрель 2011 г.

Обновлено: Июнь 2015 г.

Назначение: Azure

В Microsoft Azure Active Directory Access Control (также называется Access Control Service или ACS) группа правил — это именованный набор правил утверждений, которые определяют, какие утверждения удостоверений передаются от поставщиков удостоверений в приложения проверяющей стороны. В Служба управления доступом группы правил связаны с приложениями проверяющей стороны. Группа правил может использоваться более чем одним приложением проверяющей стороны, и приложения проверяющей стороны могут ссылаться на несколько групп правил.

Когда Служба управления доступом получает запрос токена или токен от поставщика удостоверений, он просматривает все группы правил, связанные с приложением проверяющей стороны, для обработки утверждений в токене. Все группы правил выполняются одновременно, как и все правила в каждой группе правил (порядок не имеет значения). Если правила приводят к изданию любых новых утверждений после завершения выполнения, то группы правил, связанные с проверяющей стороной приложения, запускаются снова. Процесс выполнения правила и группы правил останавливается, если после завершения выполнения этого процесса не издается новых утверждений или когда Служба управления доступом завершит десять запусков (в зависимости от того, что наступит раньше).

Группы правил и правила можно создавать и изменять вручную с использованием портала управления Служба управления доступом или программными средствами с помощью службы управления Служба управления доступом.

Если вы добавляете и настраиваете свойства нового приложения проверяющей стороны на портале управления Служба управления доступом, вы можете также создать группу правил, связанных с этим приложением проверяющей стороны, поскольку по умолчанию установлен флажок Создать новую группу правил на странице Добавление приложения проверяющей стороны портала управления Служба управления доступом. Настоятельно рекомендуется не снимать этот флажок, чтобы создавать группу правил по умолчанию для нового приложения проверяющей стороны. (Подробнее см. в подразделе ""Группы правил" раздела Приложения проверяющей стороны.) Добавлять группы правил можно также с использованием раздела Группы правил портала управления Служба управления доступом. Далее при добавлении приложений проверяющей стороны с использованием страницы Добавление приложений проверяющей стороны можно связывать их с одной или несколькими существующими группами правил.

Когда группа правил создана, вы можете использовать страницу Изменение группы правил портала управления Служба управления доступом для автоматического создания правил. Если принято решение создавать правила автоматически, вам будет предложено выбрать поставщиков удостоверений, для которых необходимо создать правила. Если группа правил связана с одним или несколькими приложениями проверяющей стороны, поставщики удостоверений, используемые в этих приложениях проверяющей стороны, выбираются по умолчанию.

noteПримечание
Для поставщиков удостоверений WS-Federation правило создается для каждого типа утверждения, который предлагается в метаданных поставщика удостоверений WS-Federation, и это правило проходит через данный тип и значение утверждения. Для других поставщиков удостоверений правила прохождения создаются на основе списка предопределенных типов утверждений.

На странице Изменение группы правил портала управления Служба управления доступом отображаются все правила в таблице, в которой столбцы содержат исходящее утверждение для этого правила, издателя утверждений (может быть поставщиком удостоверений или Служба управления доступом) и описание.

При выборе данного правила в таблице происходит перенаправление на страницу Изменение правила утверждения, на которой это правило можно изменить. Чтобы добавить новое правило вручную, можно нажать Добавить.

Правила утверждений описывают логику того, как Служба управления доступом преобразует входящие утверждения в исходящие. Правила содержатся в группах правил, которые связаны с приложениями проверяющей стороны и выполняются каждый раз, когда Служба управления доступом издает токен для приложения. Если группа правил не содержит правил, токен для приложения проверяющей стороны не издается. Как правило, требуется одно правило для каждого типа утверждения, которое необходимо издать для приложения проверяющей стороны. Можно создавать и использовать только одно правило для прохождения всех типов и значений утверждений. При этом при использовании одного правила на каждый тип утверждений повышается безопасность и предоставляется больший контроль над данными, которые передаются в приложение.

В Служба управления доступом можно настроить правило прохождения утверждений, полученных от поставщика удостоверений или клиента, через приложение проверяющей стороны без изменения типа утверждения, издателя или значения. Такие правила называются правилами сквозного прохождения. Например, токены, изданные Идентификатор Windows Live ID (учетная запись Майкрософт), содержат тип утверждения nameidentifier. Чтобы передать это утверждение без изменений приложению проверяющей стороны, необходимо настроить правило сквозного прохождения, которое обрабатывает тип входящего утверждения nameidentifier от издателя утверждений Windows Live ID и создает идентичное исходящее утверждение.

В таблице ниже показаны утверждения, передаваемые через вымышленного поставщика удостоверений AD FS 2.0 с именем Contoso.com.

 

Входящие утверждения Исходящие утверждения

Издатель

Тип

Значение

Издатель

Тип

Значение

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Служба управления доступом

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Служба управления доступом

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Служба управления доступом

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Обработчик правил Служба управления доступом также предоставляет возможность преобразования входящих утверждений в совершенно разные исходящие утверждения в зависимости от издателя утверждений, типа и значения входящего утверждения. Другими словами, обработчик правил Служба управления доступом позволяет преобразовать входящие токены в различные исходящие токены с помощью добавления, удаления или изменения утверждений, которые содержатся в этих токенах. Эта форма преобразования утверждений позволяет Служба управления доступом реализовывать базовую авторизацию на основе значений входящих утверждений. В приведенном ниже примере показан тип утверждения "role" со значением "administrator", которое является исходящим, если входящее утверждение "nameidentifier" совпадает с конкретным значением.

 

Входящие утверждения Исходящие утверждения

Издатель

Тип

Значение

Издатель

Тип

Значение

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Служба управления доступом

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

администратор

Обработчик правил Служба управления доступом также предоставляет возможность создания исходящего утверждения путем соединения двух входящих утверждений. В приведенном ниже примере исходящее утверждение относится к типу "action" со значением "write", если входящие утверждения "nameidentifier" и "role" от Contoso.com соответствуют конкретным значениям. Если в правиле указаны два входящих утверждения, для формирования исходящего утверждения оба значения должны совпадать.

 

Входящие утверждения Исходящие утверждения

Издатель

Тип

Значение

Издатель

Тип

Значение

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Служба управления доступом

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/action

write

Contoso.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

администратор

Дополнительные сведения и инструкции по реализации преобразования токенов с помощью правил см. в разделе Инструкции Реализация логики преобразования маркеров с помощью правил.

Когда вы добавляете новые или изменяете существующие правила утверждений с помощью портала управления Служба управления доступом, вы должны настроить следующие параметры.

В этом разделе содержатся условия, которые должны соблюдаться для правила, чтобы издать исходящее утверждение. К этим условиям относятся:

  • Издатель утверждений — относится к сущности, которая издала входящее утверждение. Это может быть настроенный поставщик удостоверений (например, ) или Служба управления доступом. Служба управления доступом является издателем, если входящее утверждение поступает из удостоверения службы или из другого правила утверждения. Дополнительные сведения см. в Удостоверения службы.

  • Тип входящего утверждения — относится к типу входящего утверждения, полученному от издателя утверждений. Например, полный тип утверждения для "nameidentifier" — http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. В число параметров данного поля входят:

    • Любой — возвращает значение true, если от издателя получен какой-либо тип утверждения.

    • Выберите тип — возвращает значение true, если тип входящего утверждения соответствует типу, выбранному в раскрывающемся меню. Это меню заполняется типами утверждений, доступными для выбранного издателя утверждений.

    • Введите тип — возвращает значение true, если тип входящего утверждения соответствует точному значению, введенному в это поле.

      ImportantВажно!
      Это поле учитывает регистр.

  • Значение входящего утверждения — возвращает значение полученного входящего утверждения. Например, тип утверждения "nameidentifier" использует адрес электронной почты как его значение, а это поле можно использовать для проверки определенного адреса электронной почты. В число параметров данного поля входят:

    • Любое —возвращает значение true, если от издателя получено какое-либо значение утверждения.

    • Введите значение —возвращает значение true, если тип входящего утверждения соответствует точному значению, введенному в поле. Этот параметр требует, чтобы определенный тип входящего утверждения был выбран или введен в поле Тип входящего утверждения.

      ImportantВажно!
      Это поле учитывает регистр.

Чтобы добавить второе утверждение к правилу, нажмите Добавить второе входящее утверждение. Это позволяет указать дополнительные условия, показанные ниже. Обратите внимание, что в правиле с двумя входящими утверждениями все условия должны иметь значения true для создания исходящего утверждения.

  • Издатель утверждений — относится к сущности, которая издала второе входящее утверждение. Это может быть тот же поставщик удостоверений, который был выбран для первого утверждения, или это может быть Служба управления доступом. Выберите Служба управления доступом, чтобы указать утверждения, созданные из других правил утверждений во время обработки правил.

    ImportantВажно!
    Невозможно выбрать два разных поставщика удостоверений для первого и второго утверждения, так как одновременно обработка правил происходит только для одного токена, выданного поставщиком удостоверений.

  • Тип входящего утверждения — относится к типу входящего утверждения, полученному от издателя утверждений. Например, полный тип утверждения для "nameidentifier" — http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. В число параметров данного поля входят:

    • Выберите тип — возвращает значение true, если тип входящего утверждения соответствует типу, выбранному в раскрывающемся меню. Это меню заполняется типами утверждений, доступными для выбранного издателя утверждений.

    • Введите тип — возвращает значение true, если тип входящего утверждения соответствует точному значению, введенному в это поле.

      ImportantВажно!
      Это поле учитывает регистр.

  • Значение входящего утверждения — возвращает значение полученного входящего утверждения. Например, тип утверждения "nameidentifier" использует адрес электронной почты как его значение, а это поле можно использовать для проверки определенного адреса электронной почты. Возвращает значение true, если тип входящего утверждения соответствует точному значению, введенному в поле.

    ImportantВажно!
    Это поле учитывает регистр.

В этом разделе определяется исходящее утверждение, изданное Служба управления доступом, если условия раздела Если этого правила имеют значения true. К параметрам исходящего утверждения относятся следующие:

  • Тип исходящего утверждения — тип утверждения, изданный Служба управления доступом. В число параметров данного поля входят:

    • Передавать тип входящего утверждения — издает исходящее утверждение того же типа, что и входящее утверждение.

    • Выберите тип — издает исходящее утверждение указанного типа. Раскрывающееся меню содержит список распространенных типов утверждений.

    • Введите тип — издает утверждение введенного типа. Если исходящее утверждение должно присутствовать в токене SAML, это значение должно быть URI (например, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).

      ImportantВажно!
      Это поле учитывает регистр.

  • Значение исходящего утверждения — относится к значению исходящего утверждения, изданного Служба управления доступом. В число параметров данного поля входят:

    • Передавать значение входящего утверждения — издает исходящее утверждение со значением, равным значению входящего утверждения.

    • Введите значение — издает утверждение, которое имеет значение, введенное в этом поле. Этот параметр требует, чтобы определенный тип входящего утверждения был выбран или введен в поле Тип исходящего утверждения.

      ImportantВажно!
      Это поле учитывает регистр.

Этот раздел можно использовать для создания описания правила.

noteПримечание
В Служба управления доступом описания правил не создаются автоматически для созданных правил.

Правила в Пространство имен Access Control можно настроить программно с помощью Служба управления ACS. Пример настройки правил с помощью ASP.NET см. в разделе Образец кода: Служба управления. Ниже приведены важные вопросы, которые следует учитывать при использовании службы управления Служба управления доступом для настройки правил.

  • При изменении и удалении правил в группе правил рекомендуется сначала запросить в Служба управления доступом все правила в пределах этой группы правил и использовать идентификаторы правил, которые возвращает запрос для выполнения операций изменения или удаления. Не рекомендуется хранить идентификаторы, возвращенные службой управления для будущих операций, так как нет гарантии в их сохранении.

  • При написании логики автоматического повтора для создания правил (например, как в событии истечения времени ожидания) рекомендуется сначала запрашивать существование идентичного правила в текущей группе правил перед тем, как пытаться добавить его во второй раз.

См. также

Основные понятия

Компоненты ACS 2.0

Показ: