Reguły oświadczeń i oświadczeń
Aby zrozumieć gramatykę reguł oświadczeń, musisz najpierw zrozumieć oświadczenia zasad zaświadczania.
Oświadczenie
Oświadczenie jest zestawem właściwości pogrupowanych razem w celu dostarczenia odpowiednich informacji. W przypadku zaświadczania platformy Azure oświadczenie zawiera następujące właściwości:
- type: wartość ciągu reprezentująca typ oświadczenia.
- value: wartość logiczna, całkowita lub wartość ciągu reprezentująca wartość oświadczenia.
- valueType: typ danych informacji przechowywanych we właściwości value. Obsługiwane typy to Ciąg, Liczba całkowita i Wartość logiczna. Jeśli nie zostanie zdefiniowana, wartość domyślna to "Ciąg".
- wystawca: informacje dotyczące wystawcy roszczenia. Wystawca jest jednym z następujących typów.
- AttestationService: niektóre oświadczenia są udostępniane autorom zasad przez usługę Azure Attestation, których autor zasad zaświadczania może używać do tworzenia odpowiednich zasad.
- AttestationPolicy: zasady (zdefiniowane przez administratora) mogą dodawać oświadczenia do przychodzących dowodów podczas przetwarzania. Wystawca w tym przypadku ma wartość "AttestationPolicy".
- CustomClaim: zaświadczenie (klient) może również dodać więcej oświadczeń do dowodów zaświadczania. Wystawca w tym przypadku ma wartość "CustomClaim".
Jeśli nie zostanie zdefiniowana, wartość domyślna to "CustomClaim".
Reguła oświadczenia
Zestaw oświadczeń przychodzących jest używany przez aparat zasad do obliczania wyniku zaświadczania. Reguła oświadczenia to zestaw warunków używanych do weryfikowania oświadczeń przychodzących i podjęcia zdefiniowanej akcji.
Conditions list => Action (Claim)
Ocena zaświadczania platformy Azure dla reguły oświadczeń obejmuje następujące kroki:
- Jeśli lista warunków nie jest obecna, wykonaj akcję z określonym oświadczeniem. W przeciwnym razie oceń warunki z listy warunków.
- Jeśli lista warunków zwróci wartość false, zatrzymaj. W przeciwnym razie kontynuuj.
Warunki w regule oświadczeń służą do określania, czy należy wykonać akcję. Lista warunków to sekwencja warunków oddzielonych operatorem "&&".
Lista warunków ma strukturę:
Condition && Condition && ...
Warunek jest ustrukturyzowany jako:
Identifier:[ClaimPropertyCondition, ClaimPropertyCondition,…]
Lista warunków składa się z poszczególnych warunków w różnych właściwościach oświadczenia. Warunek może mieć opcjonalny identyfikator, który może służyć do odwoływania się do oświadczenia/s spełniającego warunek. To odwołanie może być używane w innych warunkach lub akcji tej samej reguły.
Na przykład
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);
Poniżej przedstawiono operatory, których można użyć do sprawdzania warunków:
Typ wartości | Obsługiwane operacje |
---|---|
Integer | == (równa się), != (nie równa się), <= (mniejsze niż lub równe), (mniejsze niż), < = (większe lub równe), > >(większe niż) |
String | == (równa się), != (nie równa się) |
Wartość logiczna | == (równa się), != (nie równa się) |
Ocena listy warunków:
- Obecność operatora "&&" oznacza, że lista warunków jest oceniana jako prawda tylko wtedy, gdy wszystkie warunki z listy są oceniane na wartość true.
- Warunek reprezentuje kryteria filtrowania w zestawie oświadczeń. Mówi się, że warunek ma wartość true, jeśli istnieje co najmniej jedno roszczenie, które spełnia warunek.
- Twierdzi się, że roszczenie spełnia kryterium filtrowania reprezentowane przez warunek, jeśli każda z jego właściwości spełnia odpowiednie warunki właściwości oświadczenia obecne w warunku.
Zestaw akcji dozwolonych w zasadach:
Czasownik akcji | opis | Sekcje zasad, do których mają zastosowanie |
---|---|---|
permit() | Zestaw oświadczeń przychodzących może służyć do obliczania wystawiania. Nie bierze żadnego oświadczenia jako parametru. | authorizationrules (reguły autoryzacji) |
deny() | Zestaw oświadczeń przychodzących nie powinien być używany do obliczania wystawiania nie bierze żadnych oświadczeń jako parametru | authorizationrules (reguły autoryzacji) |
add(claim) | Dodaje oświadczenie do zestawu oświadczeń przychodzących. Wszelkie oświadczenia dodane do zestawu oświadczeń przychodzących są dostępne dla kolejnych reguł oświadczeń. | authorizationrules, wystawianierules |
issue(claim) | Dodaje oświadczenie do zestawu oświadczeń przychodzących i wychodzących. | wystawianie |
issueproperty(claim) | Dodaje oświadczenie do zestawu oświadczeń przychodzących i właściwości. | wystawianie |