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
- Microsoft Entra kiracısı edinme hakkında bilgi edinin.
- En son Microsoft Graph PowerShell SDK'sını indirin.
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.
Not
Talep eşleme ilkelerini yapılandırmak için Microsoft Graph PowerShell SDK'sı gereklidir.
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:
- Belirteçlerden temel talepleri atla
- EmployeeID ve TenantCountry değerlerini belirteçlere talep olarak ekleme
- Belirteçlerde talep dönüştürme kullanma
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.
Talep eşleme ilkesi oluşturun. Belirli hizmet sorumlularına bağlı olan bu ilke, belirteçlerden temel talep kümesini kaldırır.
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"
Yeni ilkenizi görmek ve ilkeyi
ObjectId
almak 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 EmployeeID
TenantCountry
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.
Talep eşleme ilkesi oluşturun. Belirli hizmet sorumlularına bağlı olan bu ilke, EmployeeID ve TenantCountry taleplerini belirteçlere ekler.
İ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"
Yeni ilkenizi görmek ve ilkeyi
ObjectId
almak 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.
Talep eşleme ilkesi oluşturun. Belirli hizmet sorumlularına bağlı olan bu ilke, belirteçlere özel bir talep
JoinedData
yayar.İ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"
Yeni ilkenizi görmek ve ilkeyi
ObjectId
almak 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
.
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.
Kiracınızdaki tüm talep eşleme ilkelerini görmek ve ilkeyi
ObjectId
almak için aşağıdaki komutu çalıştırın:Get-MgPolicyClaimMappingPolicy
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>"}