Jogcím- és jogcímszabályok
A jogcímszabályok nyelvtanának megértéséhez először ismernie kell az igazolási szabályzat jogcímeit.
Jogcím
A jogcímek olyan tulajdonságok, amelyek csoportosítva vannak, hogy releváns információkat adjanak meg. Azure-igazolás esetén egy jogcím a következő tulajdonságokat tartalmazza:
- típus: A jogcím típusát jelképező sztringérték.
- érték: Logikai, egész szám vagy sztringérték, amely a jogcím értékét jelöli.
- valueType: Az értéktulajdonságban tárolt információk adattípusa. A támogatott típusok a sztring, az egész szám és a logikai érték. Ha nincs megadva, az alapértelmezett érték a "Sztring" lesz.
- kibocsátó: A követelés kibocsátójára vonatkozó információ. A kiállító a következő típusok egyike lesz:
- AttestationService: Az Azure Attestation bizonyos jogcímeket elérhetővé teszi a szabályzat szerzője számára, amelyeket az igazolási szabályzat szerzője felhasználhat a megfelelő szabályzat létrehozásához.
- AttestationPolicy: Maga a szabályzat (a rendszergazda által meghatározottak szerint) jogcímeket adhat hozzá a bejövő bizonyítékokhoz a feldolgozás során. A kiállító ebben az esetben az "AttestationPolicy" értékre van állítva.
- CustomClaim: Az igazolás (ügyfél) további jogcímeket is hozzáadhat az igazolási bizonyítékokhoz. A kiállító ebben az esetben a "CustomClaim" értékre van állítva.
Ha nincs definiálva. az alapértelmezett érték a "CustomClaim" lesz.
Jogcímszabály
A bejövő jogcímkészletet a szabályzatmotor használja az igazolási eredmény kiszámításához. A jogcímszabály a bejövő jogcímek ellenőrzésére és a meghatározott művelet végrehajtására szolgáló feltételek készlete.
Conditions list => Action (Claim)
A jogcímszabály Azure-igazolási kiértékelése a következő lépéseket foglalja magában:
- Ha a feltételek listája nem jelenik meg, hajtsa végre a műveletet a megadott jogcímmel
- Ellenkező esetben értékelje ki a feltételek listáját.
- Ha a feltételek listája hamis eredményt ad, állítsa le. Ellenkező esetben folytassa a műveletet.
A jogcímszabály feltételei határozzák meg, hogy a műveletet végre kell-e hajtani. A feltételek listája a feltételek sorozata, amelyet "&" operátor választ el egymástól.
A feltételek listája a következőképpen van strukturálva:
Condition && Condition && ...
A feltétel felépítése a következő:
Identifier:[ClaimPropertyCondition, ClaimPropertyCondition,…]
A feltételek listája egy jogcím különböző tulajdonságaira vonatkozó egyedi feltételekből áll. Egy feltétel rendelkezhet opcionális azonosítóval, amely a feltételnek megfelelő jogcím/jogcímek hivatkozására használható. Ez a hivatkozás használható a többi feltételben vagy ugyanazon szabály műveletében is.
For example
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);
A feltételek ellenőrzéséhez az alábbi operátorok használhatók:
Értéktípus | Támogatott műveletek |
---|---|
Egész | == (egyenlő), != (nem egyenlő), <= (kisebb vagy egyenlő), < (kisebb, mint), >= (nagyobb vagy egyenlő), > (nagyobb, mint) |
Sztring | == (egyenlő), != (nem egyenlő) |
Logikai | == (egyenlő), != (nem egyenlő) |
A feltételek listájának kiértékelése:
- A"> operátor jelenléte azt jelenti, hogy a feltétellista csak akkor lesz igaz, ha a lista összes feltételét igaz értékre értékeli a rendszer.
- A feltétel a jogcímek halmazára vonatkozó szűrési feltételeket jelöli. Magát a feltételt úgy kell kiértékelni, hogy igaz legyen, ha legalább egy olyan jogcím található, amely megfelel a feltételnek.
- A jogcím akkor felel meg a feltétel által képviselt szűrési feltételnek, ha minden tulajdonsága megfelel a feltételben található megfelelő jogcímtulajdonság-feltételeknek.
A szabályzatokban engedélyezett műveletek halmazát az alábbiakban ismertetjük.
Művelet végrehajtása | Leírás | Szabályzatszakaszok, amelyekre ezek vonatkoznak |
---|---|---|
engedély() | A bejövő jogcímkészlet felhasználható a kiállítási szabályok kiszámításához. Nem fogad el jogcímet paraméterként | engedélyezési szabályok |
deny() | A bejövő jogcímkészlet nem használható a kiállítási szabályok kiszámításához Nem fogad el jogcímet paraméterként | engedélyezési szabályok |
add(claim) | Hozzáadja a jogcímet a bejövő jogcímkészlethez. A bejövő jogcímkészlethez hozzáadott jogcímek a következő jogcímszabályokhoz lesznek elérhetők. | engedélyezési szabályok, kiállítási szabályok |
issue(claim) | Hozzáadja a jogcímet a bejövő és kimenő jogcímkészlethez | kiállítási szabályok |
issueproperty(jogcím) | Hozzáadja a jogcímet a bejövő és a tulajdonság jogcímkészletéhez | kiállítási szabályok |