Dostosowywanie oświadczeń przy użyciu programu PowerShell i zasad mapowania oświadczeń
Oświadczenie to informacje, które dostawca tożsamości stwierdza o użytkowniku wewnątrz tokenu, który wystawia dla tego użytkownika. Dostosowywanie oświadczeń jest używane przez administratorów dzierżawy do dostosowywania oświadczeń emitowanych w tokenach dla określonej aplikacji w dzierżawie. Możesz użyć zasad mapowania oświadczeń do:
- wybierz oświadczenia zawarte w tokenach.
- utwórz typy oświadczeń, które jeszcze nie istnieją.
- wybierz lub zmień źródło danych emitowanych w określonych oświadczeniach.
Dostosowywanie oświadczeń obsługuje konfigurowanie zasad mapowania oświadczeń dla protokołów SAML, OAuth i OpenID Connect.
Uwaga
Zasady mapowania oświadczeń zastępują zarówno zasady oświadczeń niestandardowych, jak i dostosowania oświadczeń oferowane za pośrednictwem centrum administracyjnego firmy Microsoft Entra. Dostosowywanie oświadczeń dla aplikacji przy użyciu zasad mapowania oświadczeń oznacza, że tokeny wystawione dla tej aplikacji będą ignorować konfigurację w zasadach oświadczeń niestandardowych lub konfiguracji w bloku dostosowywania oświadczeń w centrum administracyjnym firmy Microsoft Entra.
Wymagania wstępne
- Dowiedz się, jak uzyskać dzierżawę firmy Microsoft Entra.
- Pobierz najnowszy zestaw Microsoft Graph PowerShell SDK.
Rozpocznij
W poniższych przykładach utworzysz, zaktualizujesz, połączysz i usuniesz zasady dla jednostek usługi. Zasady mapowania oświadczeń można przypisać tylko do obiektów jednostki usługi.
Podczas tworzenia zasad mapowania oświadczeń można również emitować oświadczenie z atrybutu rozszerzenia katalogu w tokenach. Użyj ExtensionID
atrybutu rozszerzenia zamiast identyfikatora w elemecie ClaimsSchema
. Aby uzyskać więcej informacji na temat atrybutów rozszerzenia, zobacz Using directory extension attributes (Używanie atrybutów rozszerzenia katalogu).
Uwaga
Zestaw SDK programu PowerShell programu Microsoft Graph jest wymagany do skonfigurowania zasad mapowania oświadczeń.
Otwórz terminal i uruchom następujące polecenie, aby zalogować się do konta administratora firmy Microsoft Entra. Uruchom to polecenie za każdym razem, gdy uruchomisz nową sesję.
Import-Module Microsoft.Graph.Identity.SignIns
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration", "Policy.Read.All"
Teraz możesz utworzyć zasady mapowania oświadczeń i przypisać je do jednostki usługi. Zapoznaj się z następującymi przykładami, aby zapoznać się z typowymi scenariuszami:
- Pomijanie podstawowych oświadczeń z tokenów
- Uwzględnij identyfikator EmployeeID i TenantCountry jako oświadczenia w tokenach
- Używanie przekształcenia oświadczeń w tokenach
Po utworzeniu zasad mapowania oświadczeń skonfiguruj aplikację, aby potwierdzić, że tokeny będą zawierać dostosowane oświadczenia. Aby uzyskać więcej informacji, przeczytaj zagadnienia dotyczące zabezpieczeń.
Pomijanie podstawowych oświadczeń z tokenów
W tym przykładzie utworzysz zasady, które usuwają podstawowy zestaw oświadczeń z tokenów wystawionych dla połączonych jednostek usługi.
Utwórz zasady mapowania oświadczeń. Te zasady, połączone z określonymi jednostkami usługi, usuwa podstawowy zestaw oświadczeń z tokenów.
Za pomocą otwartego terminalu uruchom następujące polecenie, aby utworzyć zasady:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
Aby wyświetlić nowe zasady i pobrać zasady
ObjectId
, uruchom następujące polecenie:Get-MgPolicyClaimMappingPolicy Definition DeletedDateTime Description DisplayName Id ---------- --------------- ----------- ----------- -- {"ClaimsMappingPolicy":{..}} OmitBasicClaims 36d1aa10-f9ac...
Uwzględnij EmployeeID
elementy i TenantCountry
jako oświadczenia w tokenach
W tym przykładzie utworzysz zasady, które dodają EmployeeID
tokeny i TenantCountry
do tokenów wystawionych dla połączonych jednostek usługi. Identyfikator EmployeeID jest emitowany jako typ oświadczenia nazwy zarówno w tokenach SAML, jak i JWTs. Wartość TenantCountry jest emitowana jako typ oświadczenia kraju/regionu zarówno w tokenach SAML, jak i JWTs. W tym przykładzie nadal uwzględniamy podstawowe oświadczenia ustawione w tokenach.
Utwórz zasady mapowania oświadczeń. Te zasady połączone z określonymi jednostkami usługi dodają oświadczenia EmployeeID i TenantCountry do tokenów.
Aby utworzyć zasady, uruchom następujące polecenie w terminalu:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/employeeid","JwtClaimType":"employeeid"},{"Source":"company","ID":"tenantcountry","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country","JwtClaimType":"country"}]}}') -DisplayName "ExtraClaimsExample"
Aby wyświetlić nowe zasady i pobrać zasady
ObjectId
, uruchom następujące polecenie:Get-MgPolicyClaimMappingPolicy
Używanie przekształcenia oświadczeń w tokenach
W tym przykładzie utworzysz zasady, które emitują niestandardowe oświadczenie "JoinedData" do zestawów JWTs wystawionych dla połączonych jednostek usługi. To oświadczenie zawiera wartość utworzoną przez dołączenie danych przechowywanych w atrybucie extensionattribute1 w obiekcie użytkownika z parametrem "-ext". W tym przykładzie wykluczamy podstawowe oświadczenia ustawione w tokenach.
Utwórz zasady mapowania oświadczeń. Te zasady, połączone z określonymi jednostkami usługi, emitują niestandardowe oświadczenie
JoinedData
do tokenów.Aby utworzyć zasady, uruchom następujące polecenie:
New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema":[{"Source":"user","ID":"extensionattribute1"},{"Source":"transformation","ID":"DataJoin","TransformationId":"JoinTheData","JwtClaimType":"JoinedData"}],"ClaimsTransformations":[{"ID":"JoinTheData","TransformationMethod":"Join","InputClaims":[{"ClaimTypeReferenceId":"extensionattribute1","TransformationClaimType":"string1"}], "InputParameters": [{"ID":"string2","Value":"ext"},{"ID":"separator","Value":"-"}],"OutputClaims":[{"ClaimTypeReferenceId":"DataJoin","TransformationClaimType":"outputClaim"}]}]}}') -DisplayName "TransformClaimsExample"
Aby wyświetlić nowe zasady i pobrać zasady
ObjectId
, uruchom następujące polecenie:Get-MgPolicyClaimMappingPolicy
Przypisywanie zasad mapowania oświadczeń do jednostki usługi
Aby przypisać zasady do jednostki usługi, musisz mieć ObjectId
zasady mapowania oświadczeń i objectId
jednostkę usługi, do której należy przypisać zasady.
Aby wyświetlić wszystkie jednostki usługi organizacji, możesz wykonać zapytanie dotyczące interfejsu API programu Microsoft Graph lub zaewidencjonować je w Eksploratorze programu Microsoft Graph.
Aby wyświetlić wszystkie zasady mapowania oświadczeń w dzierżawie i uzyskać zasady
ObjectId
, uruchom następujące polecenie:Get-MgPolicyClaimMappingPolicy
Jeśli masz
ObjectId
zasady mapowania oświadczeń i jednostkę usługi, uruchom następujące polecenie:New-MgServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId <servicePrincipalId> -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/<claimsMappingPolicyId>"}