Condividi tramite


Guida introduttiva: Configurare attestazione di Azure con Azure PowerShell

Seguire la procedura seguente per creare e configurare un provider di attestazioni con Azure PowerShell. Per informazioni su come installare ed eseguire Azure PowerShell, vedere Panoramica di Azure PowerShell.

Nota

Il modulo Az.Attestation PowerShell è ora integrato nel modulo Az PowerShell. Versione minima del modulo Az necessaria per supportare le operazioni di attestazione:

  • Modulo Az PowerShell 6.5.0

PowerShell Gallery ha deprecato Transport Layer Security (TLS) versioni 1.0 e 1.1. È consigliabile usare TLS 1.2 o versione successiva. Di conseguenza, è possibile che si ricevano gli errori seguenti:

  • AVVISO: Impossibile risolvere l'origine del pacchetto 'https://www.powershellgallery.com/api/v2'
  • PackageManagement\Install-Package: non è stata trovata alcuna corrispondenza per i criteri di ricerca e il nome del modulo specificati

Per continuare a interagire con PowerShell Gallery, eseguire il comando seguente prima dei comandi Install-Module

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 

Accedere ad Azure

Accedere ad Azure nella console di PowerShell (senza privilegi di accesso elevati).

Connect-AzAccount

Se necessario, passare alla sottoscrizione da usare per Attestazione di Azure.

Set-AzContext -Subscription <subscription id>  

Registrare il provider di risorse Microsoft.Attestation

Registrare il provider di risorse Microsoft.Attestation nella sottoscrizione. Per altre informazioni sui provider di risorse di Azure e su come configurarli e gestirli, vedere Provider e tipi di risorse di Azure. La registrazione di un provider di risorse è necessaria una sola volta per una sottoscrizione.

Register-AzResourceProvider -ProviderNamespace Microsoft.Attestation

Disponibilità a livello di area di Attestazione di Azure

(Get-AzResourceProvider -ProviderNamespace Microsoft.Attestation)[0].Locations

Creare un gruppo di risorse di Azure

Creare un gruppo di risorse per il provider di attestazioni. Altre risorse di Azure (inclusa una macchina virtuale con istanza dell'applicazione client) possono essere inserite nello stesso gruppo di risorse.

$location = "uksouth" 
$attestationResourceGroup = "<attestation provider resource group name>"
New-AzResourceGroup -Name $attestationResourceGroup -Location $location 

Nota

Dopo aver creato un provider di attestazioni in questo gruppo di risorse, un utente di Microsoft Entra deve avere il ruolo Collaboratore attestazione nel provider per eseguire operazioni come la gestione dei certificati del firmatario dei criteri/configurazione dei criteri. Queste autorizzazioni possono essere ereditate anche con ruoli come Proprietario (autorizzazioni con caratteri jolly)/ Collaboratore (autorizzazioni con caratteri jolly) nel gruppo di risorse/sottoscrizione.

Creare e gestire un provider di attestazioni

New-AzAttestation crea un provider di attestazioni.

$attestationProvider = "<attestation provider name>" 
New-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Location $location

PolicySignerCertificateFile è un file che specifica un set di chiavi di firma attendibili. Se viene specificato un nome file per il parametro PolicySignerCertificateFile, il provider di attestazioni può essere configurato solo con i criteri nel formato JWT firmato. In caso contrario, il criterio può essere configurato in formato testo o JWT non firmato.

New-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Location $location -PolicySignersCertificateFile "C:\test\policySignersCertificates.pem"

Per un esempio di PolicySignersCertificateFile, vedere Esempi di certificato del firmatario di criteri.

Get-AzAttestation recupera le proprietà del provider di attestazioni, ad esempio lo stato e AttestURI. Prendere nota di AttestURI, perché sarà necessario in un secondo momento.

Get-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup  

Il comando precedente deve produrre l'output in questo formato:

Id:/subscriptions/MySubscriptionID/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider
Location: MyLocation
ResourceGroupName: MyResourceGroup
Name: MyAttestationProvider
Status: Ready
TrustModel: AAD
AttestUri: https://MyAttestationProvider.us.attest.azure.net 
Tags: 
TagsTable: 

I provider di attestazioni possono essere eliminati usando il cmdlet Remove-AzAttestation.

Remove-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

Gestione dei criteri

Per gestire i criteri, un utente di Microsoft Entra richiede le autorizzazioni seguenti per "Actions":

  • Microsoft.Attestation/attestationProviders/attestation/read
  • Microsoft.Attestation/attestationProviders/attestation/write
  • Microsoft.Attestation/attestationProviders/attestation/delete

Per eseguire queste azioni, un utente di Microsoft Entra deve avere il ruolo Collaboratore attestazione nel provider di attestazioni. Queste autorizzazioni possono essere ereditate anche con ruoli come Proprietario (autorizzazioni con caratteri jolly)/ Collaboratore (autorizzazioni con caratteri jolly) nel gruppo di risorse/sottoscrizione.

Per leggere i criteri, un utente di Microsoft Entra richiede l'autorizzazione seguente per "Actions":

  • Microsoft.Attestation/attestationProviders/attestation/read

Per eseguire questa azione, un utente di Microsoft Entra deve avere il ruolo Lettore attestazione nel provider di attestazioni. Le autorizzazioni di lettura possono essere ereditate anche con ruoli come Lettore (autorizzazioni con caratteri jolly) per la sottoscrizione/gruppo di risorse.

Questi cmdlet di PowerShell forniscono la gestione dei criteri per un provider di attestazioni (un T edizione Enterprise alla volta).

Get-AzAttestationPolicy restituisce il criterio corrente per il TEE specificato. Il cmdlet visualizza il criterio in formato testo e JWT.

$teeType = "<tee Type>"
Get-AzAttestationPolicy   -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType 

I tipi di TEE supportati sono "SgxEnclave", "OpenEnclave" e "VbsEnclave".

Set-AttestationPolicy imposta un nuovo criterio per l'ambiente TEE specificato. Il cmdlet accetta i criteri in formato testo o JWT e viene controllato dal parametro PolicyFormat. "Text" è il valore predefinito per PolicyFormat.

$policyFormat = "<policy format>"
$policy=Get-Content -path "C:\test\policy.txt" -Raw
Set-AzAttestationPolicy   -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType -Policy $policy -PolicyFormat $policyFormat 

Se durante la creazione di un provider di attestazioni viene specificato il parametro PolicySignerCertificateFile, i criteri possono essere configurati solo in formato JWT firmato. In caso contrario, il criterio può essere configurato in formato testo o JWT non firmato.

I criteri di attestazione nel formato JWT devono contenere un'attestazione denominata "AttestationPolicy". Per i criteri firmati, il token JWT deve essere firmato con una chiave privata corrispondente a uno dei certificati del firmatario di criteri esistenti.

Per informazioni, vedere Esempi di un criterio di attestazione.

Reset-AzAttestationPolicy reimposta il criterio sul valore predefinito per l'ambiente TEE specificato.

Reset-AzAttestationPolicy -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType 

Gestione dei certificati del firmatario di criteri

Questi cmdlet di PowerShell forniscono la gestione dei certificati del firmatario dei criteri per un provider di attestazioni:

Get-AzAttestationPolicySigners -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

Add-AzAttestationPolicySigner -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Signer <signer>

Remove-AzAttestationPolicySigner -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Signer <signer>

Il certificato del firmatario di criteri è un token JWT firmato con un'attestazione denominata "maa-policyCertificate". Il valore dell'attestazione è JWK, che contiene la chiave di firma attendibile da aggiungere. Il token JWT deve essere firmato con una chiave privata corrispondente a uno dei certificati del firmatario di criteri esistenti.

Tutte le manipolazioni semantiche del certificato del firmatario di criteri devono essere eseguite all'esterno di PowerShell. Per quanto riguarda PowerShell, si tratta di una stringa semplice.

Per un esempio di certificato del firmatario di criteri, vedere Esempi di certificato del firmatario dei criteri.

Per altre informazioni sui cmdlet e sui relativi parametri, vedere Cmdlet di PowerShell per Attestazione di Azure

Passaggi successivi