Kiedy należy używać reguły przekazywania lub filtrowania oświadczeń
Tej reguły można użyć w usługach Active Directory Federation Services (AD FS), gdy trzeba podjąć określony typ oświadczenia przychodzącego, a następnie zastosować akcję, która określi, jakie dane wyjściowe powinny wystąpić na podstawie wartości w oświadczenia przychodzącego. Jeśli używasz tej reguły, przekazujesz lub filtrujesz wszelkie oświadczenia zgodne z logiką reguły w poniższej tabeli na podstawie jednej z opcji skonfigurowanych w regule.
Opcja reguły | Logika reguły |
---|---|
Przejdź przez wszystkie wartości roszczeń | Jeśli typ oświadczenia przychodzącego jest równy określonemu typowi oświadczenia i wartość jest równa dowolnej wartości , a następnie przekaż oświadczenie dalej. |
Przepuść tylko określoną wartość roszczenia | Jeśli typ przychodzącego roszczenia jest równy określonemu typowi roszczenia, a wartość jest równa określonej wartości roszczenia, wtedy przekaż roszczenie dalej. |
Przesyłaj tylko te wartości oświadczeń, które pasują do określonej wartości sufiksu e-mail. | Jeśli typ przychodzącego żądania jest równy określonemu typowi roszczenia i wartość jest równa określonej wartości sufiksu, to przekaż roszczenie dalej. |
Przepuszczanie tylko wartości claim rozpoczynających się od określonej wartości | Jeśli typ przychodzącego roszczenia jest równy określonemu typowi roszczenia i wartość zaczyna się od określonej wartości roszczenia, następnie przekaż roszczenie dalej. |
W poniższych sekcjach przedstawiono podstawowe wprowadzenie do reguł oświadczeń i szczegółowe informacje o tym, kiedy należy używać tej reguły.
Informacje o regułach oświadczeń
Reguła oświadczenia reprezentuje wystąpienie logiki biznesowej, które będzie przyjmować oświadczenie przychodzące, zastosuje do niego warunek (jeśli x to y) i utworzy oświadczenie wychodzące na podstawie parametrów warunku. Poniższa lista zawiera ważne wskazówki, które warto znać dotyczące zasad roszczeń przed przeczytaniem niniejszego tematu:
W przystawce Zarządzanie usługami AD FS reguły oświadczeń można tworzyć wyłącznie za pomocą szablonów reguł oświadczeń.
Reguły oświadczeń przetwarzają oświadczenia przychodzące bezpośrednio od dostawcy oświadczeń (takiego jak Active Directory lub inna usługa federacyjna) albo z wyników reguł transformacji akceptacji w zaufaniu dostawcy oświadczeń.
Reguły oświadczeń są przetwarzane przez aparat wystawiania oświadczeń w kolejności chronologicznej w ramach danego zestawu reguł. Ustawiając pierwszeństwo dla reguł, można dodatkowo uściślić lub filtrować oświadczenia generowane przez poprzednie reguły w ramach danego zestawu reguł.
Szablony reguł oświadczeń zawsze będą wymagać określenia typu oświadczenia przychodzącego. Można jednak przetworzyć wiele wartości oświadczeń o tym samym typie oświadczenia przy użyciu jednej reguły.
Aby uzyskać bardziej szczegółowe informacje na temat reguł oświadczeń i zestawów reguł oświadczeń, zobacz Rola reguł oświadczeń. Aby uzyskać więcej informacji na temat przetwarzania reguł, zobacz Funkcja silnika roszczeń. Aby uzyskać więcej informacji na temat sposobu przetwarzania zestawów reguł roszczeń, zobacz Rola potoku roszczeń.
Przejrzyj wszystkie wartości roszczeń
W przypadku korzystania z tej akcji wszystkie wartości oświadczeń przychodzących dla określonego typu oświadczenia są przekazywane jako oświadczenia wychodzące. Na przykład, gdy typ oświadczenia przychodzącego jest określony jako typ oświadczenia 'Role', wszystkie wartości oświadczeń przychodzących są kopiowane indywidualnie do nowych oświadczeń wychodzących z typem 'Role'.
Filtrowanie oświadczenia
W usługach AD FS termin filtrowanie oświadczeń oznacza filtrowanie lub ograniczanie wartości oświadczeń przychodzących, aby jedynie określone wartości były przekazywane lub wysyłane jako oświadczenia wychodzące. Jest to szablon reguły przekazywanie lub filtrowanie oświadczenia przychodzącego, który umożliwia tę funkcję. We właściwościach tej reguły można ustawić warunki filtrowania wartości przychodzących tak, aby przekazywane są tylko wartości spełniające określone kryteria.
Można na przykład użyć tej reguły, aby przepuszczać tylko te roszczenia, które odpowiadają wartości roszczenia nabywcy, gdy typ przychodzącego roszczenia odpowiada typowi roli, lub można chcieć wydawać tylko roszczenia dotyczące nazwiska użytkownika, ale nie roszczenia zawierające numer ubezpieczenia społecznego użytkownika.
Jeśli używasz warunku filtru z tą regułą, wszystkie oświadczenia przychodzące są badane w celu określenia, które oświadczenia spełniają kryteria ustawione przez regułę. Wszystkie inne oświadczenia są ignorowane, tak aby tylko określone wartości oświadczeń, które pasują do wybranego typu oświadczenia, zostaną przekazane.
Na przykład, jak pokazano na poniższej ilustracji, gdy reguła jest ustawiona z warunkiem filtrowania tylko tych oświadczeń przychodzących, które odnoszą się do typu oświadczenia UPN i kończą się na @fabrikam.com, wszystkie inne oświadczenia przychodzące są ignorowane, chyba że spełniają te kryteria. Obejmuje to przychodzące roszczenie z typem roszczenia Adres e-mail, nawet jeśli jego wartość roszczenia kończy się na @fabrikam.com. W takim przypadku jedynie oświadczenie zawierające wartość Nick@fabrikam.com jest wysyłane do strony polegającej.
Konfigurowanie tej reguły dla zaufania dostawcy oświadczeń
Jeśli używasz zaufania dostawcy oświadczeń, tę regułę można skonfigurować tak, aby przekazywać tylko oświadczenia przychodzące od dostawcy oświadczeń, które spełniają określone ograniczenia. Na przykład możesz chcieć zaakceptować tylko oświadczenia e-mail od dostawcy oświadczeń; W związku z tym należy użyć tego szablonu reguły do akceptowania typów oświadczeń poczty e-mail, które kończą się nazwą systemu nazw domen (DNS) dostawcy oświadczeń.
Konfigurowanie tej reguły na zaufaniu strony polegającej
W przypadku korzystania z zaufania jednostki uzależnionej tę regułę można skonfigurować do przekazywania lub filtrowania oświadczeń wychodzących, które będą wysyłane do jednostki uzależnionej. Niektóre jednostki uzależnione mogą nie rozumieć niektórych typów oświadczeń lub niektóre oświadczenia mogą zawierać poufne informacje, które nie powinny być wysyłane do niektórych jednostek uzależnionych. Ten szablon reguł może pomóc wymusić te zasady dla określonej relacji zaufania powiernika zależnego.
Jak utworzyć tę regułę
Regułę tę można utworzyć przy użyciu języka reguł oświadczeń lub korzystając z szablonu reguły Przepuszczania lub Filtrowania Oświadczenia Przyjmowanego w przystawce do zarządzania usługą AD FS. Ten szablon reguły zawiera następujące opcje konfiguracji:
Podaj nazwę reguły oświadczenia
Określ typ przychodzącego roszczenia
Przejrzyj wszystkie wartości oświadczeń
Przekazywanie tylko określonej wartości oświadczenia
Przekazuj tylko wartości atrybutów, które pasują do określonego sufiksu adresu e-mail.
Przepuszczaj tylko wartości roszczeń rozpoczynające się od określonej wartości
Aby uzyskać więcej instrukcji dotyczących tworzenia tego szablonu, zobacz Tworzenie reguły do przekazywania lub filtrowania oświadczenia przychodzącego w przewodniku wdrażania usług AD FS.
Korzystanie z języka reguł zgłoszeń
Jeśli oświadczenie powinno być wysyłane tylko wtedy, gdy wartość oświadczenia jest zgodna ze wzorcem niestandardowym, należy użyć reguły niestandardowej. Aby uzyskać więcej informacji, zobacz Kiedy używać reguły niestandardowej.
Przykłady tworzenia składni reguły przepuszczania lub filtrowania
Prosta reguła filtrowania filtruje oświadczenia na podstawie jednej z właściwości opisanych powyżej. Na przykład następująca reguła będzie przechodzić przez wszystkie oświadczenia e-mail:
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"] => issue(claim = c);
Filtry mogą być połączone logicznie za pomocą operatora AND. Na przykład następująca reguła zaakceptuje wszystkie oświadczenia e-mail z wartością johndoe@fabrikam.com:
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value == "johndoe@fabrikam.com "] => issue(claim = c);
W powyższych przykładach filtry zawsze używały operatora równości. Język reguł oświadczeń obsługuje następujące operatory:
== — równa się (uwzględniana wielkość liter)
!= — nie równa się (uwzględniana wielkość liter)
=~- dopasowanie wyrażenia regularnego
!~ — wyrażenie regularne niezgodne
Na przykład następująca reguła będzie akceptować wszystkie oświadczenia poczty e-mail, które nie są wystawiane przez lokalny serwer federacyjny, który ma sufiks boeing.com:
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value =~ "^.*@boeing\.com$" , issuer != "LOCAL AUTHORITY"] => issue(claim = c);
Najlepsze rozwiązania dotyczące tworzenia reguł niestandardowych
Filtr można zastosować do co najmniej jednej właściwości każdego oświadczenia, zgodnie z opisem w poniższej tabeli.
Roszczenie do nieruchomości | Opis |
---|---|
Typ | Typ oświadczenia (zwykle reprezentowany jako identyfikator URI) odzwierciedla niejawną umowę między partnerami w federacji na temat rodzaju informacji przekazywanych w oświadczeniu. Na przykład oświadczenia typu http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress będą zawierać adres e-mail użytkownika. |
Wartość | Wartość oświadczenia. Na przykład oświadczenie typu http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress może mieć wartość johndoe@fabrikam.com |
ValueType | Parametr ValueType reprezentuje sposób interpretowania informacji zawartych w wartości oświadczenia. Zazwyczaj wartość ValueType będzie ustawiona na http://www.w3.org/2001/XMLSchema#string, ale wartość roszczenia może zawierać zakodowane dane Base64Binary (na przykład obraz), datę, wartość logiczną itp. |
Wystawca | Wystawca reprezentuje stronę, która ostatnio wydała oświadczenia dotyczące użytkownika. Jeśli oświadczenia są uzyskiwane na serwerze federacyjnym dostawcy oświadczeń, wystawca wszystkich oświadczeń zostanie ustawiony na "URZĄD LOKALNY". Jeśli oświadczenia zostały odebrane przez serwer federacyjny dostawcy federacyjnego, wystawca oświadczeń zostanie ustawiony na identyfikator dostawcy oświadczeń, który podpisał token. W związku z tym w przypadku przetwarzania reguł dotyczących oświadczeń otrzymanych od dostawcy oświadczeń wystawca wszystkich oświadczeń będzie ustawiony na tę samą wartość. Podczas tworzenia reguł dla jednostki uzależnionej właściwość wystawcy może służyć do rozróżnienia między oświadczeniami pochodzącymi z różnych dostawców oświadczeń. |
OryginalnyWystawca | Ta właściwość oświadczenia ma na celu przekazanie, który serwer federacyjny pierwotnie wydał oświadczenie. Ponieważ właściwość wystawcy oświadczeń jest ustawiona na ostatni serwer federacyjny, który podpisał token, oryginalny wystawca jest przydatny w scenariuszach, w których oświadczenie przeszło przez więcej niż jeden serwer federacyjny (na przykład strona ufająca, która otrzymuje token z serwera federacyjnego dostawcy federacyjnego, może być zainteresowana, który konkretny serwer federacyjny dostawcy oświadczeń uwierzytelnił użytkownika). |
Właściwości | Oprócz pięciu właściwości opisanych powyżej każde oświadczenie ma również torbę właściwości, w której można przechowywać nazwane właściwości. Te właściwości nie są serializowane w tokenie i mają sens tylko wtedy, gdy są używane do przekazywania informacji pomiędzy składnikami potoku wydawania oświadczeń w obrębie pojedynczego serwera federacyjnego. Na przykład ustawienie właściwości podczas przetwarzania reguł dostawcy roszczeń, a następnie odwołanie się do niej w regułach strony ufającej. |