Teilen über


Secure Key Release mit vertraulichen VMs anleitungen

Im folgenden Artikel wird beschrieben, wie Sie eine Secure Key Release von Azure Key Vault ausführen, wenn Ihre Anwendungen mit einem auf AMD SEV-SNP basierenden vertraulichen virtuellen Computer ausgeführt werden. Weitere Informationen zu Secure Key Release und Azure Confidential Computing finden Sie hier.

SKR erfordert, dass eine Anwendung, die SKR ausführt, einen Remote-Gastnachweisfluss mithilfe des Microsoft Azure-Nachweises (MAA) durchlaufen muss, wie hier beschrieben.

Gesamtfluss und Architektur

Damit Azure Key Vault einen Schlüssel für einen bestätigten vertraulichen virtuellen Computer freigeben kann, müssen bestimmte Schritte befolgt werden:

  1. Weisen Sie dem vertraulichen virtuellen Computer eine verwaltete Identität zu. Vom System zugewiesene verwaltete Identität oder eine vom Benutzer zugewiesene verwaltete Identität werden unterstützt.
  2. Legen Sie eine Zugriffsrichtlinie für den Schlüsseltresor fest, um der verwalteten Identität die Zugriffsberechtigung "release" zu gewähren. Eine Richtlinie ermöglicht dem vertraulichen virtuellen Computer den Zugriff auf den Key Vault und das Ausführen des Releasevorgangs. Wenn Sie key Vault Managed HSM verwenden, weisen Sie die Rollenmitgliedschaft "Managed HSM Crypto Service Release User" zu.
  3. Erstellen Sie einen Key Vault-Schlüssel, der als exportierbar gekennzeichnet ist und über eine zugehörige Releaserichtlinie verfügt. Die Schlüsselfreigaberichtlinie ordnet den Schlüssel einem bestätigten vertraulichen virtuellen Computer zu und dass der Schlüssel nur für den gewünschten Zweck verwendet werden kann.
  4. Um die Version auszuführen, senden Sie eine HTTP-Anforderung vom vertraulichen virtuellen Computer an den Key Vault. Die HTTP-Anforderung muss den vom Vertraulichen VMs bestätigten Plattformbericht im Anforderungstext enthalten. Der nachweiste Plattformbericht wird verwendet, um die Vertrauenswürdigkeit des Zustands der vertrauenswürdigen Umgebungs-fähigen Plattform zu überprüfen, z. B. der vertraulichen VM. Der Microsoft Azure-Nachweisdienst kann verwendet werden, um den nachweisten Plattformbericht zu erstellen und ihn in die Anforderung einzuschließen.

Diagram of the aforementioned operations, which we'll be performing.

Bereitstellen eines Azure Key Vault

Richten Sie AKV Premium oder AKV mHSM mit einem exportierbaren Schlüssel ein. Befolgen Sie die detaillierten Anweisungen hier , um SKR exportierbare Schlüssel einzurichten.

Bicep

@description('Required. Specifies the Azure location where the key vault should be created.')
param location string = resourceGroup().location

@description('Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet.')
param tenantId string = subscription().tenantId

resource keyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' = {
  name: 'mykeyvault'
  location: location
  properties: {
    tenantId: tenantId
    sku: {
      name: 'premium'
      family: 'A'
    }
  }
}

ARM-Vorlage

    {
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2021-11-01-preview",
      "name": "mykeyvault",
      "location": "[parameters('location')]",
      "properties": {
        "tenantId": "[parameters('tenantId')]",
        "sku": {
          "name": "premium",
          "family": "A"
        }
      }
    }

Bereitstellen eines vertraulichen virtuellen Computers

Befolgen Sie die Schnellstartanweisungen zum Thema "Bereitstellen vertraulicher VM mit ARM-Vorlage"

Aktivieren einer systemseitig zugewiesenen verwalteten Identität

Verwaltete Identitäten für Azure-Ressourcen stellen für Azure-Dienste eine automatisch verwaltete Identität in Microsoft Entra ID bereit. Sie können diese Identität für die Authentifizierung bei jedem Dienst verwenden, der die Microsoft Entra-Authentifizierung unterstützt. Hierfür müssen keine Anmeldeinformationen im Code enthalten sein.

Um die vom System zugewiesene verwaltete Identität auf einem CVM zu aktivieren, benötigt Ihr Konto die Rollenzuweisung mitwirkender virtueller Computer. Es sind keine anderen Microsoft Entra-Verzeichnisrollenzuweisungen erforderlich.

  1. Verwenden Sie unabhängig davon, ob Sie sich bei Azure lokal oder über das Azure-Portal anmelden, ein Konto, das dem Azure-Abonnement zugeordnet ist, das den virtuellen Computer enthält.

  2. Um die vom System zugewiesene verwaltete Identität zu aktivieren, laden Sie die Vorlage in einen Editor, suchen Sie die Microsoft.Compute/virtualMachines interessante Ressource, und fügen Sie die "identity" Eigenschaft auf derselben Ebene wie die name: vmName Eigenschaft hinzu. Verwenden Sie die folgende Syntax:

       identity:{
         type: 'SystemAssigned'
       }
    
  3. Fügen Sie der Vorlage die resource Details hinzu.

     resource confidentialVm 'Microsoft.Compute/virtualMachines@2021-11-01' = {
       name: vmName
       location: location
       identity:{
         type: 'SystemAssigned'
       }
       // other resource provider properties
     }