Geheimen en certificaten automatisch opnieuw laden vanuit Key Vault

App Configuration en Key Vault zijn complementaire services die in veel toepassingen naast elkaar worden gebruikt. App Configuration helpt u de services samen te 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 een geheim opslaat, kan uw toepassing elk certificaat als geheim ophalen uit Key Vault.

Als een goede beveiligingspraktijk moeten geheimen en certificaten regelmatig worden geroteerd. Zodra ze zijn geroteerd in Key Vault, wilt u dat uw toepassing de meest recente geheime en certificaatwaarden ophaalt. U kunt dit op twee manieren doen zonder uw toepassing opnieuw 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 dynamische configuratie gebruiken in een ASP.NET Core-app voor meer informatie.
  • Laad regelmatig enkele of alle geheimen en certificaten van Key Vault.

In de eerste optie moet u de sentinel-sleutelwaarde in App Configuration bijwerken wanneer u geheimen en certificaten in Key Vault roteert. Deze methode werkt goed wanneer u wilt afdwingen dat geheimen en certificaten in uw toepassing onmiddellijk opnieuw worden geladen. Wanneer geheimen en certificaten echter automatisch worden geroteerd in Key Vault, kunnen er fouten optreden in uw toepassing als u de sentinel-sleutelwaarde niet op tijd bijwerkt. Met de tweede optie kunt u dit proces volledig automatiseren. U kunt uw toepassing configureren om geheimen en certificaten opnieuw te laden vanaf Key Vault binnen de toegestane vertraging vanaf het moment van rotatie. Deze zelfstudie begeleidt u bij de tweede optie.

Vereisten

Een automatisch roulerend certificaat toevoegen aan Key Vault

Volg de Zelfstudie: Automatische rotatie van certificaten configureren in Key Vault om een automatisch roterend certificaat met de naam ExampleCertificate toe te voegen aan de Key Vault die u in de vorige zelfstudie hebt gemaakt.

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

  1. Selecteer in de Azure Portal Alle resources en selecteer vervolgens het App Configuration store-exemplaar 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 Key Vault 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 van Key Vault altijd dezelfde waarde.

Code bijwerken om Key Vault geheimen en certificaten opnieuw te laden

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

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 u de sleutelparameter weglaat, wordt het vernieuwingsinterval toegepast op al die 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 de waarden in Key Vault of App Configuration. Als u geheimen en certificaten opnieuw wilt laden wanneer hun waarde in App Configuration verandert, kunt u ze bewaken met behulp van de ConfigureRefresh methode . Zie dynamische configuratie gebruiken in een ASP.NET Core-app voor meer informatie.

Kies het vernieuwingsinterval op basis van de 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 ze 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 beheerde identiteit gebruikt om de toegang tot App Configuration en Key Vault te stroomlijnen, gaat u verder met de volgende zelfstudie.