In diesem Artikel wird erläutert, wie Sie das Zertifikat aktualisieren oder ändern, das in Microsoft Azure Cloud Services (erweiterter Support) verwendet wird, wenn das Zertifikat nähert oder sein Ablaufdatum erreicht. In diesem Artikel wird beschrieben, wie Sie die erforderlichen Schritte in den Azure-Portal, Azure PowerShell oder Microsoft Visual Studio ausführen.
Vorbereitende Schritte
Bevor Sie das Zertifikat aktualisieren oder ändern können, müssen Sie über ein überprüftes, selbstsigniertes Zertifikat im Dateiformat für Persönliche Information Exchange (PFX) verfügen. Um ein Zertifikat selbst zu signieren, befolgen Sie die PowerShell-Anweisungen in der Zertifikatübersicht für Azure Cloud Services (klassisch). Wenn Sie bereits über ein Zertifizierungsstelle-Zertifikat verfügen, müssen Sie das Zertifikat nicht selbst signieren.
Das Zertifikat muss auf eine Schlüsseltresor-Zertifikatseite hochgeladen werden. Um in Azure Key Vault hochzuladen, führen Sie die Schritte 1 bis 6 der Uploadanweisungen unter Verwenden von Zertifikaten mit Azure Cloud Services (erweiterter Support) aus.
Zertifikatänderungen
Verwenden Sie die Anweisungen für Ihre bevorzugte Implementierungsmethode auf einer der folgenden Registerkarten, um die Aktualisierung oder Änderung des Zertifikats wirksam zu machen:
Suchen Sie im Azure-Portal nach Clouddiensten (erweiterter Support) und wählen Sie sie aus.
Wählen Sie in der Liste der Clouddienste den Namen Ihres Clouddiensts aus.
Wählen Sie im Menübereich "Clouddienst" die Option "Konfiguration" aus.
Fügen Sie auf der Konfigurationsseite des Clouddiensts die folgenden XML-Codezeilen innerhalb des <Role-Elements> hinzu. Dieser Code gibt das Zertifikat an, das Sie verwenden möchten, einschließlich des Zertifikatnamens, des Fingerabdruckalgorithmus (Secure Hash Algorithm 1 oder SHA-1) und des Fingerabdrucks (ein 40-stelliger Hexadezimalhashwert).
<Certificates>
<Certificate
name="Certificate1"
thumbprint="0123456789ABCDEF0123456789ABCDEF01234567"
thumbprintAlgorithm="sha1"
/>
</Certificates>
Stellen Sie sicher, dass der hier hinzugefügte Zertifikatfingerabdruck mit dem tatsächlichen Fingerabdruck des Zertifikats übereinstimmt, das Sie in den Schlüsseltresor hochgeladen haben.
Klicken Sie auf Speichern.
Wählen Sie den Schlüsseltresor aus, in den Sie das Zertifikat hochgeladen haben.
Warten Sie in der Liste der Zertifikate auf die Spalte "Status" in Ihrem Zertifikateintrag, um den Wert " Gefunden" zu ändern.
Wählen Sie OK aus.
Ändern Sie die lokale Dienstkonfigurationsdatei (ServiceConfiguration.Local.cscfg), um die erforderlichen Zeilen für das Zertifikat hinzuzufügen oder zu ändern, das in der Rolle verwendet wird. Dieser Code gibt das Zertifikat an, das Sie verwenden möchten, einschließlich des Zertifikatnamens, des Fingerabdruckalgorithmus (Secure Hash Algorithm 1 oder SHA-1) und des Fingerabdrucks (ein 40-stelliger Hexadezimalhashwert). Fügen Sie die Zertifikatinformationen im <Zertifikatelement> innerhalb des <Role-Elements> hinzu, wie im folgenden XML-Codeausschnitt gezeigt:
<Role name="WebRole1">
<Instances count="1" />
<Certificates>
<Certificate
name="Certificate1"
thumbprint="0123456789ABCDEF0123456789ABCDEF01234567"
thumbprintAlgorithm="sha1"
/>
</Certificates>
</Role>
Stellen Sie sicher, dass der hier hinzugefügte Zertifikatfingerabdruck mit dem tatsächlichen Fingerabdruck des Zertifikats übereinstimmt, das Sie in den Schlüsseltresor hochgeladen haben.
Notiz
Die Codeänderung in PowerShell ist nahezu identisch mit der Konfigurationsänderung im Azure-Portal. Der einzige Unterschied besteht darin, dass die PowerShell-Änderung die lokale Version der Dienstkonfigurationsdatei anstelle der Cloudversion ändert, die sich im Portal befindet.
Wechseln Sie zum Artikel "Manuelle Migration von klassischem Cloud service zu Cloud Service Extended Support mit ARM-Vorlage" , und führen Sie die Schritte 7 bis 9 aus. In diesen Anweisungen erfahren Sie, wie Sie die folgenden Schritte ausführen:
Packe das Projekt.
Laden Sie die generierte Dienstpaketdatei (<project-name.cspkg>) in einen Speicherkontocontainer für Ihren Clouddienst hoch.
Notiz
Trotz der in den Anweisungen angegebenen Angaben müssen Sie die Clouddienstkonfigurationsdatei (ServiceConfiguration.Cloud.cscfg) nicht hochladen. Nur die Dienstpaketdatei muss hier hochgeladen werden.
Generieren Sie eine SAS-URL (Shared Access Signature) für die hochgeladene Dienstpaketdatei.
Melden Sie sich bei Azure an, indem Sie das Cmdlet Connect-AzAccount ausführen.
Ersetzen Sie im folgenden PowerShell-Skript die Platzhalter am Anfang des Skripts durch die tatsächlichen Werte für jede Variable, und führen Sie dann das Skript aus, um Ihren Clouddienst zu aktualisieren:
# Enter values for placeholders in the following variables.
$vaultName = "<key-vault-resource-name>"
$resourceGroupKeyVault = "<resource-group-name-where-key-vault-is-deployed>"
$certificateName = "<name-of-certificate-saved-in-key-vault>"
$cloudService = @{
Name = "<name-of-cloud-service>"
ResourceGroupName = "<resource-group-name-where-cloud-service-is-deployed>"
SubscriptionId = "<subscription-guid>"
}
$cscfgFilePath = "<local-path-to-your-service-configuration-file-cscfg>"
$cspkgUrl = "<sas-token-url-of-the-service-package-file-cspkg>"
# Code execution
$keyVault = Get-AzKeyVault -VaultName $vaultName -ResourceGroupName $resourceGroupKeyVault
$certificate = Get-AzKeyVaultCertificate -VaultName $vaultName -Name $certificateName
$vaultSecretGroupObject = @{
CertificateUrl = $certificate.SecretId
Id = $keyVault.ResourceId
}
$secretGroup = New-AzCloudServiceVaultSecretGroupObject @vaultSecretGroupObject
$osProfile = @{secret = @($secretGroup)}
$cses = Get-AzCloudService @cloudService
$cses.Configuration = Get-Content $cscfgFilePath | Out-String
$cses.PackageUrl = $cspkgUrl
$cses.OSProfile = $osProfile
$cses | Update-AzCloudService
Warnung
Wenn Sie die Dienstkonfigurationsdatei (.cscfg) aktualisieren, aber das Betriebssystemprofil des Clouddiensts (in der zweiten bis letzten Zeile des Skripts) vergessen oder nicht aktualisieren, kann der Clouddienst das neue Zertifikat nicht aus dem richtigen Schlüsseltresor herunterladen. Daher kann das Zertifikat nicht in zugrunde liegenden Rolleninstanzen installiert werden, und das Skript generiert die folgende Fehlermeldung:
Update-AzCloudService: Die im CSCFG angegebenen Fingerabdrucke verfügen nicht über entsprechende Zertifikate in osProfile.secrets. Fügen Sie die fehlenden Zertifikate in "osProfile.secrets" hinzu. Fehlende Fingerabdrucke: WebRole1|<40-hex-digit-sha1-thumbprint-hash-value>. Weitere Informationen zur Verwendung von KeyVault für Zertifikate finden Sie in der Dokumentation unter https://aka.ms/cses-kv
Ändern Sie die lokale Dienstkonfigurationsdatei (ServiceConfiguration.Local.cscfg), um die erforderlichen Zeilen für das Zertifikat hinzuzufügen oder zu ändern, das in der Rolle verwendet wird. Dieser Code gibt das Zertifikat an, das Sie verwenden möchten, einschließlich des Zertifikatnamens, des Fingerabdruckalgorithmus (Secure Hash Algorithm 1 oder SHA-1) und des Fingerabdrucks (ein 40-stelliger Hexadezimalhashwert). Fügen Sie die Zertifikatinformationen im <Zertifikatelement> innerhalb des <Role-Elements> hinzu, wie im folgenden XML-Codeausschnitt gezeigt:
<Role name="WebRole1">
<Instances count="1" />
<Certificates>
<Certificate
name="Certificate1"
thumbprint="0123456789ABCDEF0123456789ABCDEF01234567"
thumbprintAlgorithm="sha1"
/>
</Certificates>
</Role>
Stellen Sie sicher, dass der hier hinzugefügte Zertifikatfingerabdruck mit dem tatsächlichen Fingerabdruck des Zertifikats übereinstimmt, das Sie in den Schlüsseltresor hochgeladen haben.
Notiz
Die Codeänderung in Visual Studio ist nahezu identisch mit der Konfigurationsänderung im Azure-Portal. Der einzige Unterschied besteht darin, dass die Änderung von Visual Studio die lokale Version der Dienstkonfigurationsdatei anstelle der Cloudversion ändert, die sich im Portal befindet.
Klicken Sie im Bereich "Visual Studio Projektmappen-Explorer" mit der rechten Maustaste auf das Projekt, und wählen Sie dann "Veröffentlichen" aus.
Schließen Sie im Assistenten zum Veröffentlichen Azure-App lizenzierung die erforderlichen Felder bei Bedarf auf der Registerkarte "Anmelden" ab, und wählen Sie dann die Schaltfläche "Weiter" aus.
Suchen Sie auf der Registerkarte "Einstellungen " das Schlüsseltresorfeld, und wählen Sie dann den Schlüsseltresor aus, in den Sie das Zertifikat hochgeladen haben.
Wählen Sie die Schaltfläche Veröffentlichen aus.
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.