2016-07-27 9 views
0

После некоторого успеха с простыми правилами, возникают проблемы в ADFS Утверждает правила PowerShell оснастки с:ADFS PowerShell Требование Правило Комбинация Sytax

  1. Как удалить правила. РЕДАКТИРОВАТЬ: => путь бедного человека, похоже, просто определяет новый пустой набор правил.
  2. Как добавить правила, не устанавливая их все в одной команде.
  3. Синтаксис для логических решений внутри правила. Моя попытка:

Set-AdfsAdditionalAuthenticationRule -AdditionalAuthenticationRules 'c1:[type == 
"http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] && 
(NOT EXISTS([type == "http://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-ip", 
Value =~ "^(?i)2003:6a:7d12:3f58:148:f23:cdc4:4181$"])) 
=> issue(type = 
"http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"http://schemas.microsoft.com/claims/multipleauthn");' 

выдает ошибку на «НЕ НЕ СУЩЕСТВУЕТ» независимо от того, что я делаю. Любая помощь очень ценится. Идея заключается в том, чтобы использовать все внешние IP-адреса, кроме тех, что указаны в списке IP-адресов (regex) для использования MFA.

EDIT: я попытался следующие

единственное, что я до сих пор не могу получить работу является проверка IP-адрес. Есть ли способ отлаживать, чтобы увидеть, что происходит (найденный ip или результат регулярного выражения и т. Д.)?

$RhtMfaClaimRule = 'NOT EXISTS([type == 
"http://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-ip", Value =~ "^(?i)81.151.139.145$"]) => add(type = "http://schemas.company.com/temp", value = "true"); 
c1:[type == "http://schemas.company.com/temp"] && 
c2:[type == "http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = "http://schemas.microsoft.com/claims/multipleauthn");' 

Set-AdfsAdditionalAuthenticationRule $RhtMfaClaimRule 

EDIT: Извлеченные из регистрации Правила, по всей видимости, будет в порядке, так как регулярное выражение из «.asterix» для отфильтрованного IP отключается MFA от внешнего, как ожидалось. Но как только я меняю его на что-либо, кроме .asterix, я снова получаю приглашение для МИД. Итак, подозревая, что клиент-ip претендует, глядя на журналы. Я вижу, что вызывающий IP-адрес отображается в заголовке контекста запроса, насколько это хорошо, но в тысячах записей трассировки я пока не вижу требования client-ip. Я подозреваю, что должен сообщить Office365 о том, чтобы отправить это где-то в моей ADFS-daschboard «Изменить правила для платформы Microsoft Identity Platform». Любая идея, что мне нужно, чтобы точно добавить туда для этого клиента-ip претензию на пересылку?

EDIT. Вероятно, SOLVED

Показанные ниже сообщения помогли. Требование ms-client-ip, используемое выше, очевидно, только для внутренних клиентов. Отчаяние привело меня к тому, чтобы действительно посмотреть детали претензий и заменить заявку x-ms-client на следующую из контекста запроса, по-видимому, успешно выполнил начальные тесты.

http://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-forwarded-client-ip

+0

https://blogs.technet.microsoft.com/askdes/2012/06/26/an-adfs-claims-rules-adventure/ – nzpcmad

ответ

1

Вы не можете и EXISTS правила AFAIK.

Попробуйте что-то вроде:

НЕ СУЩЕСТВУЕТ ([тип == "http://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-client-ip", Value = ~ «^ (?я) 2003: 6а: 7d12: 3f58: 148: F23: cdc4: 4181 $ "])) => добавить (тип = " http://schemas.company.com/temp», значение = "истина");

, а затем:

с1: [тип == "http://schemas.company.com/temp "] & & с2: [тип == " http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", значение == "ложно"] => выпуск (тип = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", значение = "http://schemas.microsoft.com/claims/multipleauthn ");

+0

Спасибо. Я заметил :-) Пробовал, но пока не удалось. мое редактирование. – GGleGrand

+0

Пожалуйста, ознакомьтесь с приведенными выше изменениями для регистрации. Я подозреваю, что должен сообщить Office365 о том, чтобы отправить это где-то в моей ADFS-daschboard «Изменить правила для платформы Microsoft Identity Platform». Любая идея, что мне нужно, чтобы точно добавить туда этого клиента -ip заявка на пересылку? Спасибо! – GGleGrand

+0

См. мои правки выше. Ссылка на nzpmad выше показала мне, кто утверждает, что ее используют, поэтому отмечаем как ответ. Используйте это http://schemas.microsoft.com/2012/01/requestcontext/ претензий/x-ms-forwarded-client-ip вместо x-ms-client-ip. – GGleGrand