Attestation-beleid ontwerpen
Een Attestation-beleid is een naar Microsoft Azure Attestation geĆ¼pload bestand. Azure Attestation biedt de flexibiliteit voor het uploaden van een beleid in een beleidsindeling die specifiek is voor Attestation. U kunt ook een gecodeerde versie van het beleid in JSON Web Signature uploaden. De beleidsbeheerder is verantwoordelijk voor het schrijven van het Attestation-beleid. In de meeste scenario's fungeert de Relying Party als beleidsbeheerder. De client die de Attestation-aanroep doet, verzendt Attestation-bewijzen, die door de service worden geparseerd en omgezet in binnenkomende claims (sets van eigenschappen, waarde). De service verwerkt vervolgens de claims op basis van het gedefinieerde beleid en retourneert het berekende resultaat.
Het beleid bevat regels die de autorisatiecriteria, eigenschappen en de inhoud van het attestation-token bepalen:
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)
};
Een beleidsbestand heeft drie segmenten:
- versie: De versie is het versienummer van de gevolgde grammatica.
Momenteel wordt alleen versie 1.0 ondersteund.version=MajorVersion.MinorVersion
- authorizationrules: Een verzameling claimregels die eerst worden gecontroleerd, om te bepalen of Azure Attestation moet doorgaan met uitgifteregels. De claimregels zijn van toepassing in de volgorde waarin ze zijn gedefinieerd.
- issuancerules: Een verzameling claimregels die worden geƫvalueerd om aanvullende informatie toe te voegen aan het attestation-resultaat zoals gedefinieerd in het beleid. De claimregels zijn van toepassing in de volgorde waarin ze zijn gedefinieerd en zijn ook optioneel.
Zie Claim- en claimregels voor meer informatie.
Het beleidsbestand opstellen
- Maak een nieuw bestand.
- Voeg de versie toe aan het bestand.
- Voeg secties toe voor authorizationrules en issuancerules.
De autorisatieregels bevatten de actie deny() (afwijzen) zonder voorwaarde, om ervoor te zorgen dat er geen uitgifteregels worden verwerkt. De autorisatieregel kan ook de actie permit() (toestaan) bevatten, om de verwerking van uitgifteregels toe te staan.version=1.0; authorizationrules { =>deny(); }; issuancerules { };
- Claimregels toevoegen aan de autorisatieregels
Als de binnenkomende claimset een claim bevat die overeenkomt met het type, de waarde en de verlener, vertelt de actie permit() de beleidsengine om de uitgifteregels te verwerken.version=1.0; authorizationrules { [type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit(); }; issuancerules { };
- Voeg claimregels toe aan issuancerules.
De uitgaande claimset bevat een claim met:version=1.0; authorizationrules { [type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit(); }; issuancerules { => issue(type="SecurityLevelValue", value=100); };
Complexe beleidsregels kunnen op een vergelijkbare manier worden ontworpen. Zie Attestation-beleidsvoorbeeldenvoor meer informatie.[type="SecurityLevelValue", value=100, valueType="Integer", issuer="AttestationPolicy"]
- Sla het bestand op.
Het beleidsbestand maken in de indeling JSON Web Signature
Nadat u een beleidsbestand hebt gemaakt, voert u de onderstaande stappen uit om een beleid te uploaden in de JSON Web Signature-indeling (JWS).
Genereer de JWS, RFC7515 met beleid (utf-8 gecodeerd) als de nettolading. De payload-id voor het met Base64Url gecodeerde beleid moet "AttestationPolicy" zijn.
Voorbeeld-JWT:
Header: {"alg":"none"} Payload: {"AttestationPolicy":" Base64Url (policy)"} Signature: {} JWS format: eyJhbGciOiJub25lIn0.XXXXXXXXX.
Onderteken het beleid (optioneel). Azure Attestation ondersteunt de volgende algoritmen:
- Geen: onderteken de nettolading van het beleid niet.
- RS256: Ondersteund algoritme om de nettolading van het beleid te ondertekenen.
Upload de JWS en valideer het beleid.
- Als het beleidsbestand geen syntaxisfouten bevat, accepteert de service het beleidsbestand.
- Als het beleidsbestand syntaxisfouten bevat, weigert de service het beleidsbestand.