Dostosowywanie oświadczeń tokenu SAML
Aplikacja Platforma tożsamości Microsoft obsługuje logowanie jednokrotne (SSO) z większością wstępnie zintegrowanych aplikacji w galerii aplikacji i aplikacjach niestandardowych. Gdy użytkownik uwierzytelnia się w aplikacji za pośrednictwem Platforma tożsamości Microsoft przy użyciu protokołu SAML 2.0, token jest wysyłany do aplikacji. Aplikacja weryfikuje token i używa go do logowania użytkownika zamiast monitowania o podanie nazwy użytkownika i hasła.
Te tokeny SAML zawierają informacje o użytkowniku znanym jako oświadczenia. Oświadczenie to informacje, które dostawca tożsamości stwierdza o użytkowniku wewnątrz tokenu, który wystawia dla tego użytkownika. W tokenie SAML dane oświadczeń są zwykle zawarte w instrukcji atrybutu SAML. Unikatowy identyfikator użytkownika jest zwykle reprezentowany w temacie SAML, który jest również określany jako identyfikator nazwy (nameID
).
Domyślnie Platforma tożsamości Microsoft wystawia token SAML aplikacji zawierającej oświadczenie z wartością nazwy użytkownika (znanej również jako główna nazwa użytkownika), co może jednoznacznie zidentyfikować użytkownika. Token SAML zawiera również inne oświadczenia, które obejmują adres e-mail użytkownika, imię i nazwisko.
Wyświetlanie lub edytowanie oświadczeń
Aby wyświetlić lub edytować oświadczenia wystawione w tokenie SAML do aplikacji:
- Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator aplikacji w chmurze.
- Przejdź do sekcji Identity>Applications Enterprise Applications>Wszystkie aplikacje.>
- Wybierz aplikację, wybierz pozycję Logowanie jednokrotne w menu po lewej stronie, a następnie wybierz pozycję Edytuj w sekcji Atrybuty i oświadczenia .
Może być konieczne edytowanie oświadczeń wystawionych w tokenie SAML z następujących powodów:
- Aplikacja wymaga
NameIdentifier
, aby oświadczenie lubnameID
było czymś innym niż nazwa użytkownika (lub główna nazwa użytkownika). - Aplikacja została napisana w taki sposób, aby wymagać innego zestawu identyfikatorów URI oświadczeń lub wartości oświadczeń.
Redagować nameID
Aby edytować oświadczenie wartości identyfikatora nazwy:
- Otwórz stronę Wartość identyfikatora nazwy.
- Wybierz atrybut lub przekształcenie, które chcesz zastosować do atrybutu. Opcjonalnie możesz określić format, który ma
nameID
mieć oświadczenie.
Format NameID
Jeśli żądanie SAML zawiera element NameIDPolicy
o określonym formacie, Platforma tożsamości Microsoft honoruje format w żądaniu.
Jeśli żądanie SAML nie zawiera elementu dla NameIDPolicy
elementu , Platforma tożsamości Microsoft problemy nameID
z określonym formatem. Jeśli nie określono żadnego formatu, Platforma tożsamości Microsoft używa domyślnego formatu źródłowego skojarzonego z wybranym źródłem oświadczeń. Jeśli przekształcenie spowoduje, że wartość null lub jest niedozwolona, identyfikator Entra firmy Microsoft wysyła trwały identyfikator parowania w elemecie nameID
.
Z listy rozwijanej Wybierz format identyfikatora nazwy wybierz jedną z opcji w poniższej tabeli.
nameID format |
opis |
---|---|
Wartość domyślna | Platforma tożsamości Microsoft używa domyślnego formatu źródłowego. |
Uporczywy | Platforma tożsamości Microsoft używa Persistent jako nameID formatu. |
Adres e-mail | Platforma tożsamości Microsoft używa EmailAddress jako nameID formatu. |
Nieokreślony | Platforma tożsamości Microsoft używa Unspecified jako nameID formatu. |
Kwalifikowana nazwa domeny systemu Windows | Platforma tożsamości Microsoft używa WindowsDomainQualifiedName formatu. |
nameID
Przejściowy jest również obsługiwany, ale nie jest dostępny na liście rozwijanej i nie można go skonfigurować po stronie platformy Azure. Aby dowiedzieć się więcej o atrybucie NameIDPolicy
, zobacz Protokół SAML logowania jednokrotnego.
Atrybuty
Napiwek
Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.
Wybierz żądane źródło dla NameIdentifier
oświadczenia (lub nameID
). Możesz wybrać z opcji w poniższej tabeli.
Nazwa/nazwisko | opis |
---|---|
Email |
Adres e-mail użytkownika. |
userprincipalName |
Główna nazwa użytkownika (UPN). |
onpremisessamaccountname |
Nazwa konta SAM, które zostało zsynchronizowane z lokalnego identyfikatora Microsoft Entra ID. |
objectid |
Identyfikator obiektu użytkownika w usłudze Microsoft Entra ID. |
employeeid |
Identyfikator pracownika użytkownika. |
Directory extensions |
Rozszerzenia katalogów synchronizowane z lokalna usługa Active Directory przy użyciu usługi Microsoft Entra Connect Sync. |
Extension Attributes 1-15 |
Atrybuty rozszerzenia lokalnego używane do rozszerzania schematu microsoft Entra. |
pairwiseid |
Trwała forma identyfikatora użytkownika. |
Aby uzyskać więcej informacji na temat wartości identyfikatorów, zobacz tabelę zawierającą listę prawidłowych wartości identyfikatorów na źródło w dalszej części tej strony.
Dowolna wartość stała (statyczna) może być przypisana do dowolnego oświadczenia. Aby przypisać wartość stałą, wykonaj następujące kroki:
- W bloku Atrybuty i oświadczenia wybierz wymagane oświadczenie, które chcesz zmodyfikować.
- Wprowadź wartość stałą bez cudzysłowów w atrybucie Source zgodnie z twoją organizacją i wybierz pozycję Zapisz. Zostanie wyświetlona stała wartość.
Rozszerzenia schematu katalogu
Można również skonfigurować atrybuty rozszerzenia schematu katalogu jako atrybuty nie warunkowe/warunkowe. Wykonaj następujące kroki, aby skonfigurować atrybut rozszerzenia schematu katalogu pojedynczego lub wielowartościowego jako oświadczenia:
- W bloku Atrybuty i oświadczenia wybierz pozycję Dodaj nowe oświadczenie lub edytuj istniejące oświadczenie.
- Wybierz aplikację źródłową z selektora aplikacji, w którym zdefiniowano właściwość rozszerzenia.
- Wybierz pozycję Dodaj , aby dodać wybór do oświadczeń.
- Kliknij przycisk Zapisz , aby zatwierdzić zmiany.
Przekształcenia oświadczeń specjalnych
Możesz użyć następujących specjalnych funkcji przekształceń oświadczeń.
Function | opis |
---|---|
ExtractMailPrefix() | Usuwa sufiks domeny z adresu e-mail lub głównej nazwy użytkownika. Ta funkcja wyodrębnia tylko pierwszą część przekazywanej nazwy użytkownika (na przykład "joe_smith" zamiast joe_smith@contoso.com). |
ToLower() | Konwertuje znaki wybranego atrybutu na małe litery. |
ToUpper() | Konwertuje znaki wybranego atrybutu na wielkie litery. |
Dodawanie oświadczeń specyficznych dla aplikacji
Aby dodać oświadczenia specyficzne dla aplikacji:
- W bloku Atrybuty i oświadczenia wybierz pozycję Dodaj nowe oświadczenie, aby otworzyć stronę Zarządzanie oświadczeniami użytkowników.
- Wprowadź nazwę oświadczeń. Wartość nie musi ściśle przestrzegać wzorca identyfikatora URI zgodnie ze specyfikacją SAML. Jeśli potrzebujesz wzorca identyfikatora URI, możesz umieścić go w polu Przestrzeń nazw .
- Wybierz źródło, w którym oświadczenie ma pobrać jego wartość. Możesz wybrać atrybut użytkownika z listy rozwijanej atrybutu źródłowego lub zastosować przekształcenie do atrybutu użytkownika przed jego emisją jako oświadczenie.
Dodawanie oświadczenia grupy
Oświadczenia grup są używane do podejmowania decyzji dotyczących autoryzacji dostępu do zasobu przez aplikację lub dostawcę usług. Aby dodać oświadczenia grupy;
- Przejdź do Rejestracje aplikacji i wybierz aplikację, do której chcesz dodać oświadczenie grupy.
- Wybierz pozycję Dodaj oświadczenie grup.
- Wybierz typy grup do uwzględnienia w tokenie. Możesz dodać grupy zabezpieczeń, grupy katalogów lub grupy przypisane do określonej aplikacji.
- Wybierz wartości, które chcesz uwzględnić w oświadczeniu grup, a następnie wybierz pozycję Dodaj.
Przekształcenia oświadczeń
Aby zastosować przekształcenie do atrybutu użytkownika:
- W obszarze Zarządzanie oświadczeniem wybierz pozycję Przekształcenie jako źródło oświadczeń, aby otworzyć stronę Zarządzanie transformacją.
- Wybierz funkcję z listy rozwijanej przekształcenia. W zależności od wybranej funkcji podaj parametry i stałą wartość do obliczenia w transformacji.
- Wybierz źródło atrybutu, klikając odpowiedni przycisk radiowy.
- Wybierz nazwę atrybutu z listy rozwijanej.
- Traktuj źródło jako wielowartościowe jest polem wyboru wskazującym, czy transformacja powinna być stosowana do wszystkich wartości, czy tylko do pierwszych. Domyślnie przekształcenia są stosowane tylko do pierwszego elementu w oświadczeniach wielowartościowych, zaznaczając to pole, aby zagwarantować, że zostanie zastosowany do wszystkich. To pole wyboru jest włączone tylko dla atrybutów wielowartych, na przykład
user.proxyaddresses
. - Aby zastosować wiele przekształceń, wybierz pozycję Dodaj przekształcenie. Do oświadczenia można zastosować maksymalnie dwie przekształcenia. Na przykład można najpierw wyodrębnić prefiks wiadomości e-mail z pliku
user.mail
. Następnie utwórz wielkie litery ciągu.
Do przekształcania oświadczeń można użyć następujących funkcji.
Function | opis |
---|---|
ExtractMailPrefix() | Usuwa sufiks domeny z adresu e-mail lub głównej nazwy użytkownika. Ta funkcja wyodrębnia tylko pierwszą część przekazywanej nazwy użytkownika. Na przykład joe_smith zamiast joe_smith@contoso.com . |
Join() | Tworzy nową wartość, łącząc dwa atrybuty. Opcjonalnie można użyć separatora między dwoma atrybutami. nameID W przypadku przekształcenia oświadczenia funkcja Join() ma określone zachowanie, gdy dane wejściowe przekształcenia mają część domeny. Usuwa część domeny z danych wejściowych przed dołączeniem go do separatora i wybranego parametru. Jeśli na przykład dane wejściowe przekształcenia to joe_smith@contoso.com , a separator to @ , a parametr to fabrikam.com , ta kombinacja danych wejściowych powoduje wynik .joe_smith@fabrikam.com |
ToLowercase() | Konwertuje znaki wybranego atrybutu na małe litery. |
ToUppercase() | Konwertuje znaki wybranego atrybutu na wielkie litery. |
Contains() | Zwraca atrybut lub stałą, jeśli dane wejściowe są zgodne z określoną wartością. W przeciwnym razie możesz określić inne dane wyjściowe, jeśli nie ma dopasowania. Jeśli na przykład chcesz emitować oświadczenie, w którym wartość jest adresem e-mail użytkownika, jeśli zawiera domenę @contoso.com , w przeciwnym razie chcesz wyświetlić główną nazwę użytkownika. Aby wykonać tę funkcję, skonfiguruj następujące wartości: Parameter 1(input): user.email , , Parameter 2 (output): user.email Value: "@contoso.com" i Parameter 3 (output if there's no match): user.userprincipalname . |
EndWith() | Zwraca atrybut lub stałą, jeśli dane wejściowe kończą się określoną wartością. W przeciwnym razie możesz określić inne dane wyjściowe, jeśli nie ma dopasowania. Jeśli na przykład chcesz emitować oświadczenie, w którym wartość jest identyfikatorem pracownika użytkownika, jeśli identyfikator pracownika kończy się wartością 000 , w przeciwnym razie chcesz wyświetlić atrybut rozszerzenia. Aby wykonać tę funkcję, skonfiguruj następujące wartości: Parameter 1(input): user.employeeid , , Parameter 2 (output): user.employeeid Value: "000" i Parameter 3 (output if there's no match): user.extensionattribute1 . |
StartWith() | Zwraca atrybut lub stałą, jeśli dane wejściowe zaczynają się od określonej wartości. W przeciwnym razie możesz określić inne dane wyjściowe, jeśli nie ma dopasowania. Jeśli na przykład chcesz emitować oświadczenie, w którym wartość jest identyfikatorem pracownika użytkownika, jeśli kraj/region zaczyna się od US , w przeciwnym razie chcesz wyświetlić atrybut rozszerzenia. Aby wykonać tę funkcję, skonfiguruj następujące wartości: Parameter 1(input): user.country , Value: "US" , Parameter 2 (output): user.employeeid i Parameter 3 (output if there's no match): user.extensionattribute1 |
Extract() — po dopasowaniu | Zwraca podciąg po jego dopasowaniu do określonej wartości. Jeśli na przykład wartość danych wejściowych to Finance_BSimon , zgodna wartość to Finance_ , dane wyjściowe oświadczenia to BSimon . |
Extract() — przed dopasowaniem | Zwraca podciąg, dopóki nie pasuje do określonej wartości. Jeśli na przykład wartość danych wejściowych to BSimon_US , zgodna wartość to _US , dane wyjściowe oświadczenia to BSimon . |
Extract() — między dopasowaniem | Zwraca podciąg, dopóki nie pasuje do określonej wartości. Jeśli na przykład wartość danych wejściowych to Finance_BSimon_US , pierwszą zgodną wartością jest Finance_ , druga zgodna wartość to _US , dane wyjściowe oświadczenia to BSimon . |
ExtractAlpha() — prefiks | Zwraca prefiks alfabetyczny część ciągu. Jeśli na przykład wartość danych wejściowych to BSimon_123 , zwraca BSimon wartość . |
ExtractAlpha() — sufiks | Zwraca sufiks alfabetyczny części ciągu. Jeśli na przykład wartość danych wejściowych to 123_Simon , zwraca Simon wartość . |
ExtractNumeric() — prefiks | Zwraca prefiks liczbowej części ciągu. Jeśli na przykład wartość danych wejściowych to 123_BSimon , zwraca 123 wartość . |
ExtractNumeric() — sufiks | Zwraca część liczbową sufiksu ciągu. Jeśli na przykład wartość danych wejściowych to BSimon_123 , zwraca 123 wartość . |
IfEmpty() | Zwraca atrybut lub stałą, jeśli dane wejściowe mają wartość null lub są puste. Jeśli na przykład chcesz wyświetlić atrybut przechowywany w atrybucie rozszerzenia, jeśli identyfikator pracownika dla użytkownika jest pusty. Aby wykonać tę funkcję, skonfiguruj następujące wartości: Parameter 1(input): user.employeeid , Parameter 2 (output): user.extensionattribute1 i Parameter 3 (output if there's no match): user.employeeid . |
IfNotEmpty() | Zwraca atrybut lub stałą, jeśli dane wejściowe nie mają wartości null ani nie są puste. Jeśli na przykład chcesz wyświetlić atrybut przechowywany w atrybucie rozszerzenia, jeśli identyfikator pracownika dla użytkownika nie jest pusty. Aby wykonać tę funkcję, skonfiguruj następujące wartości: Parameter 1(input): user.employeeid i Parameter 2 (output): user.extensionattribute1 . |
Podciąg() — stała długość | Wyodrębnia części typu oświadczenia ciągu, zaczynając od znaku w określonej pozycji, i zwraca określoną liczbę znaków. To sourceClaim źródło oświadczenia przekształcenia, które należy wykonać. Jest StartIndex to zerowa pozycja znaku początkowego podciągów w tym wystąpieniu. Jest Length to długość znaków podciągów. Na przykład , sourceClaim - PleaseExtractThisNow StartIndex - 6 i Length - 11 generuje dane wyjściowe ExtractThis . |
Podciąg() — EndOfString | Wyodrębnia części typu oświadczenia ciągu, zaczynając od znaku w określonej pozycji, i zwraca resztę oświadczenia z określonego indeksu początkowego. To sourceClaim źródło oświadczenia przekształcenia, które należy wykonać. Jest StartIndex to zerowa pozycja znaku początkowego podciągów w tym wystąpieniu. Na przykład sourceClaim - PleaseExtractThisNow i StartIndex - 6 generuje dane wyjściowe ExtractThisNow . |
RegexReplace() | Aby uzyskać więcej informacji na temat przekształcania oświadczeń opartych na wyrażeniach regularnych, zobacz następną sekcję. |
Przekształcanie oświadczeń opartych na wyrażeniach regularnych
Na poniższej ilustracji przedstawiono przykład pierwszego poziomu transformacji:
Akcje wymienione w poniższej tabeli zawierają informacje o pierwszym poziomie przekształceń i odpowiadają etykietom na poprzedniej ilustracji. Wybierz pozycję Edytuj , aby otworzyć blok przekształcania oświadczeń.
Akcja | Pole | opis |
---|---|---|
1 |
Transformation |
Wybierz opcję RegexReplace() z opcji Przekształcanie, aby użyć metody przekształcania oświadczeń opartych na wyrażeniach regularnych na potrzeby przekształcania oświadczeń. |
2 |
Parameter 1 |
Dane wejściowe przekształcenia wyrażenia regularnego. Na przykład user.mail, który ma adres e-mail użytkownika, taki jak admin@fabrikam.com . |
3 |
Treat source as multivalued |
Niektóre wejściowe atrybuty użytkownika mogą być atrybutami użytkownika o wielu wartościach. Jeśli wybrany atrybut użytkownika obsługuje wiele wartości, a użytkownik chce użyć wielu wartości do przekształcenia, musi wybrać opcję Traktuj źródło jako wielowartościowe. W przypadku wybrania wszystkie wartości są używane do dopasowania wyrażenia regularnego, w przeciwnym razie jest używana tylko pierwsza wartość. |
4 |
Regex pattern |
Wyrażenie regularne, które jest oceniane względem wartości atrybutu użytkownika wybranego jako parametr 1. Na przykład wyrażenie regularne w celu wyodrębnienia aliasu użytkownika z adresu e-mail użytkownika będzie reprezentowane jako (?'domain'^.*?)(?i)(\@fabrikam\.com)$ . |
5 |
Add additional parameter |
Do przekształcenia można użyć więcej niż jednego atrybutu użytkownika. Następnie wartości atrybutów zostaną scalone z danymi wyjściowymi przekształcenia regularnego. Obsługiwane są maksymalnie pięć dodatkowych parametrów. |
6 |
Replacement pattern |
Wzorzec zastępczy to szablon tekstowy, który zawiera symbole zastępcze dla wyniku wyrażenia regularnego. Wszystkie nazwy grup muszą być opakowane wewnątrz nawiasów klamrowych, takich jak {group-name} . Załóżmy, że administracja chce użyć aliasu użytkownika z inną nazwą domeny, na przykład xyz.com i scalić nazwę kraju z nim. W tym przypadku wzorzec zastępczy to {country}.{domain}@xyz.com , gdzie {country} jest wartością parametru wejściowego i {domain} jest wynikiem grupy z oceny wyrażenia regularnego. W takim przypadku oczekiwany wynik to US.swmal@xyz.com . |
Na poniższej ilustracji przedstawiono przykład drugiego poziomu transformacji:
Poniższa tabela zawiera informacje o drugim poziomie przekształceń. Akcje wymienione w tabeli odpowiadają etykietom na poprzedniej ilustracji.
Akcja | Pole | opis |
---|---|---|
1 |
Transformation |
Przekształcenia oświadczeń opartych na wyrażeniach regularnych nie są ograniczone do pierwszej transformacji i mogą być również używane jako transformacja drugiego poziomu. Dowolną inną metodę przekształcania można użyć jako pierwszej transformacji. |
2 |
Parameter 1 |
Jeśli funkcja RegexReplace() jest wybrana jako przekształcenie drugiego poziomu, dane wyjściowe transformacji pierwszego poziomu są używane jako dane wejściowe dla transformacji drugiego poziomu. Aby zastosować przekształcenie, drugie wyrażenie wyrażeń wyrażeń regularnych powinno być zgodne z danymi wyjściowymi pierwszego przekształcenia. |
3 |
Regex pattern |
Wzorzec wyrażenia regularnego jest wyrażeniem regularnym dla przekształcenia drugiego poziomu. |
4 |
Parameter input |
Dane wejściowe atrybutu użytkownika dla przekształceń drugiego poziomu. |
5 |
Parameter input |
Administratorzy mogą usunąć wybrany parametr wejściowy, jeśli nie będą już tego potrzebować. |
6 |
Replacement pattern |
Wzorzec zastępczy to szablon tekstowy, który zawiera symbole zastępcze dla nazwy grupy wyników wyrażeń regularnych, nazwy grupy parametrów wejściowych i statycznej wartości tekstowej. Wszystkie nazwy grup muszą być opakowane wewnątrz nawiasów klamrowych, takich jak {group-name} . Załóżmy, że administracja chce użyć aliasu użytkownika z inną nazwą domeny, na przykład xyz.com i scalić nazwę kraju z nim. W tym przypadku wzorzec zastępczy to {country}.{domain}@xyz.com , gdzie {country} jest wartością parametru wejściowego, a element {domain} to dane wyjściowe grupy z oceny wyrażeń regularnych. W takim przypadku oczekiwany wynik to US.swmal@xyz.com . |
7 |
Test transformation |
Przekształcenie RegexReplace() jest oceniane tylko wtedy, gdy wartość wybranego atrybutu użytkownika parametru 1 jest zgodna z wyrażeniem regularnym podanym w polu tekstowym Wzorzec wyrażenia regularnego. Jeśli nie są one zgodne, domyślna wartość oświadczenia zostanie dodana do tokenu. Aby zweryfikować wyrażenie regularne względem wartości parametru wejściowego, środowisko testowe jest dostępne w bloku przekształcania. To środowisko testowe działa tylko na fikcyjnych wartościach. Gdy są używane więcej parametrów wejściowych, nazwa parametru jest dodawana do wyniku testu zamiast wartości rzeczywistej. Aby uzyskać dostęp do sekcji testu, wybierz pozycję Przetestuj przekształcenie. |
Na poniższej ilustracji przedstawiono przykład testowania przekształceń:
Poniższa tabela zawiera informacje dotyczące testowania przekształceń. Akcje wymienione w tabeli odpowiadają etykietom na poprzedniej ilustracji.
Akcja | Pole | opis |
---|---|---|
1 |
Test transformation |
Wybierz przycisk Zamknij lub (X), aby ukryć sekcję testu i ponownie wyrenderować przycisk przekształcenia Testuj ponownie w bloku. |
2 |
Test regex input |
Akceptuje dane wejściowe używane do oceny testu wyrażeń regularnych. W przypadku, gdy przekształcenie oświadczeń opartych na wyrażeniach regularnych jest skonfigurowane jako przekształcenie drugiego poziomu, podaj wartość, która jest oczekiwaną wartością wyjściową pierwszego przekształcenia. |
3 |
Run test |
Po podaniu danych wejściowych wyrażeń regularnych testowych i skonfigurowaniu wzorca wyrażeń regularnych wzorzec zastąpienia i parametrów wejściowych wyrażenie można ocenić, wybierając pozycję Uruchom test. |
4 |
Test transformation result |
Jeśli ocena zakończy się pomyślnie, dane wyjściowe przekształcenia testowego są renderowane względem etykiety wyniku przekształcenia testowego. |
5 |
Remove transformation |
Przekształcenie drugiego poziomu można usunąć, wybierając pozycję Usuń przekształcenie. |
6 |
Specify output if no match |
Po skonfigurowaniu wartości wejściowej wyrażenia regularnego względem parametru 1, który nie jest zgodny z wyrażeniem regularnym, przekształcenie zostanie pominięte. W takich przypadkach można skonfigurować atrybut alternatywnego użytkownika, który jest dodawany do tokenu dla oświadczenia, zaznaczając opcję Określ dane wyjściowe, jeśli nie są zgodne. |
7 |
Parameter 3 |
Jeśli atrybut alternatywnego użytkownika musi być zwracany, gdy nie ma dopasowania i Określ dane wyjściowe, jeśli nie jest zaznaczone dopasowanie , można wybrać alternatywny atrybut użytkownika przy użyciu listy rozwijanej. Ta lista rozwijana jest dostępna dla parametru 3 (dane wyjściowe, jeśli nie są zgodne). |
8 |
Summary |
W dolnej części bloku zostanie wyświetlone pełne podsumowanie formatu, które wyjaśnia znaczenie przekształcenia w prostym tekście. |
9 |
Add |
Po zweryfikowaniu ustawień konfiguracji przekształcenia można je zapisać w zasadach oświadczeń, wybierając pozycję Dodaj. Wybierz pozycję Zapisz w bloku Zarządzaj oświadczeniem, aby zapisać zmiany. |
Przekształcenie RegexReplace() jest również dostępne dla przekształceń oświadczeń grupy.
Walidacje przekształcenia RegexReplace()
Gdy po wybraniu opcji Dodaj lub Uruchom test wystąpią następujące warunki, zostanie wyświetlony komunikat zawierający więcej informacji o problemie:
- Parametry wejściowe z zduplikowanymi atrybutami użytkownika nie są dozwolone.
- Znaleziono nieużywane parametry wejściowe. Zdefiniowane parametry wejściowe powinny mieć odpowiednie użycie w tekście wzorca zastępczego.
- Podane dane wejściowe wyrażeń regularnych testu nie są zgodne z podanym wyrażeniem regularnym.
- Nie można odnaleźć źródła dla grup do wzorca zastępczego.
Dodawanie oświadczenia nazwy UPN do tokenów SAML
Oświadczenie http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
jest częścią zestawu oświadczeń ograniczonych SAML. Jeśli masz skonfigurowany niestandardowy klucz podpisywania, możesz dodać go w sekcji Atrybuty i oświadczenia .
Jeśli nie skonfigurowano niestandardowego klucza podpisywania, zapoznaj się z zestawem oświadczeń z ograniczeniami SAML. Możesz dodać je jako opcjonalne oświadczenie za pomocą Rejestracje aplikacji w witrynie Azure Portal.
Otwórz aplikację w Rejestracje aplikacji, wybierz pozycję Konfiguracja tokenu, a następnie wybierz pozycję Dodaj opcjonalne oświadczenie. Wybierz typ tokenu SAML , wybierz pozycję upn z listy, a następnie kliknij przycisk Dodaj , aby dodać oświadczenie do tokenu.
Dostosowanie wykonane w sekcji Atrybuty i oświadczenia może zastąpić opcjonalne oświadczenia w rejestracji aplikacji.
Emituj oświadczenia na podstawie warunków
Źródło oświadczenia można określić na podstawie typu użytkownika i grupy, do której należy użytkownik.
Typ użytkownika może być:
- Dowolne — wszyscy użytkownicy mogą uzyskiwać dostęp do aplikacji.
- Członkowie: natywny członek dzierżawy
- Wszyscy goście: użytkownik zostaje przeniesiony z organizacji zewnętrznej z identyfikatorem Entra firmy Microsoft lub bez tego identyfikatora.
- Goście firmy Microsoft Entra: użytkownik-gość należy do innej organizacji przy użyciu identyfikatora Entra firmy Microsoft.
- Goście zewnętrzni: użytkownik-gość należy do organizacji zewnętrznej, która nie ma identyfikatora Entra firmy Microsoft.
Jednym ze scenariuszy, w których typ użytkownika jest przydatny, jest to, że źródło oświadczenia jest inne dla gościa i pracownika, który uzyskuje dostęp do aplikacji. Możesz określić, że jeśli użytkownik jest pracownikiem, identyfikator NameID pochodzi z user.email. Jeśli użytkownik jest gościem, identyfikator NameID jest pozyskiwany z user.extensionattribute1.
Aby dodać warunek oświadczenia:
- W obszarze Zarządzanie oświadczeniem rozwiń warunki oświadczenia.
- Wybierz typ użytkownika.
- Wybierz grupy, do których powinien należeć użytkownik. Możesz wybrać maksymalnie 50 unikatowych grup we wszystkich oświadczeniach dla danej aplikacji.
- Wybierz źródło, w którym oświadczenie ma pobrać jego wartość. Możesz wybrać atrybut użytkownika z listy rozwijanej atrybutu źródłowego lub zastosować przekształcenie do atrybutu użytkownika. Można również wybrać rozszerzenie schematu katalogu przed emitowanie go jako oświadczenia.
Kolejność dodawania warunków jest ważna. Firma Microsoft Entra najpierw ocenia wszystkie warunki ze źródłem Attribute
, a następnie ocenia wszystkie warunki ze źródłem Transformation
, aby zdecydować, która wartość ma być emitowa w oświadczeniu. Warunki z tym samym źródłem są oceniane od góry do dołu. Ostatnia wartość zgodna z wyrażeniem jest emitowana w oświadczeniu. Przekształcenia, takie jak IsNotEmpty
i Contains
działają jak ograniczenia.
Na przykład Britta Simon jest użytkownikiem-gościem w dzierżawie firmy Contoso. Britta należy do innej organizacji, która używa również identyfikatora Microsoft Entra ID. Biorąc pod uwagę następującą konfigurację aplikacji Fabrikam, gdy britta próbuje zalogować się do firmy Fabrikam, Platforma tożsamości Microsoft ocenia warunki.
Najpierw Platforma tożsamości Microsoft sprawdza, czy typ użytkownika Britta to Wszyscy goście. Ponieważ typ to Wszyscy goście, Platforma tożsamości Microsoft przypisuje źródło oświadczenia do user.extensionattribute1
. Po drugie, Platforma tożsamości Microsoft sprawdza, czy typ użytkownika Britta jest gościem firmy Microsoft Entra. Ponieważ typ to Wszyscy goście, Platforma tożsamości Microsoft przypisuje źródło oświadczenia do user.mail
. Na koniec oświadczenie jest emitowane z wartością user.mail
dla Britta.
W innym przykładzie rozważ, kiedy britta Simon próbuje się zalogować, a poniższa konfiguracja jest używana. Wszystkie warunki są najpierw oceniane przy użyciu źródła Attribute
. Ponieważ typ użytkownika Britta to goście firmy Microsoft Entra, user.mail
jest przypisywany jako źródło oświadczenia. Następnie zostaną ocenione przekształcenia. Ponieważ Britta jest gościem, user.extensionattribute1
jest teraz nowym źródłem roszczenia. Ponieważ Britta jest w gości Microsoft Entra, user.othermail
jest teraz źródłem tego oświadczenia. Na koniec oświadczenie jest emitowane z wartością user.othermail
dla Britta.
W ostatnim przykładzie rozważmy, co się stanie, jeśli britta nie user.othermail
ma skonfigurowanej lub jest pusta. W obu przypadkach wpis warunku jest ignorowany, a oświadczenie wraca do user.extensionattribute1
.
Zaawansowane opcje oświadczeń SAML
Zaawansowane opcje oświadczeń można skonfigurować dla aplikacji SAML2.0, aby uwidocznić to samo oświadczenie do tokenów OIDC i na odwrót dla aplikacji, które zamierzają używać tego samego oświadczenia dla tokenów odpowiedzi SAML2.0 i OIDC.
Zaawansowane opcje oświadczeń można skonfigurować, zaznaczając pole wyboru w obszarze Zaawansowane opcje oświadczeń SAML w bloku Zarządzanie oświadczeniami.
W poniższej tabeli wymieniono inne zaawansowane opcje, które można skonfigurować dla aplikacji.
Opcja | Opis |
---|---|
Dołączanie identyfikatora aplikacji do wystawcy | Automatycznie dodaje identyfikator aplikacji do oświadczenia wystawcy. Ta opcja zapewnia unikatową wartość oświadczenia dla każdego wystąpienia, gdy istnieje wiele wystąpień tej samej aplikacji. To ustawienie jest ignorowane, jeśli niestandardowy klucz podpisywania nie jest skonfigurowany dla aplikacji. |
Przesłaniaj oświadczenie odbiorców | Umożliwia zastąpienie oświadczenia odbiorców wysłanego do aplikacji. Podana wartość musi być prawidłowym bezwzględnym identyfikatorem URI. To ustawienie jest ignorowane, jeśli niestandardowy klucz podpisywania nie jest skonfigurowany dla aplikacji. |
Uwzględnij format nazwy atrybutu | W przypadku wybrania identyfikator Entra firmy Microsoft dodaje atrybut o nazwie NameFormat opisujący format nazwy do oświadczeń ograniczonych, podstawowych i opcjonalnych dla aplikacji. Aby uzyskać więcej informacji, zobacz Typ zasad mapowania oświadczeń |