Schnellstart: Einrichten von Azure Attestation mithilfe von Azure PowerShell

Führen Sie die folgenden Schritte aus, um einen Nachweisanbieter mithilfe von Azure PowerShell einzurichten und zu konfigurieren. Weitere Informationen zum Installieren und Ausführen von Azure PowerShell finden Sie unter Dokumentation zu Azure PowerShell.

Hinweis

Das Az.Attestation-PowerShell-Modul ist jetzt in das Az-PowerShell-Modul integriert. Mindestens erforderliche Version des Az-Moduls zur Unterstützung von Nachweisvorgängen:

  • Az PowerShell-Modul 6.5.0

Im PowerShell-Katalog wurden die TLS-Versionen (Transport Layer Security) 1.0 und 1.1 als veraltet gekennzeichnet. Empfohlen wird TLS 1.2 oder eine höhere Version. Daher werden unter Umständen die folgenden Fehler angezeigt:

  • WARNUNG: Unable to resolve package source "https://www.powershellgallery.com/api/v2" (Die Paketquelle "https://www.powershellgallery.com/api/v2" kann nicht aufgelöst werden.)
  • PackageManagement\Install-Package: No match was found for the specified search criteria and module name (Für die angegebenen Suchkriterien und den angegebenen Modulnamen wurde keine Übereinstimmung gefunden.)

Führen Sie den folgenden Befehl vor den Befehlen vom Typ „Install-Module“ aus, um weiterhin mit dem PowerShell-Katalog zu interagieren.

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

Anmelden bei Azure

Melden Sie sich in der PowerShell-Konsole bei Azure an (ohne erhöhte Zugriffsrechte).

Connect-AzAccount

Wechseln Sie bei Bedarf zu dem Abonnement, das für Azure Attestation verwendet werden soll.

Set-AzContext -Subscription <subscription id>  

Registrieren des Ressourcenanbieters „Microsoft.Attestation“

Registrieren Sie den Ressourcenanbieter „Microsoft.Attestation“ im Abonnement. Weitere Informationen zu Azure-Ressourcenanbietern sowie zum Konfigurieren und Verwalten von Ressourcenanbietern finden Sie unter Azure-Ressourcenanbieter und -typen. Ein Ressourcenanbieter muss nur einmal für ein Abonnement registriert werden.

Register-AzResourceProvider -ProviderNamespace Microsoft.Attestation

Regionale Verfügbarkeit von Azure Attestation

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

Erstellen einer Azure-Ressourcengruppe

Erstellen Sie eine Ressourcengruppe für den Nachweisanbieter. Andere Azure-Ressourcen (einschließlich eines virtuellen Computers mit einer Clientanwendungsinstanz) können in derselben Ressourcengruppe platziert werden.

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

Hinweis

Wenn ein Nachweisanbieter in dieser Ressourcengruppe erstellt wird, muss ein Azure AD-Benutzer über die Rolle Mitwirkender an Nachweis für den Anbieter verfügen, um Vorgänge wie die Verwaltung von Richtlinienkonfigurations-/Richtlinien-Signaturgeberzertifikaten durchzuführen. Diese Berechtigungen können auch mit Rollen wie Besitzer (Platzhalterberechtigungen)/Mitwirkender (Platzhalterberechtigungen) für das Abonnement bzw. die Ressourcengruppe geerbt werden.

Erstellen und Verwalten eines Nachweisanbieters

Mit „New-AzAttestation“ wird ein Nachweisanbieter erstellt.

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

„PolicySignerCertificateFile“ ist eine Datei, die mehrere vertrauenswürdige Signaturschlüssel angibt. Wenn für den Parameter „PolicySignerCertificateFile“ ein Dateiname angegeben wird, kann der Nachweisanbieter nur mit Richtlinien im signierten JWT-Format konfiguriert werden. Andernfalls kann die Richtlinie als Text oder nicht signiertes JWT konfiguriert werden.

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

Ein Beispiel für „PolicySignersCertificateFile“ finden Sie unter Beispiele für ein Signaturgeberzertifikat einer Nachweisrichtlinie.

Mit „Get-AzAttestation“ werden die Nachweisanbietereigenschaften wie „status“ und „AttestURI“ abgerufen. Notieren Sie sich den Wert für „AttestURI“. Sie benötigen ihn später.

Get-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup  

Der obige Befehl sollte die Ausgabe in diesem Format erzeugen:

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: 

Nachweisanbieter können mithilfe des Cmdlets „Remove-AzAttestation“ gelöscht werden.

Remove-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

Richtlinienverwaltung

Für die Verwaltung von Richtlinien benötigt ein Azure AD-Benutzer die folgenden Berechtigungen für „Aktionen“:

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

Zum Ausführen dieser Aktionen muss ein Azure AD-Benutzer über die Rolle „Mitwirkender an Nachweis“ für den Nachweisanbieter verfügen. Diese Berechtigungen können auch mit Rollen wie Besitzer (Platzhalterberechtigungen)/Mitwirkender (Platzhalterberechtigungen) für das Abonnement bzw. die Ressourcengruppe geerbt werden.

Für das Lesen von Richtlinien benötigt ein Azure AD-Benutzer die folgenden Berechtigungen für „Aktionen“:

  • Microsoft.Attestation/attestationProviders/attestation/read

Zum Ausführen dieser Aktionen muss ein Azure AD-Benutzer über die Rolle „Nachweisleser“für den Nachweisanbieter verfügen. Die Leseberechtigung kann auch mit Rollen wie Leser (Platzhalterberechtigungen) für das Abonnement bzw. die Ressourcengruppe geerbt werden.

Diese PowerShell-Cmdlets ermöglichen die Richtlinienverwaltung für einen Nachweisanbieter (jeweils eine TEE).

„Get-AzAttestationPolicy“ gibt die aktuelle Richtlinie für die angegebene TEE zurück. Das Cmdlet zeigt die Richtlinie sowohl im Text- als auch im JWT-Format der Richtlinie an.

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

Unterstützte TEE-Typen sind „SgxEnclave“, „OpenEnclave“ und „VbsEnclave“.

Mit „Set-AttestationPolicy“ wird eine neue Richtlinie für die angegebene TEE festgelegt. Das Cmdlet akzeptiert Richtlinien im Text- oder JWT-Format und wird durch den Parameter „PolicyFormat“ gesteuert. Der Standardwert für „PolicyFormat“ lautet „Text“.

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

Wird während der Erstellung eines Nachweisanbieters „PolicySignerCertificateFile“ angegeben, können Richtlinien nur im signierten JWT-Format konfiguriert werden. Andernfalls kann die Richtlinie als Text oder nicht signiertes JWT konfiguriert werden.

Die Nachweisrichtlinie im JWT-Format muss einen Anspruch namens „AttestationPolicy“ enthalten. Bei einer signierten Richtlinie muss das JWT mit einem privaten Schlüssel signiert werden, der einem der vorhandenen Signaturgeberzertifikate für eine Richtlinie entspricht.

Richtlinienbeispiele finden Sie unter Beispiele für eine Nachweisrichtlinie.

Mit „Reset-AzAttestationPolicy“ wird die Richtlinie auf den Standardwert für die angegebene TEE zurückgesetzt.

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

Verwaltung der Signaturgeberzertifikate einer Richtlinie

Diese PowerShell-Cmdlets ermöglichen die Verwaltung der Signaturgeberzertifikate einer Richtlinie für einen Nachweisanbieter:

Get-AzAttestationPolicySigners -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

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

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

Das Signaturgeberzertifikat einer Richtlinie ist ein signiertes JWT mit einem Anspruch namens „maa-policyCertificate“. Der Wert des Anspruchs ist ein JWK, der den vertrauenswürdigen Signaturschlüssel enthält, der hinzugefügt werden soll. Das JWT muss mit einem privaten Schlüssel signiert werden, der einem der vorhandenen Signaturgeberzertifikate für eine Richtlinie entspricht.

Die gesamte semantische Bearbeitung des Signaturgeberzertifikats der Richtlinie muss außerhalb von PowerShell erfolgen. In PowerShell handelt es sich um eine einfache Zeichenfolge.

Ein Beispiel für ein Signaturgeberzertifikat der Richtlinie finden Sie unter Beispiele für ein Signaturgeberzertifikat einer Nachweisrichtlinie.

Weitere Informationen zu den Cmdlets und den zugehörigen Parametern finden Sie im Artikel mit den PowerShell-Cmdlets für Azure Attestation.

Nächste Schritte