Udostępnij za pośrednictwem


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 będzie mieć wartość "Ciąg".
  • wystawca: informacje dotyczące wystawcy roszczenia. Wystawca będzie jednym z następujących typów:
    • AttestationService: niektóre oświadczenia są udostępniane autorom zasad przez zaświadczenie platformy Azure, które mogą być używane przez autora zasad zaświadczania w celu utworzenia 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ż dodawać dodatkowe oświadczenia do dowodów zaświadczania. Wystawca w tym przypadku ma wartość "CustomClaim".

Jeśli nie zdefiniowano. 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:

Valuetype 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.

Poniżej opisano 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 będą 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

Następne kroki