Jak vytvořit zásady ověřování identity

Zásady ověření identity jsou soubor nahraný do microsoft Azure Attestation. Azure Attestation nabízí flexibilitu pro nahrání zásad ve formátu zásad specifickém pro ověření identity. Alternativně je možné nahrát kódovanou verzi zásad ve webovém podpisu JSON. Za vytvoření zásad ověření identity zodpovídá správce zásad. Ve většině scénářů ověření identity funguje předávající strana jako správce zásad. Klient provádějící volání ověření identity odešle důkazy o ověření identity, které služba analyzuje a převede na příchozí deklarace identity (sada vlastností, hodnota). Služba pak zpracuje deklarace identity na základě toho, co je definováno v zásadě, a vrátí vypočítaný výsledek.

Zásady obsahují pravidla, která určují kritéria autorizace, vlastnosti a obsah tokenu ověření identity. Ukázkový soubor zásad vypadá takto:

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)
};

Soubor zásad má tři segmenty, jak je vidět výše:

  • version: Verze je číslo verze gramatiky, která se používá.

    version=MajorVersion.MinorVersion	
    

    V současné době je podporována pouze verze 1.0.

  • authorizationrules: Kolekce pravidel deklarací identity, která se nejprve zkontrolují, aby se zjistilo, jestli Azure Attestation pokračovat k pravidlům vystavování. Pravidla deklarace identity se použijí v pořadí, v jakém jsou definována.

  • vystavování: Kolekce pravidel deklarací identity, která se vyhodnotí, aby se k výsledku ověření identity přidaly další informace definované v zásadách. Pravidla deklarací identity se použijí v pořadí, v jakém jsou definována, a jsou také volitelná.

Další informace najdete v tématu Pravidla deklarací identity a deklarací identity.

Vytvoření návrhu souboru zásad

  1. Vytvořte nový soubor.
  2. Přidejte do souboru verzi.
  3. Přidejte oddíly pro autorizační pravidla a pravidla vystavování.
version=1.0;
authorizationrules
{
=>deny();
};

issuancerules
{
};

Autorizační pravidla obsahují akci Odepřít() bez jakýchkoli podmínek, aby se zajistilo, že se nezpracují žádná pravidla vystavování. Autorizační pravidlo může také obsahovat akci permit(), která povolí zpracování pravidel vystavování.

  1. Přidání pravidel deklarací identity do autorizačních pravidel
version=1.0;
authorizationrules
{
[type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
};

issuancerules
{
};

Pokud příchozí sada deklarací identity obsahuje deklaraci identity odpovídající typu, hodnotě a vystaviteli, akce permit() řekne modulu zásad, aby pravidla vystavování zpracová.

  1. Přidání pravidel deklarací identity do pravidel vystavování
version=1.0;
authorizationrules
{
[type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
};

issuancerules
{
=> issue(type="SecurityLevelValue", value=100);
};

Odchozí sada deklarací identity bude obsahovat deklaraci identity s:

[type="SecurityLevelValue", value=100, valueType="Integer", issuer="AttestationPolicy"]

Složité zásady je možné vytvořit podobným způsobem. Další informace najdete v příkladech zásad ověření identity.

  1. Soubor uložte.

Vytvoření souboru zásad ve formátu webového podpisu JSON

Pokud chcete po vytvoření souboru zásad nahrát zásadu ve formátu JWS, postupujte následovně.

  1. Vygenerování JWS, RFC 7515 se zásadou (kódováním utf-8) jako datovou částí

    • Identifikátor datové části pro zásady kódování Base64Url by měl být AttestationPolicy.

    Ukázka JWT:

    Header: {"alg":"none"}
    Payload: {"AttestationPolicy":" Base64Url (policy)"}
    Signature: {}
    
    JWS format: eyJhbGciOiJub25lIn0.XXXXXXXXX.
    
  2. (Volitelné) Podepište zásadu. Azure Attestation podporuje následující algoritmy:

    • Žádné: Nepodepisujte datovou část zásad.
    • RS256: Podporovaný algoritmus pro podepsání datové části zásad
  3. Nahrajte JWS a ověřte zásadu.

    • Pokud soubor zásad není bez chyb syntaxe, služba ho přijme.
    • Pokud soubor zásad obsahuje chyby syntaxe, služba soubor zásad odmítne.

Další kroky