Aracılığıyla paylaş


PowerShell ve Talep Eşleme İlkesi'ni kullanarak talep özelleştirme

Talep, kimlik sağlayıcısının bu kullanıcı için verdikleri belirtecin içindeki bir kullanıcı hakkında belirttiği bilgilerdir. Talep özelleştirme, kiracı yöneticileri tarafından kiracılarındaki belirli bir uygulama için belirteçlerde yayılan talepleri özelleştirmek için kullanılır. Talep eşleme ilkelerini kullanarak şunları yapabilirsiniz:

  • belirteçlere hangi taleplerin dahil olduğunu seçin.
  • mevcut olmayan talep türleri oluşturun.
  • belirli taleplerde yayılan verilerin kaynağını seçin veya değiştirin.

Talep özelleştirmesi SAML, OAuth ve OpenID Connect protokolleri için talep eşleme ilkelerini yapılandırmayı destekler.

Not

Talep Eşleme İlkesi hem Özel Talepler ilkesinin hem de Microsoft Entra yönetim merkezi aracılığıyla sunulan talep özelleştirmesinin yerini alır. Talep Eşleme İlkesi'ni kullanarak bir uygulama için talepleri özelleştirmek, söz konusu uygulama için verilen belirteçlerin Özel Talepler İlkesi'ndeki yapılandırmayı veya Microsoft Entra yönetim merkezindeki talep özelleştirme dikey penceresindeki yapılandırmayı yoksayacağı anlamına gelir.

Önkoşullar

Kullanmaya başlayın

Aşağıdaki örneklerde hizmet sorumluları için ilkeler oluşturur, güncelleştirir, bağlar ve silersiniz. Talep eşleme ilkeleri yalnızca hizmet sorumlusu nesnelerine atanabilir.

Talep eşleme ilkesi oluştururken, belirteçlerde dizin uzantısı özniteliğinden bir talep de yayabilirsiniz. öğesinde kimlik ClaimsSchema yerine uzantı özniteliği için kullanınExtensionID. Uzantı öznitelikleri hakkında daha fazla bilgi için bkz . Dizin uzantısı özniteliklerini kullanma.

Bir terminal açın ve Microsoft Entra yönetici hesabınızda oturum açmak için aşağıdaki komutu çalıştırın. Her yeni oturum başlattığınızda bu komutu çalıştırın.

Import-Module Microsoft.Graph.Identity.SignIns

Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration", "Policy.Read.All"

Artık bir talep eşleme ilkesi oluşturabilir ve bunu bir hizmet sorumlusuna atayabilirsiniz. Yaygın senaryolar için aşağıdaki örneklere bakın:

Talep eşleme ilkesi oluşturduktan sonra, uygulamanızı belirteçlerin özelleştirilmiş talepler içereceğini kabul edecek şekilde yapılandırın. Daha fazla bilgi için güvenlikle ilgili dikkat edilmesi gerekenler sayfasını okuyun.

Belirteçlerden temel talepleri atla

Bu örnekte, bağlı hizmet sorumlularına verilen belirteçlerden temel talep kümesini kaldıran bir ilke oluşturursunuz.

  1. Talep eşleme ilkesi oluşturun. Belirli hizmet sorumlularına bağlı olan bu ilke, belirteçlerden temel talep kümesini kaldırır.

  2. Açtığınız terminali kullanarak aşağıdaki komutu çalıştırarak ilkeyi oluşturun:

    New-MgPolicyClaimMappingPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"false"}}') -DisplayName "OmitBasicClaims"
    
  3. Yeni ilkenizi görmek ve ilkeyi ObjectIdalmak için aşağıdaki komutu çalıştırın:

    Get-MgPolicyClaimMappingPolicy
    
    Definition                    DeletedDateTime Description DisplayName      Id
    ----------                    --------------- ----------- -----------      --
    {"ClaimsMappingPolicy":{..}}                              OmitBasicClaims  36d1aa10-f9ac...
    

belirteçlere ve'yi EmployeeIDTenantCountry talep olarak ekleme

Bu örnekte, bağlı hizmet sorumlularına verilen belirteçlere ve TenantCountry ekleyen EmployeeID bir ilke oluşturursunuz. EmployeeID hem SAML belirteçlerinde hem de JWT'lerde ad talep türü olarak gönderilir. TenantCountry, hem SAML belirteçlerinde hem de JWT'lerde ülke/bölge talep türü olarak yayılır. Bu örnekte belirteçlere ayarlanan temel talepleri eklemeye devam ediyoruz.

  1. Talep eşleme ilkesi oluşturun. Belirli hizmet sorumlularına bağlı olan bu ilke, EmployeeID ve TenantCountry taleplerini belirteçlere ekler.

  2. İlkeyi oluşturmak için terminalinizde aşağıdaki komutu çalıştırın:

    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. Yeni ilkenizi görmek ve ilkeyi ObjectIdalmak için aşağıdaki komutu çalıştırın:

    Get-MgPolicyClaimMappingPolicy
    

Belirteçlerde talep dönüştürme kullanma

Bu örnekte, bağlı hizmet sorumlularına verilen JWT'lere "JoinedData" özel talebi yayan bir ilke oluşturursunuz. Bu talep, kullanıcı nesnesindeki extensionattribute1 özniteliğinde depolanan verileri "-ext" ile birleştirerek oluşturulan bir değer içerir. Bu örnekte belirteçlerde ayarlanan temel talepleri hariç tutacağız.

  1. Talep eşleme ilkesi oluşturun. Belirli hizmet sorumlularına bağlı olan bu ilke, belirteçlere özel bir talep JoinedData yayar.

  2. İlkeyi oluşturmak için aşağıdaki komutu çalıştırın:

    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. Yeni ilkenizi görmek ve ilkeyi ObjectIdalmak için aşağıdaki komutu çalıştırın:

    Get-MgPolicyClaimMappingPolicy
    

Talep eşleme ilkesini hizmet sorumlunuza atama

İlkeyi hizmet sorumlusuna atamak için talep eşleme ilkenizin ve objectId ilkenin atanması gereken hizmet sorumlusunun olması gerekirObjectId.

  1. Kuruluşunuzun tüm hizmet sorumlularını görmek için Microsoft Graph API'sini sorgulayabilir veya Bunları Microsoft Graph Gezgini'nde de kontrol edebilirsiniz.

  2. Kiracınızdaki tüm talep eşleme ilkelerini görmek ve ilkeyi ObjectIdalmak için aşağıdaki komutu çalıştırın:

    Get-MgPolicyClaimMappingPolicy
    
  3. ObjectId Talep eşleme ilkeniz ve hizmet sorumlunuz varsa aşağıdaki komutu çalıştırın:

    New-MgServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId <servicePrincipalId> -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/<claimsMappingPolicyId>"}