Azure App Service-Geheimnisspeicher in Azure Key Vault

Inhalt

Heute zeige ich Ihnen, wie Sie Konfigurationsgeheimnisse von Azure App Service in Azure Key Vault speichern. In diesem Beispiel, Ich werde a . verwenden Plataforma DNN Azure App Service-basierte Website mit SQL-Datenbank, die die Verbindungszeichenfolge der SQL-Datenbank in Azure Key Vault speichert. Ich werde die Anwendungscodebasis für den Zugriff auf Azure Key Vault in keiner Weise ändern. Wir werden die Managed Identity-Funktion von App Service nutzen, um automatisch Geheimnisse aus Key Vault abzurufen.

Aprovisionar Azure Key Vault

  1. Aprovisionar Azure Key Vault

    779b7662-4e66-4a9c-8d08-2dd70a18e22d-7834662

  2. Für diese Demo, Wir werden das Berechtigungsmodell auf die neue rollenbasierte Zugriffssteuerung von Azure umstellen (RBAC). Es befindet sich derzeit in der Vorschau.

    cce042e2-835a-4acd-9650-f923cb854031-4931459

  3. Abhängig von Ihrer Implementierung, ändere das Netzwerk nach Belieben. Für diese Demo, wir belassen es als öffentlichen Endpunkt, um den App Service-Einstellungen zu entsprechen.

    8c23c374-cf92-4753-a008-124d32807146-5503519

  4. Klicken Sie auf die Überprüfung + Erschaffen Schaltfläche zum Starten der Bereitstellung
  5. Einmal erstellt, füge dich der Funktion hinzu “Key Vault-Administrator (Vorschauversion)” durch Zugangskontrolle (ICH BIN). Jetzt können Sie mit der Verwaltung von Geheimnissen beginnen.

    1a101595-cb28-436b-950d-bcf70c2635cd-4661991

Verbindungszeichenfolge zu Key Vault-Geheimnissen hinzufügen

  1. Fügen Sie Key Vault ein neues Geheimnis hinzu

    afc018f4-afea-421e-ad81-62b90c1713a3-1233213

  2. Geben Sie den Typ Geheimnis an “Handbuch”, Geben Sie ihm einen Namen und setzen Sie den Wert auf die aktuelle SQL-Datenbank-Verbindungszeichenfolge, die in der Webanwendung.config gespeichert ist

    a886528a-32b1-41a0-8a7a-0d5d99e0ac70-9724989

  3. Klicken Sie auf Erstellen. Einmal erstellt, Klicken Sie auf das Geheimnis, um die Details des Geheimnisses anzuzeigen, und klicken Sie dann erneut auf die aktuelle Version
  4. Neben der geheimen Kennung, Klicken Sie auf die Schaltfläche In die Zwischenablage kopieren

    5f9c0428-1949-42e4-a87f-abc7b372229a-5831097

Fügen Sie der Azure App Service-Konfiguration den Verweis auf den geheimen Bezeichner hinzu

  1. Öffnen Sie die App Service-Einstellungen und fügen Sie eine neue Einstellung für die Verbindungszeichenfolge hinzu.
  2. Geben Sie den Namen der Verbindungszeichenfolge ein (“SiteSqlServer” für die DNN-Plattform) und den Wert einstellen “@ Microsoft.KeyVault (SecretUri = VALUE_FROM_CLIPBOARD)”, wobei VALUE_FROM_CLIPBOARD das des Schrittes ist 4 aus dem vorherigen Abschnitt.
  3. Klicken Sie auf Speichern, um die Anwendungseinstellungen zu speichern.

    7de603cd-e42f-4106-93e0-059da43c379c-6346505

App Service den Zugriff auf Key Vault erlauben

  1. Wieder im App Service, Klicken Sie auf Identität, um die vom System zugewiesene Identität zu aktivieren.
  2. Klicken Sie nach der Aktivierung auf Speichern “Aktiviert” der Staat

    5025f05c-fe64-42d1-9b2d-5f640ec697b8-3897923

  3. Drück den Knopf “Rollenzuweisungen” und dann klick “Rollenzuweisung hinzufügen (Vorschau)”

    49c47071-6213-43b0-bb74-506bb4119cd7-6049316

  4. Bei der Rollenvergabe, Umfang wählen “Schlüsseltresor”, abonnieren Sie das Abonnement, in dem Sie Key Vault in den vorherigen Schritten erstellt haben, und den Namen der Key Vault-Ressource. Für die Rolle, einfach auswählen “Key Vault Secrets-Benutzer (Vorschau)”

    52e833c4-2ef6-49ce-bd20-f6a16a9df816-5718828

  5. Schließlich, Rufen Sie die Datei web.config Ihrer DNN-Plattform-Website auf und löschen Sie den Inhalt der Verbindungszeichenfolge.

    92e072cf-b7f0-4e59-9b9e-f3c306ee5805-3350173

  6. Besuchen Sie die Website und überprüfen Sie, ob sie richtig geladen wird. Jetzt, Die Verbindungszeichenfolge wird sicher in Azure Key Vault gespeichert und nicht mehr im Dateisystem gespeichert.

Bekannte Probleme

  1. ERROR: Ein Fehler wird angezeigt “Schlüsselwort nicht unterstützt: ‘@ Microsoft.keyvault (Geheimnisse'”. Ich habe die Erfahrung gemacht, dass die Beantragung von RBAC-Berechtigungen ein oder zwei Minuten dauern kann, Also versuche es nach ein paar Minuten. Versuchen Sie auch, den App-Gedanken im App Service-Portal neu zu starten, also wird nichts zwischengespeichert.

    d31c9fb1-4cb2-4410-adb8-95917c3d8a15-1079568

  2. Beim Überprüfen von DNN log4net-Protokollen, Sie sehen viele Fehler von einem Prozess, der versucht, eine Datenbankverbindung mit einer ungültigen Verbindungszeichenfolge während des DNN-Initialisierungsprozesses zu initialisieren. Dieser Fehler tritt derzeit in Versionen auf 9.7.2 oder früher mit einem ausstehenden Pull-Request, um das Problem zu beheben https://github.com/dnnsoftware/Dnn.Platform/issues/4227
  3. WICHTIG: wenn Sie die Sicherungsfunktion von Azure App Service verwenden möchten, Verwenden Sie diese Methode nicht zum Speichern von SQL-Datenbankverbindungszeichenfolgen in Azure Key Vault, da sie von der App Service Backup-Funktion nicht unterstützt werden. https://stackoverflow.com/questions/56101504/backingup-azure-webapp-when-connection-string-is-injected-through-keyvault

ich hoffe das hilft!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.