Delen via


Geheimen en certificaten automatisch opnieuw laden vanuit Key Vault

App Configuration en Key Vault zijn complementaire services die naast elkaar worden gebruikt in veel toepassingen. Met App Configuration kunt u de services samen gebruiken door sleutels te maken in uw App Configuration-archief die verwijzen naar geheimen of certificaten die zijn opgeslagen in Key Vault. Omdat Key Vault het openbare en persoonlijke sleutelpaar van een certificaat als geheim opslaat, kan uw toepassing elk certificaat ophalen als een geheim uit Key Vault.

Als een goede beveiligingspraktijk moeten geheimen en certificaten periodiek worden geroteerd. Zodra ze zijn gedraaid in Key Vault, wilt u dat uw toepassing de meest recente geheime en certificaatwaarden ophaalt. Er zijn twee manieren om dit te bereiken zonder uw toepassing opnieuw op te starten:

  • Werk een sentinel-sleutelwaarde bij om het vernieuwen van uw volledige configuratie te activeren, waardoor alle Key Vault-geheimen en -certificaten opnieuw worden geladen. Zie voor meer informatie hoe u dynamische configuratie gebruikt in een ASP.NET Core-app.
  • Laad regelmatig enkele of alle geheimen en certificaten van Key Vault opnieuw.

In de eerste optie moet u de sentinel-sleutelwaarde bijwerken in App Configuration wanneer u geheimen en certificaten roteert in Key Vault. Deze aanpak werkt goed wanneer u onmiddellijk opnieuw laden van geheimen en certificaten in uw toepassing wilt afdwingen. Wanneer geheimen en certificaten echter automatisch worden geroteerd in Key Vault, kan uw toepassing fouten ondervinden als u de sentinel-sleutelwaarde niet op tijd bijwerkt. Met de tweede optie kunt u dit proces volledig automatiseren. U kunt uw toepassing configureren voor het opnieuw laden van geheimen en certificaten uit Key Vault binnen uw acceptabele vertraging vanaf het moment van roulatie. In deze zelfstudie wordt u begeleid bij de tweede optie.

Vereisten

Een automatisch draaiend certificaat toevoegen aan Key Vault

Volg de zelfstudie: Configureer automatisch rouleren van certificaten in Key Vault om een automatisch draaiend certificaat met de naam ExampleCertificate toe te voegen aan de Sleutelkluis die u in de vorige zelfstudie hebt gemaakt.

Een verwijzing toevoegen naar het Key Vault-certificaat in App Configuration

  1. Selecteer alle resources in Azure Portal en selecteer vervolgens het exemplaar van het App Configuration-archief dat u in de vorige zelfstudie hebt gemaakt.

  2. Selecteer Configuratieverkenner.

  3. Selecteer + Maken>Sleutelkluisverwijzing en geef de volgende waarden op:

    • Sleutel: Selecteer TestApp:Settings:KeyVaultCertificate.
    • Label: laat deze waarde leeg.
    • Abonnement, resourcegroep en sleutelkluis: voer de waarden in die overeenkomen met de sleutelkluis die u in de vorige zelfstudie hebt gemaakt.
    • Geheim: Selecteer het geheim met de naam ExampleCertificate dat u in de vorige sectie hebt gemaakt.
    • Geheime versie: nieuwste versie.

Notitie

Als u naar een specifieke versie verwijst, retourneert het opnieuw laden van het geheim of certificaat uit Key Vault altijd dezelfde waarde.

Code bijwerken om Key Vault-geheimen en -certificaten opnieuw te laden

Werk in uw Program.cs bestand de AddAzureAppConfiguration methode bij om een vernieuwingsinterval voor uw Key Vault-certificaat in te stellen met behulp van de SetSecretRefreshInterval methode. Met deze wijziging wordt het sleutelpaar met een openbare persoonlijke sleutel opnieuw geladen voor ExampleCertificate om de 12 uur.

config.AddAzureAppConfiguration(options =>
{
    options.Connect(settings["ConnectionStrings:AppConfig"])
            .ConfigureKeyVault(kv =>
            {
                kv.SetCredential(new DefaultAzureCredential());
                kv.SetSecretRefreshInterval("TestApp:Settings:KeyVaultCertificate", TimeSpan.FromHours(12));
            });
});

Het eerste argument in SetSecretRefreshInterval de methode is de sleutel van de Key Vault-verwijzing in App Configuration. Dit argument is optioneel. Als de sleutelparameter wordt weggelaten, wordt het vernieuwingsinterval toegepast op al deze geheimen en certificaten die geen afzonderlijke vernieuwingsintervallen hebben.

Vernieuwingsinterval definieert de frequentie waarmee uw geheimen en certificaten opnieuw worden geladen vanuit Key Vault, ongeacht eventuele wijzigingen in hun waarden in Key Vault of App Configuration. Als u geheimen en certificaten opnieuw wilt laden wanneer hun waarde verandert in App Configuration, kunt u deze bewaken met behulp van de ConfigureRefresh methode. Zie voor meer informatie hoe u dynamische configuratie gebruikt in een ASP.NET Core-app.

Kies het vernieuwingsinterval op basis van uw acceptabele vertraging nadat uw geheimen en certificaten zijn bijgewerkt in Key Vault. Het is ook belangrijk om rekening te houden met de Key Vault-servicelimieten om te voorkomen dat deze worden beperkt.

Resources opschonen

Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
  2. Voer de naam van de resourcegroep in het vak Filteren op naam in.
  3. Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
  4. Selecteer Resourcegroep verwijderen.
  5. U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.

Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u uw toepassing instelt om geheimen en certificaten automatisch opnieuw te laden vanuit Key Vault. Als u wilt weten hoe u Managed Identity gebruikt om de toegang tot App Configuration en Key Vault te stroomlijnen, gaat u verder met de volgende zelfstudie.