Службы федерации Active Directory (ADFS) используют хранилища учетных записей для входа пользователей и извлечения заявок безопасности для этих пользователей. Для одной Служба федерации можно настроить несколько хранилищ учетных записей и задать их приоритет. Для взаимодействия с хранилищами учетных записей служба федерации использует протокол LDAP (Lightweight Directory Access Protocol).

ADFS поддерживает два типа хранилищ учетных записей: хранилища учетных записей Active Directory и хранилища учетных записей ADAM (Active Directory Application Mode).

Хранилища учетных записей Active Directory

Служба ADFS тесно интегрирована с Active Directory. ADFS отбирает пользовательские атрибуты и проверяет подлинность пользователей в Active Directory. ADFS также использует встроенную проверку подлинности Windows и маркеры безопасности, которые создает Active Directory.

Чтобы пользователь мог войти в Active Directory, имя пользователя должно быть в формате основного имени пользователя (UPN) (пользователь@adatum.com) или в формате имени учетной записи диспетчера учетных записей (Security Accounts Manager, SAM) (adatum\пользователь). После того как пользователь вошел в систему и получил полномочия, коды безопасности пользователя (SID) считываются из маркера доступа. Затем SID сопоставляются с Заявки о группе организации.

Заявки электронной почты, заявки обычного имени и настраиваемые заявки могут быть извлечены из атрибутов объекта пользователя, которые определяются в Active Directory, когда учетная запись службы федерации используется для выполнения LDAP-поиска объекта.

Учетная запись службы федерации должна иметь доступ к объекту пользователя. Если объект пользователя находится в домене, отличном от домена, в котором размещена учетная запись службы федерации, отношение доверия домена Active Directory должен иметь домен объекта, но не домен учетной записи.

Не существует прямого способа определить, существует ли любое данное имя пользователя в Active Directory и во всех каталогах, которым доверяет (непосредственно или косвенно) Active Directory. Active Directory возвращает принудительный сбой только если попытка входа в систему неудачна в результате ограничений политики. К таким ошибкам, связанным с ограничениями политики, относятся, в частности, следующие:

  • Учетная запись отключена.

  • Срок действия пароля учетной записи истек.

  • Учетной записи не разрешен вход на данный компьютер.

  • Для учетной записи пользователя заданы ограничения на время подключения, не позволяющие в данный момент использовать ее для входа в систему.

В противном случае ошибки входа в хранилище учетных записей Active Directory непринудительны, и выполняется попытка входа в следующее по приоритету хранилище учетных записей. Дополнительные сведения об ошибках входа в хранилища учетных записей см. в разделе Устранение неполадок системы ADFS.

В следующем списке приводятся элементы настройки хранилища учетных записей Active Directory:

  • Параметр, показывающий, включена ли данная запись

  • Отображаемое имя доверенного хранилища учетных записей Active Directory

  • Необязательно: список кодов SID, которые сопоставляются с конкретными заявками о группе организации

  • Необязательно: конфигурация, определяющая порядок извлечения заявок организации из атрибутов объекта пользователя в Active Directory:

    • Идентификационная заявка на электронную почту или идентификационная заявка на общее имя

    • Настраиваемая заявка организации

При создании настраиваемой заявки имя атрибута объекта пользователя определяет имя заявки.

Хранилища учетных записей ADAM

Служба ADAM осуществляет хранение и поиск данных для приложений, работающих с каталогами, но без каких-либо зависимостей, которые требуются для службы каталогов Active Directory. ADAM обеспечивает большую часть функциональных возможностей Active Directory, но при этом не требует развертывания доменов или контроллеров доменов. Точно так же, как служба ADFS использует информацию хранилища учетных записей Active Directory, она отбирает атрибуты пользователя и проверяет подлинность пользователей в ADAM.

Примечание

ADFS не может проверить подлинность учетных записей ADAM, в имени которых используются круглые скобки. Учетные записи, в имени пользователя которых есть открывающая круглая скобка, вызывают ошибку поиска в LDAP, так как фильтр LDAP с такими именами недопустим.

Заявки безопасности принимаются, когда для выполнения поиска объекта LDAP используется учетная запись службы федерации. Это двухшаговый процесс:

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

    Примечание

    Для этого процесса требуется, чтобы сервер ADAM располагался в домене, который доверяет домену, членом которого является служба федерации.

  • Затем, путем сопоставления (с использованием LDAP) найденного объекта пользователя с предоставленным паролем, проверяются учетные данные пользователя. Если протокол TLS/SSL (Transport Layer Security and Secure Sockets Layer конфигурирован с учетом свойств хранилища учетных записей ADAM в политике доверия, учетные данные пользователя защищены.

    Важно!

    Настоятельно рекомендуется, чтобы поток информации между сервером ADAM и сервером федерации был защищен протоколом TLS/SSL или другими средствами, такими как безопасность протокола IP (IPsec).

Если запрос LDAP с предоставленным именем пользователя возвращает более одного объекта, это считается ошибкой проверки подлинности. Дополнительные сведения об ошибках проверки подлинности см. в разделе Устранение неполадок системы ADFS.

Так как существование учетной записи пользователя в хранилище ADAM всегда определяет наличие объекта пользователя, вход в хранилище ADAM принудителен. Поэтому вход в никакие дополнительные хранилища учетных записей не предпринимается. В следующем списке приводятся элементы конфигурации хранилища учетных записей ADAM:

  • Параметр, показывающий, включена ли данная запись

  • Отображаемое имя доверенного хранилища учетных записей ADAM

  • Имя сервера ADAM

  • Атрибут объекта пользователя LDAP, содержащий имя пользователя

  • Необязательно: номер порта. Если номер порта не указан, по умолчанию используется значение 389.

  • Необязательно: база поиска. Если указано поддерево, поиск выполняется в заданном поддереве. В противном случае просматривается все дерево каталогов.

  • Необязательно: время ожидания клиента — максимальное время, в течение которого служба федерации ожидает ответа от сервера ADAM перед отключением связи. По умолчанию это время составляет 5 секунд.

  • Необязательно: конфигурация, определяющая порядок извлечения заявки организации:

    • Идентификационная заявка UPN/электронной почты/общего имени: имя определенного атрибута объекта пользователя, значение которого извлекается как значение заявки UPN/электронной почты/общего имени

    • Заявка организации о группе: имя атрибута объекта пользователя и его значение, которое, если оно присутствует, является основанием для отбора конкретной заявки о группе

    • Настраиваемая заявка организации: имя определенного атрибута объекта пользователя, значение которого извлекается как значение конкретной настраиваемой заявки

Если эта конфигурация отсутствует, каталог используется только для входа пользователя, то есть, без извлечения заявки.

Определение приоритета запросов на вход пользователя

Когда запрос на вход поступает к Active Directory или ADAM через клиент ADFS, он передается непосредственно указанному хранилищу учетных записей. Однако если универсальный код ресурса (URI) хранилища учетных записей не указан, выполняются попытки входа пользователя в каждое из хранилищ в порядке их приоритета. Результат проверки подлинности возвращается, если:

  • Существует только одно настроенное хранилище и возвращены сведения о проверке учетных данных.

  • URI хранилища был указан в запросе на вход и возвращены сведения о проверке учетных данных.

  • Результат проверки подлинности одним из хранилищ был принудительным.

  • Проверка подлинности одним из хранилищ прошла успешно.

Отключение хранилищ учетных записей

Каждое хранилище учетных записей может быть отмечено как включенное или отключенное. Если хранилище учетных записей отключено, оно не участвует в каких-либо операциях, связанных с хранилищами учетных записей. Файлы «cookie» с заявками, создаваемые в хранилище учетных записей, которое в данный момент отключено, отвергаются или удаляются, и клиент направляется на страницу входа в систему.