Igazolási szabályzat készítéseHow to author an attestation policy

Az igazolási házirend egy Microsoft Azure igazolásra feltöltött fájl.Attestation policy is a file uploaded to Microsoft Azure Attestation. Az Azure-igazolás rugalmasságot biztosít a szabályzatok egy tanúsítvány-specifikus házirend-formátumban való feltöltéséhez.Azure Attestation offers the flexibility to upload a policy in an attestation-specific policy format. Másik lehetőségként a szabályzat kódolt verziója is feltölthető a JSON webes aláírásban.Alternatively, an encoded version of the policy, in JSON Web Signature, can also be uploaded. A szabályzat rendszergazdája felelős az igazolási szabályzat írásához.The policy administrator is responsible for writing the attestation policy. A legtöbb igazolási forgatókönyvben a függő entitás házirend-rendszergazdaként működik.In most attestation scenarios, the relying party acts as the policy administrator. Az igazolási hívást végző ügyfél tanúsító igazolást küld, amelyet a szolgáltatás elemez és konvertál a bejövő jogcímekre (tulajdonságok, érték).The client making the attestation call sends attestation evidence, which the service parses and converts into incoming claims (set of properties, value). A szolgáltatás ezután feldolgozza a jogcímeket a Szabályzatban meghatározottak alapján, és visszaadja a számított eredményt.The service then processes the claims, based on what is defined in the policy, and returns the computed result.

A házirend olyan szabályokat tartalmaz, amelyek meghatározzák az igazolási token engedélyezési feltételeit, tulajdonságait és tartalmát.The policy contains rules that determine the authorization criteria, properties, and the contents of the attestation token. Egy példaként szolgáló házirend-fájl az alábbihoz hasonlóan néz ki:A sample policy file looks as below:

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

A házirend-fájl három szegmensből áll, ahogy az a fentiekben látható:A policy file has three segments, as seen above:

  • verzió: a verziószám a követett nyelvtan verziószáma.version: The version is the version number of the grammar that is followed.

    version=MajorVersion.MinorVersion   
    

    Jelenleg az egyetlen támogatott verzió a 1,0-es verzió.Currently the only version supported is version 1.0.

  • engedélyezési szabályok: az első ellenőrizendő jogcím-szabályok gyűjteménye annak megállapítására, hogy az Azure-igazolásnak folytatódnia kell-e a issuancerules.authorizationrules: A collection of claim rules that will be checked first, to determine if Azure Attestation should proceed to issuancerules. A jogcím szabályai a definiált sorrendben lesznek érvényesek.The claim rules apply in the order they are defined.

  • issuancerules: olyan jogcím-szabályok gyűjteménye, amelyeket a rendszer kiértékel, hogy további információkat adjon hozzá az igazolási eredményhez a Szabályzatban meghatározottak szerint.issuancerules: A collection of claim rules that will be evaluated to add additional information to the attestation result as defined in the policy. A jogcím szabályai a definiált sorrendben érvényesek, és szintén nem kötelezőek.The claim rules apply in the order they are defined and are also optional.

További információért lásd a jogcím és a jogcím szabályait .See claim and claim rules for more information.

A házirend-fájl előkészítéseDrafting the policy file

  1. Hozzon létre egy új fájlt.Create a new file.
  2. Adjon hozzá verziót a fájlhoz.Add version to the file.
  3. Vegyen fel szakaszt a engedélyezési szabályok és a issuancerules.Add sections for authorizationrules and issuancerules.
version=1.0;
authorizationrules
{
=>deny();
};

issuancerules
{
};

Az engedélyezési szabályok feltételek nélkül tartalmazzák a Megtagadás () műveletet, így biztosítva a kiállítási szabályok feldolgozását.The authorization rules contain the deny() action without any condition, to ensure no issuance rules are processed. Azt is megteheti, hogy az engedélyezési szabály is tartalmazhat engedélyezési () műveletet a kiállítási szabályok feldolgozásának engedélyezéséhez.Alternatively, the authorization rule can also contain permit() action, to allow processing of issuance rules.

  1. Jogcím-szabályok hozzáadása az engedélyezési szabályokhozAdd claim rules to the authorization rules
version=1.0;
authorizationrules
{
[type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
};

issuancerules
{
};

Ha a bejövő jogcímek készlete olyan jogcímet tartalmaz, amely megfelel a típusnak, az értéknek és a kiállítónak, az engedély () művelet tájékoztatja a házirend-motort a issuancerules feldolgozásáról.If the incoming claim set contains a claim matching the type, value, and issuer, the permit() action will tell the policy engine to process the issuancerules.

  1. Adja hozzá a issuancerules a jogcím-szabályokat.Add claim rules to issuancerules.
version=1.0;
authorizationrules
{
[type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
};

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

A kimenő jogcímek készlete a következőket fogja tartalmazni:The outgoing claim set will contain a claim with:

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

Az összetett szabályzatok hasonló módon állíthatók elő.Complex policies can be crafted in a similar manner. További információ: igazolási házirendek példái.For more information, see attestation policy examples.

  1. Mentse a fájlt.Save the file.

A házirend-fájl létrehozása JSON webes aláírás formátumbanCreating the policy file in JSON Web Signature format

Miután létrehozott egy házirendet a szabályzat JWS formátumban való feltöltéséhez, kövesse az alábbi lépéseket.After creating a policy file, to upload a policy in JWS format, follow the below steps.

  1. A JWS, az RFC 7515 és a szabályzat (UTF-8 kódolású) előállítása adattartalomkéntGenerate the JWS, RFC 7515 with policy (utf-8 encoded) as the payload

    • A Base64Url-kódolású házirend hasznos azonosítójának a következőnek kell lennie: "AttestationPolicy".The payload identifier for the Base64Url encoded policy should be "AttestationPolicy".

    Minta JWT:Sample JWT:

    Header: {"alg":"none"}
    Payload: {"AttestationPolicy":" Base64Url (policy)"}
    Signature: {}
    
    JWS format: eyJhbGciOiJub25lIn0.XXXXXXXXX.
    
  2. Választható Írja alá a szabályzatot.(Optional) Sign the policy. Az Azure-igazolás a következő algoritmusokat támogatja:Azure Attestation supports the following algorithms:

    • Nincs: ne írja alá a szabályzat hasznos adatait.None: Don't sign the policy payload.
    • RS256: a szabályzat hasznos adatainak aláírására szolgáló támogatott algoritmusRS256: Supported algorithm to sign the policy payload
  3. Töltse fel a JWS, és ellenőrizze a szabályzatot.Upload the JWS and validate the policy.

    • Ha a házirend-fájl szintaktikai hibáktól mentes, a szolgáltatás elfogadja a házirend-fájlt.If the policy file is free of syntax errors, the policy file is accepted by the service.
    • Ha a házirend-fájl szintaktikai hibákat tartalmaz, a szolgáltatás visszautasítja a házirend-fájlt.If the policy file contains syntax errors, the policy file is rejected by the service.

Következő lépésekNext steps