Jak utworzyć zasady zaświadczania

Zasady zaświadczania to plik przekazany do zaświadczania platformy Microsoft Azure. Zaświadczenie platformy Azure zapewnia elastyczność przekazywania zasad w formacie zasad specyficznych dla zaświadczania. Alternatywnie można przekazać zakodowaną wersję zasad w podpisie internetowym JSON. Administrator zasad jest odpowiedzialny za pisanie zasad zaświadczania. W większości scenariuszy zaświadczania jednostka uzależniona działa jako administrator zasad. Klient wykonujący wywołanie zaświadczania wysyła dowody zaświadczania, które usługa analizuje i konwertuje na oświadczenia przychodzące (zestaw właściwości, wartość). Następnie usługa przetwarza oświadczenia na podstawie tego, co jest zdefiniowane w zasadach, i zwraca obliczony wynik.

Zasady zawierają reguły określające kryteria autoryzacji, właściwości i zawartość tokenu zaświadczania:

version=1.0;
authorizationrules
{
    c:[type="secureBootEnabled", issuer=="AttestationService"]=> permit()
};

issuancerules
{
    c:[type="secureBootEnabled", issuer=="AttestationService"]=> issue(claim=c)
    c:[type="notSafeMode", issuer=="AttestationService"]=> issue(claim=c)
};

Plik zasad ma trzy segmenty:

  • version: wersja jest numerem wersji gramatyki, która jest obserwowana.
    version=MajorVersion.MinorVersion	
    
    Obecnie jedyną obsługiwaną wersją jest wersja 1.0.
  • authorizationrules: kolekcja reguł oświadczeń, które są sprawdzane jako pierwsze, aby określić, czy zaświadczanie platformy Azure powinno przejść do wystawiania. Reguły oświadczeń mają zastosowanie w kolejności, w której są zdefiniowane.
  • wystawianieru: kolekcja reguł oświadczeń, które są oceniane w celu dodania dodatkowych informacji do wyniku zaświadczania zgodnie z definicją w zasadach. Reguły oświadczeń mają zastosowanie w kolejności ich definiowania i są również opcjonalne.

Aby uzyskać więcej informacji, zobacz Oświadczenia i reguły oświadczeń.

Przygotowywanie pliku zasad

  1. Utwórz nowy plik.
  2. Dodaj wersję do pliku.
  3. Dodaj sekcje dotyczące reguł autoryzacji i wystawiania.
    version=1.0;
    authorizationrules
    {
    =>deny();
    };
    
    issuancerules
    {
    };
    
    Reguły autoryzacji zawierają akcję deny() bez żadnego warunku, aby upewnić się, że żadne reguły wystawiania nie są przetwarzane. Alternatywnie reguła autoryzacji może również zawierać akcję allow(), aby umożliwić przetwarzanie reguł wystawiania.
  4. Dodawanie reguł oświadczeń do reguł autoryzacji
    version=1.0;
    authorizationrules
    {
        [type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
    };
    
    issuancerules
    {
    };
    
    Jeśli zestaw oświadczeń przychodzących zawiera oświadczenie zgodne z typem, wartością i wystawcą, akcja permit() nakazuje aparatowi zasad przetwarzanie wystawiania.
  5. Dodaj reguły oświadczeń do reguł wystawiania.
    version=1.0;
    authorizationrules
    {
        [type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
    };
    
    issuancerules
    {
        => issue(type="SecurityLevelValue", value=100);
    };
    
    Zestaw oświadczeń wychodzących zawiera oświadczenie z:
    [type="SecurityLevelValue", value=100, valueType="Integer", issuer="AttestationPolicy"]
    
    Złożone zasady można tworzyć w podobny sposób. Aby uzyskać więcej informacji, zobacz przykłady zasad zaświadczania.
  6. Zapisz plik.

Tworzenie pliku zasad w formacie JSON Web Signature

Po utworzeniu pliku zasad, aby przekazać zasady w formacie JSON Web Signature (JWS), wykonaj poniższe kroki.

  1. Wygeneruj zestaw JWS, RFC7515 za pomocą zasad (zakodowanych w formacie utf-8) jako ładunku. Identyfikator ładunku zasad zakodowanych w formacie Base64Url powinien mieć wartość "AttestationPolicy".

    Przykładowy zestaw JWT:

    Header: {"alg":"none"}
    Payload: {"AttestationPolicy":" Base64Url (policy)"}
    Signature: {}
    
    JWS format: eyJhbGciOiJub25lIn0.XXXXXXXXX.
    
  2. Podpisz zasady (opcjonalnie). Zaświadczenie platformy Azure obsługuje następujące algorytmy:

    • Brak: nie podpisz ładunku zasad.
    • RS256: Obsługiwany algorytm podpisywania ładunku zasad.
  3. Przekaż zestaw JWS i zweryfikuj zasady.

    • Jeśli plik zasad jest wolny od błędów składniowych, usługa akceptuje plik zasad.
    • Jeśli plik zasad zawiera błędy składni, usługa odrzuca plik zasad.

Następne kroki