Hinzufügen von Key Vault zu Ihrer Webanwendung mithilfe der Option „Verbundene Dienste“ in Visual Studio
In diesem Tutorial erfahren Sie, wie Sie auf einfache Weise alles hinzufügen, was Sie zum Verwalten Ihrer Geheimnisse mit Azure Key Vault für Webprojekte in Visual Studio benötigen – ganz unabhängig davon, ob Sie ASP.NET Core oder einen beliebigen Typ von ASP.NET-Projekt verwenden. Mit dem Feature „Verbundene Dienste“ in Visual Studio werden alle NuGet-Pakete und Konfigurationseinstellungen, die für eine Verbindung mit Key Vault in Azure erforderlich sind, von Visual Studio automatisch hinzugefügt.
Voraussetzungen
- Ein Azure-Konto. Wenn Sie nicht über ein Azure-Konto verfügen, aktivieren Sie Ihre Azure-Nutzen für Visual Studio-Abonnenten oder registrieren Sie sich für eine kostenlose Testversion.
- Visual Studio 2019, Version 16.3 oder höher. Jetzt herunterladen
Hinzufügen von Key Vault-Unterstützung zu Ihrem Projekt
Vergewissern Sie sich zunächst, dass Sie bei Visual Studio angemeldet sind. Melden Sie sich mit dem gleichen Konto an, das Sie auch für Ihr Azure-Abonnement verwenden. Öffnen Sie dann ein Webprojekt (ASP.NET 4.7.1 oder höher oder ASP.NET Core), und führen Sie die folgenden Schritte aus. Die gezeigten Schritte gelten für Visual Studio 2022 Version 17.4. Der Flow kann sich für andere Versionen von Visual Studio geringfügig unterscheiden.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, dem Sie die Key Vault-Unterstützung hinzufügen möchten, und wählen Sie dann Hinzufügen>Verbundene Dienste aus, oder klicken Sie mit der rechten Maustaste auf den Knoten Verbundene Dienste, und wählen Sie Hinzufügen aus.
Wenn der Knoten Verbundene Dienste nicht angezeigt wird, wählen Sie Projekt>Verbundene Dienste>Hinzufügen aus.
Wählen Sie unter Dienstabhängigkeiten das +-Symbol aus. Die Seite „Verbundener Dienst“ wird mit den Diensten angezeigt, die Sie dem Projekt hinzufügen können.
Wählen Sie im Menü der verfügbaren Dienste Azure Key Vault aus, und klicken Sie auf Weiter.
Wählen Sie das Abonnement aus, das Sie verwenden möchten. Wenn Sie dann bereits über einen Schlüsseltresor verfügen, den Sie verwenden möchten, wählen Sie ihn aus, und klicken Sie auf Weiter.
Wenn Sie nicht über einen vorhandenen Key Vault verfügen oder einen Key Vault benötigen, den Sie mit anderen Berechtigungen als einem vorhandenen festlegen können, klicken Sie auf " Neuen Schlüsseltresor erstellen". Sie werden aufgefordert, die Ressourcengruppe, den Speicherort und die SKU anzugeben.
Im Bildschirm Schlüsseltresor konfigurieren können Sie den Namen der Umgebungsvariablen ändern, die auf den Schlüsseltresor-URI verweist. Die Verbindungszeichenfolge wird hier nicht gespeichert, sondern im Schlüsseltresor.
Hinweis
Um die Sicherheit zu verbessern, erstellt dieser Schritt in Visual Studio 17.12 und höher einen Verbindungseinstellungsnamen. In früheren Versionen wird ein Verbindungszeichenfolge erstellt. Lokal gespeicherte Verbindungszeichenfolgen können zu einem Sicherheitsrisiko führen, wenn sie versehentlich verfügbar gemacht werden.
Klicken Sie auf "Weiter" , bis eine Zusammenfassung der Änderungen und dann " Fertig stellen" angezeigt wird.
Vergewissern Sie sich zunächst, dass Sie bei Visual Studio angemeldet sind. Melden Sie sich mit dem gleichen Konto an, das Sie auch für Ihr Azure-Abonnement verwenden. Öffnen Sie dann ein Webprojekt (ASP.NET 4.7.1 oder höher oder ASP.NET Core), und führen Sie die folgenden Schritte aus.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, dem Sie die Key Vault-Unterstützung hinzufügen möchten, und wählen Sie dann Hinzufügen>Verbundene Dienste aus, oder klicken Sie mit der rechten Maustaste auf den Knoten Verbundene Dienste, und wählen Sie Hinzufügen aus.
Wenn der Knoten Verbundene Dienste nicht angezeigt wird, wählen Sie Projekt>Verbundene Dienste>Hinzufügen aus.
Wählen Sie unter Dienstabhängigkeiten das +-Symbol aus. Die Seite „Verbundener Dienst“ wird mit den Diensten angezeigt, die Sie dem Projekt hinzufügen können.
Wählen Sie im Menü der verfügbaren Dienste Azure Key Vault aus, und klicken Sie auf Weiter.
Wählen Sie das Abonnement aus, das Sie verwenden möchten. Wenn Sie dann bereits über einen Schlüsseltresor verfügen, den Sie verwenden möchten, wählen Sie ihn aus, und klicken Sie auf Weiter.
Wenn Sie noch keinen Key Vault haben, klicken Sie auf Neuen Key Vault erstellen. Sie werden aufgefordert, die Ressourcengruppe, den Speicherort und die SKU anzugeben.
Im Bildschirm Schlüsseltresor konfigurieren können Sie den Namen der Umgebungsvariablen ändern, die auf den Schlüsseltresor-URI verweist. Die Verbindungszeichenfolge wird hier nicht gespeichert, sondern im Schlüsseltresor.
Klicken Sie auf Weiter, um eine Zusammenfassung der Änderungen zu überprüfen, und klicken Sie dann auf Fertig stellen.
Nun wird die Verbindung mit Key Vault hergestellt, und Sie können auf Ihre Geheimnisse im Code zugreifen. Wenn Sie gerade einen neuen Schlüsseltresor erstellt haben, testen Sie ihn, indem Sie ein Geheimnis erstellen, auf das Sie im Code verweisen können. Sie können ein Geheimnis erstellen, indem Sie das Azure-Portal, PowerShell oder die Azure CLI verwenden.
Codebeispiele zum Arbeiten mit Geheimnissen finden Sie unter Azure Key Vault-Geheimnisse-Clientbibliothek für .NET – Codebeispiele.
Konfigurieren des Zugriffs auf den Schlüsseltresor
Wenn Sie dieses Lernprogramm mit Visual Studio 2022, Version 17.11 oder einer früheren Version, befolgt haben, sind Ihre Key Vault-Berechtigungen für die Ausführung mit Ihrem eigenen Azure-Abonnement eingerichtet, dies ist jedoch für ein Produktionsszenario möglicherweise nicht wünschenswert. Sie können eine verwaltete Identität erstellen, um Key Vault-Zugriff für Ihre App zu verwalten. Weitere Informationen finden Sie unter Authentifizieren bei Key Vault und Zuweisen einer Key Vault-Zugriffsrichtlinie.
Wenn Ihr Schlüsseltresor in einem anderen Microsoft-Konto als dem ausgeführt wird, mit dem Sie bei Visual Studio angemeldet sind (wenn z. B. der Schlüsseltresor in Ihrem Geschäftskonto ausgeführt wird, für Visual Studio jedoch Ihr privates Konto verwendet wird), wird in der Datei „Program.cs“ die Fehlermeldung angezeigt, dass Visual Studio keinen Zugriff auf den Schlüsseltresor hat. Um dieses Problem zu beheben, wechseln Sie zum Azure-Portal, öffnen Sie Ihren Schlüsseltresor, und wählen Sie Access Control (IAM) aus, um Berechtigungen festzulegen. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Schlüsseltresor-Schlüssel, -Zertifikate und -Geheimnisse mit der rollenbasierten Zugriffssteuerung in Azure.
Hinweis
Ältere Schlüsseltresore verwenden möglicherweise ein veraltetes Zugriffsrichtlinienmodell. Es wird empfohlen, ältere Schlüsseltresore zu migrieren, um Azure RBAC zu verwenden. Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) im Vergleich zu Zugriffsrichtlinien.
Nächste Schritte
Weitere Informationen zur Key Vault-Entwicklung finden Sie im Key Vault-Entwicklerhandbuch.
Wenn Sie die Konfiguration für eine ASP.NET Core-App in einem Azure-Schlüsseltresor speichern möchten, lesen Sie Azure Key Vault-Konfigurationsanbieter in ASP.NET Core.