Udostępnij za pośrednictwem


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

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:

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.

  1. Utwórz zasady mapowania oświadczeń. Te zasady, połączone z określonymi jednostkami usługi, usuwa podstawowy zestaw oświadczeń z tokenów.

  2. Za pomocą otwartego terminalu uruchom następujące polecenie, aby utworzyć zasady:

    New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
    
  3. 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.

  1. 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.

  2. 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"
    
  3. 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.

  1. Utwórz zasady mapowania oświadczeń. Te zasady, połączone z określonymi jednostkami usługi, emitują niestandardowe oświadczenie JoinedData do tokenów.

  2. 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"
    
  3. 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.

  1. 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.

  2. Aby wyświetlić wszystkie zasady mapowania oświadczeń w dzierżawie i uzyskać zasady ObjectId, uruchom następujące polecenie:

    Get-MgPolicyClaimMappingPolicy
    
  3. 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>"}