Talep ve talep kuralları
Talep kurallarının dil bilgisini anlamak için önce kanıtlama ilkesi taleplerini anlamanız gerekir.
Talep
Talep, ilgili bilgileri sağlamak için birlikte gruplandırılmış bir özellik kümesidir. Azure Doğrulama için bir talep aşağıdaki özellikleri içerir:
- type: Talebin türünü temsil eden bir dize değeri.
- value: Talebin değerini temsil eden boole, tamsayı veya dize değeri.
- valueType: value özelliğinde depolanan bilgilerin veri türü. Desteklenen türler Dize, Tamsayı ve Boole'dır. Tanımlanmazsa, varsayılan değer "Dize" olur.
- veren: Talebi verenle ilgili bilgiler. Veren aşağıdaki türlerden biri olacaktır:
- AttestationService: Belirli talepler, Azure Doğrulama tarafından ilke yazarının kullanımına sunulur ve bu, kanıtlama ilkesi yazarı tarafından uygun ilkeyi oluşturmak için kullanılabilir.
- AttestationPolicy: İlkenin kendisi (yönetici tarafından tanımlandığı gibi) işleme sırasında gelen kanıta talep ekleyebilir. Bu durumda veren "AttestationPolicy" olarak ayarlanır.
- CustomClaim: Kanıtlayıcı (istemci), kanıtlama kanıtına ek talepler de ekleyebilir. Bu durumda veren "CustomClaim" olarak ayarlanır.
Tanımlanmamışsa. varsayılan değer "CustomClaim" olur.
Talep Kuralı
Gelen talep kümesi, kanıtlama sonucunu hesaplamak için ilke altyapısı tarafından kullanılır. Talep kuralı, gelen talepleri doğrulamak ve tanımlı eylemi uygulamak için kullanılan bir dizi koşuldur.
Conditions list => Action (Claim)
Talep kuralının Azure Doğrulama değerlendirmesi aşağıdaki adımları içerir:
- Koşullar listesi yoksa, eylemi belirtilen taleple yürütür
- Aksi takdirde, koşullar listesinden koşulları değerlendirin.
- Koşullar listesi false olarak değerlendirilirse, durdurun. Aksi takdirde devam edin.
Talep kuralındaki koşullar, eylemin yürütülmesi gerekip gerekmediğini belirlemek için kullanılır. Koşullar listesi, "&" işleciyle ayrılmış bir koşul dizisidir.
Koşullar listesi şu şekilde yapılandırılmıştır:
Condition && Condition && ...
Koşul şu şekilde yapılandırılmıştır:
Identifier:[ClaimPropertyCondition, ClaimPropertyCondition,…]
Koşullar listesi, talebin çeşitli özelliklerindeki tek tek koşullardan oluşur. Koşulun isteğe bağlı bir tanımlayıcısı olabilir. Bu tanımlayıcı, koşulu karşılayan talep/taleplere başvurmak için kullanılabilir. Bu başvuru diğer koşullarda veya aynı kuralın eyleminde kullanılabilir.
Örneğin:
F1:[type=="OSName" , issuer=="CustomClaim"] &&
[type=="OSName" , issuer=="AttestationService", value== F1.value ]
=> issueproperty(type="report_validity_in_minutes", value=1440);
F1:[type=="OSName" , issuer=="CustomClaim"] &&
C2:[type=="OSName" , issuer=="AttestationService", value== F1.value ]
=> issue(claim = C2);
Koşulları denetlemek için kullanılabilecek işleçler şunlardır:
Valuetype | Desteklenen İşlemler |
---|---|
Tamsayı | == (eşittir), != (eşit değil), <= (küçüktür veya eşittir), < (küçüktür), >= (büyüktür veya eşittir), > (büyüktür) |
String | == (eşittir), != (eşit değil) |
Boolean | == (eşittir), != (eşit değil) |
Koşulların değerlendirilmesi listesi:
- "&&" işlecinin varlığı, bir koşul listesinin yalnızca listedeki tüm koşullar true olarak değerlendirilirse true olarak değerlendirildiğini gösterir.
- Koşul, talep kümesindeki filtreleme ölçütlerini temsil eder. Koşulu karşılayan en az bir talep bulunduğunda koşulun doğru olarak değerlendirildiğinden emin olun.
- Bir talep, özelliklerinden her biri koşulda bulunan ilgili talep özelliği koşullarını karşılarsa koşul tarafından temsil edilen filtreleme ölçütünü karşıladığı söylenir.
bir ilkede izin verilen eylem kümesi aşağıda açıklanmıştır.
Eylem Fiili | Açıklama | Bunların geçerli olduğu ilke bölümleri |
---|---|---|
permit() | Gelen talep kümesi, vermeleri hesaplamak için kullanılabilir. Herhangi bir talebi parametre olarak almaz | authorizationrules |
deny() | Gelen talep kümesi verme tahakkuklarını hesaplamak için kullanılmamalıdır Hiçbir talebi parametre olarak almaz | authorizationrules |
add(talep) | Talebi gelen talep kümesine ekler. Gelen talep kümesine eklenen tüm talepler, sonraki talep kuralları için kullanılabilir. | authorizationrules, issuancerules |
sorun(talep) | Talebi gelen ve giden talep kümesine ekler | verme tahakkukları |
issueproperty(talep) | Talebi gelen ve özellik talep kümesine ekler | verme tahakkukları |
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin