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.