Schützen von Authentifizierungsgeheimnissen in Azure Key Vault für Azure Static Web Apps
Beim Konfigurieren von benutzerdefinierten Authentifizierungsanbietern sollten Sie Verbindungsgeheimnisse in Azure Key Vault speichern. In diesem Artikel wird veranschaulicht, wie Sie mithilfe einer verwalteten Identität Azure Static Web Apps Zugriff auf Key Vault für benutzerdefinierte Authentifizierungsgeheimnisse gewähren.
Hinweis
Serverlose Azure-Funktionen unterstützen keine direkte Key Vault-Integration. Wenn Sie Key Vault-Integration in Ihre verwaltete Funktions-App benötigen, müssen Sie den Key Vault-Zugriff in den Code Ihrer App implementieren.
Für Sicherheitsgeheimnisse müssen die folgenden Elemente vorhanden sein.
- Erstellen Sie eine systemseitig zugewiesene Identität in Ihrer statischen Web-App.
- Gewähren Sie der Identität Zugriff auf ein Key Vault-Geheimnis.
- Verweisen Sie in den Static Web Apps Anwendungseinstellungen auf das Key Vault Geheimnis.
In diesem Artikel wird veranschaulicht, wie jedes dieser Elemente in der Produktion für Anwendungen mit eigenen Funktionen (BYOF, Bring Your Own Functions) eingerichtet wird.
Key Vault-Integration ist nicht verfügbar für:
- Stagingversionen Ihrer statischen Web-App. Key Vault-Integration wird nur in der Produktionsumgebung unterstützt.
- Statische Web-Apps mit verwalteten Funktionen.
Hinweis
Die Verwendung verwalteter Identitäten ist nur im Standard-Tarif von Azure Static Web Apps verfügbar.
Voraussetzungen
- Vorhandene Azure Static Web Apps-Site, die eigene Funktionen (Bring Your Own Functions, BYOF) verwendet.
- Vorhandene Key Vault-Ressource mit einem Geheimniswert.
Identität erstellen
Öffnen Sie Ihre statischen Web-Apps im Azure-Portal.
Wählen Sie unter Einstellungen Identität aus:
Wählen Sie die Registerkarte Systemseitig zugewiesen aus.
Wählen Sie unter der Bezeichnung Status die Option Ein aus.
Wählen Sie Speichern.
Wählen Sie bei Anzeige des Bestätigungsdialogfelds Ja aus.
Sie können jetzt eine Zugriffsrichtlinie hinzufügen, damit Ihrer statischen Web-App das Lesen von Key Vault-Geheimnisse gestattet wird.
Hinzufügen einer Key Vault-Zugriffsrichtlinie
Öffnen Sie Ihre Key Vault-Ressource im Azure-Portal.
Wählen Sie im Menü Einstellungen die Option Zugriffsrichtlinien aus.
Wählen Sie den Link Zugriffsrichtlinie hinzufügen aus.
Wählen Sie in der Dropdownliste Geheimnisberechtigungen die Option Abrufen aus.
Wählen Sie neben der Bezeichnung Prinzipal auswählen den Link Keine ausgewählt aus.
Suchen Sie im Suchfeld nach dem Namen Ihrer statischen Web-App.
Wählen Sie das Listenelement aus, das Ihrem Anwendungsnamen entspricht.
Wählen Sie Auswählen.
Wählen Sie Hinzufügen aus.
Wählen Sie Speichern aus.
Die Zugriffsrichtlinie wird jetzt in Key Vault gespeichert. Greifen Sie als Nächstes auf den URI des Geheimnisses zu, der verwendet werden soll, wenn Sie Ihre statische Web-App der Key Vault-Ressource zuordnen.
Wählen Sie im Menü Einstellungen die Option Geheimnisse aus.
Wählen Sie Ihr gewünschtes Geheimnis aus der Liste aus.
Wählen Sie Ihre gewünschte Geheimnisversion aus der Liste aus.
Wählen Sie am Ende des Textfelds Geheimnisbezeichner die Option Kopieren aus, um den Geheimnis-URI-Wert in die Zwischenablage zu kopieren.
Fügen Sie diesen Wert zur späteren Verwendung in einen Text-Editor ein.
Hinzufügen von Anwendungseinstellungen
Öffnen Sie Ihre Static Web Apps-Site im Azure-Portal.
Wählen Sie im Menü Einstellungen die Option Konfiguration aus.
Wählen Sie im Abschnitt Anwendungseinstellungen die Option Hinzufügen aus.
Geben Sie einen Namen in das Textfeld für das Feld Name ein.
Bestimmen Sie den Geheimniswert im Textfeld für das Feld Wert.
Der Geheimniswert ist aus einigen verschiedenen Werten zusammengesetzt. Die folgende Vorlage zeigt, wie die endgültige Zeichenfolge aufgebaut ist.
@Microsoft.KeyVault(SecretUri=<YOUR_KEY_VAULT_SECRET_URI>)
Eine endgültige Zeichenfolge sieht beispielsweise wie das folgende Beispiel aus:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
Alternativ:
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
Verwenden Sie die folgenden Schritte, um den vollständigen Geheimniswert zu erstellen.
Kopieren Sie die oben stehende Vorlage, und fügen Sie sie in einen Text-Editor ein.
Ersetzen Sie
<YOUR_KEY_VAULT_SECRET_URI>
durch den Key Vault-URI-Wert, den Sie zuvor festgelegt haben.Kopieren Sie den neuen vollständigen Zeichenfolgenwert.
Fügen Sie den Wert in das Textfeld für das Feld Wert ein.
Wählen Sie OK aus.
Wählen Sie im oberen Bereich der Symbolleiste Anwendungseinstellungen die Option Speichern aus.
Wenn Ihre benutzerdefinierte Authentifizierungskonfiguration nun auf die neu erstellte Anwendungseinstellung verweist, wird der Wert unter Verwendung der Identität Ihrer statischen Web-App aus Azure Key Vault extrahiert.