Udostępnij za pośrednictwem


Zasady zaświadczania w wersji 1.0

Właściciele wystąpień mogą używać zasad zaświadczania platformy Azure, aby zdefiniować, co należy zweryfikować podczas przepływu zaświadczania. W tym artykule przedstawiono działanie usługi zaświadczania i aparatu zasad. Każdy typ zaświadczania ma własne zasady zaświadczania. Obsługiwana gramatyka i przetwarzanie są zasadniczo takie same.

Zasady w wersji 1.0

Minimalna wersja zasad obsługiwanych przez usługę to wersja 1.0.

Diagram przedstawiający zaświadczenie platformy Azure przy użyciu zasad w wersji 1.0.

Przepływ usługi zaświadczania jest następujący:

  • Platforma wysyła dowody zaświadczania w wywołaniu zaświadczania do usługi zaświadczania.
  • Usługa zaświadczania analizuje dowody i tworzy listę oświadczeń używanych w ocenie zaświadczania. Te oświadczenia są logicznie kategoryzowane jako przychodzące zestawy oświadczeń.
  • Przekazane zasady zaświadczania służą do oceny dowodów dotyczących reguł utworzonych w zasadach zaświadczania.

Zasady w wersji 1.0 mają trzy segmenty:

  • version: wersja jest numerem wersji gramatyki, która jest obserwowana.
  • authorizationrules: kolekcja reguł oświadczeń, które są sprawdzane jako pierwsze, aby określić, czy zaświadczanie powinno przejść do wystawiania. Użyj tej sekcji, aby odfiltrować wywołania, które nie wymagają zastosowania reguł wystawiania. W tej sekcji nie można wydać żadnych oświadczeń do tokenu odpowiedzi. Te reguły mogą służyć do zaświadczania o niepowieść.
  • wystawianie: kolekcja reguł oświadczeń, które są oceniane w celu dodania informacji do wyniku zaświadczania zgodnie z definicją w zasadach. Reguły oświadczeń mają zastosowanie w kolejności, w której są zdefiniowane. Są one również opcjonalne. Te reguły mogą służyć do dodawania do zestawu oświadczeń wychodzących i tokenu odpowiedzi. Tych reguł nie można użyć do zaświadczania o niepowieść.

Następujące oświadczenia są obsługiwane przez zasady w wersji 1.0 w ramach oświadczeń przychodzących.

Poświadczanie za pomocą modułu TPM

Użyj tych oświadczeń, aby zdefiniować reguły autoryzacji w zasadach zaświadczania modułu TPM (Trusted Platform Module):

  • aikValidated: wartość logiczna zawierająca informacje, jeśli certyfikat klucza tożsamości zaświadczania (AIK) został zweryfikowany lub nie.
  • aikPubHash: ciąg zawierający klucz publiczny AIK base64 (SHA256) w formacie DER.
  • tpmVersion: wartość całkowita zawierająca wersję główną modułu TPM.
  • secureBootEnabled: wartość logiczna wskazująca, czy bezpieczny rozruch jest włączony.
  • iommuEnabled:Wartość logiczna wskazująca, czy jednostka zarządzania pamięcią wejściową jest włączona.
  • bootDebuggingDisabled: wartość logiczna wskazująca, czy debugowanie rozruchu jest wyłączone.
  • notSafeMode: wartość logiczna wskazująca, czy system Windows nie działa w trybie awaryjnym.
  • notWinPE: wartość logiczna wskazująca, czy system Windows nie jest uruchomiony w trybie WinPE.
  • vbsEnabled: wartość logiczna wskazująca, czy zabezpieczenia oparte na wirtualizacji (VBS) są włączone.
  • vbsReportPresent: wartość logiczna wskazująca, czy raport enklawy VBS jest dostępny.

Zaświadczenie VBS

Użyj następujących oświadczeń, aby zdefiniować reguły autoryzacji w zasadach zaświadczania VBS:

  • enklawaAuthorId: wartość ciągu zawierająca zakodowaną wartość Base64Url identyfikatora autora enklawy. Jest to identyfikator autora modułu podstawowego dla enklawy.
  • enlaveImageId: wartość ciągu zawierająca zakodowaną wartość Base64Url identyfikatora obrazu enklawy. Jest to identyfikator obrazu modułu podstawowego dla enklawy.
  • enklawaOwnerId: wartość ciągu zawierająca zakodowaną wartość Base64Url identyfikatora właściciela enklawy. Jest to identyfikator właściciela enklawy.
  • enklawaFamilyId: wartość ciągu zawierająca zakodowaną wartość Base64Url identyfikatora rodziny enklawy. Jest to identyfikator rodziny modułu podstawowego dla enklawy.
  • enklawaSvn: wartość całkowita zawierająca numer wersji zabezpieczeń modułu podstawowego dla enklawy.
  • enlavePlatformSvn: wartość całkowita zawierająca numer wersji zabezpieczeń platformy, która hostuje enklawę.
  • enklawaFlags: oświadczenie enklawyFlags jest wartością całkowitą zawierającą flagi opisujące zasady środowiska uruchomieniowego dla enklawy.

Przykładowe zasady dla różnych typów zaświadczania

Przykładowe zasady dla modułu TPM:

version=1.0;

authorizationrules { 
    => permit();
};


issuancerules
{
[type=="aikValidated", value==true]&& 
[type=="secureBootEnabled", value==true] &&
[type=="bootDebuggingDisabled", value==true] && 
[type=="notSafeMode", value==true] => issue(type="PlatformAttested", value=true);
};