Dela via


Ladda om hemligheter och certifikat från Key Vault automatiskt

Appkonfiguration och Key Vault är kompletterande tjänster som används sida vid sida i många program. App Configuration hjälper dig att använda tjänsterna tillsammans genom att skapa nycklar i appkonfigurationsarkivet som refererar till hemligheter eller certifikat som lagras i Key Vault. Eftersom Key Vault lagrar det offentliga och privata nyckelparet för ett certifikat som en hemlighet kan ditt program hämta valfritt certifikat som en hemlighet från Key Vault.

Som en bra säkerhetspraxis bör hemligheter och certifikat roteras regelbundet. När de har roterats i Key Vault vill du att programmet ska hämta de senaste hemlighets- och certifikatvärdena. Det finns två sätt att uppnå detta utan att starta om programmet:

  • Uppdatera ett sentinel-nyckelvärde för att utlösa uppdateringen av hela konfigurationen och läs därmed in alla Key Vault-hemligheter och certifikat igen. Mer information finns i använda dynamisk konfiguration i en ASP.NET Core-app.
  • Ladda regelbundet in vissa eller alla hemligheter och certifikat från Key Vault igen.

I det första alternativet måste du uppdatera sentinel-nyckelvärdet i App Configuration när du roterar hemligheter och certifikat i Key Vault. Den här metoden fungerar bra när du vill framtvinga en omedelbar ny inläsning av hemligheter och certifikat i ditt program. Men när hemligheter och certifikat roteras automatiskt i Key Vault kan det uppstå fel i programmet om du inte uppdaterar sentinel-nyckelvärdet i tid. Med det andra alternativet kan du automatisera processen helt. Du kan konfigurera ditt program för att läsa in hemligheter och certifikat från Key Vault igen inom en acceptabel fördröjning från rotationstiden. I den här självstudien går vi igenom det andra alternativet.

Förutsättningar

Lägga till ett automatiskt roterande certifikat i Key Vault

Följ självstudien : Konfigurera automatisk rotering av certifikat i Key Vault för att lägga till ett automatiskt roterande certifikat med namnet ExampleCertificate i key vault som skapades i föregående självstudie.

Lägga till en referens till Key Vault-certifikatet i App Configuration

  1. I Azure Portal väljer du Alla resurser och sedan den App Configuration Store-instans som du skapade i föregående självstudie.

  2. Välj Configuration Explorer.

  3. Välj + Skapa>key vault-referens och ange sedan följande värden:

    • Nyckel: Välj TestApp:Settings:KeyVaultCertificate.
    • Etikett: Lämna det här värdet tomt.
    • Prenumeration, Resursgrupp och Nyckelvalv: Ange de värden som motsvarar det Nyckelvalv som du skapade i föregående självstudie.
    • Hemlighet: Välj hemligheten med namnet ExampleCertificate som du skapade i föregående avsnitt.
    • Hemlig version: Senaste version.

Kommentar

Om du refererar till en viss version returnerar omläsning av hemligheten eller certifikatet från Key Vault alltid samma värde.

Uppdatera kod för att läsa in Key Vault-hemligheter och -certifikat igen

I filen Program.cs uppdaterar AddAzureAppConfiguration du metoden för att konfigurera ett uppdateringsintervall för ditt Key Vault-certifikat med hjälp av SetSecretRefreshInterval metoden . Med den här ändringen läser programmet in nyckelparet offentlig-privat igen för ExampleCertificate var 12:e timme.

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

Det första argumentet i SetSecretRefreshInterval metoden är nyckeln till Key Vault-referensen i App Configuration. Det här argumentet är valfritt. Om nyckelparametern utelämnas gäller uppdateringsintervallet för alla hemligheter och certifikat som inte har enskilda uppdateringsintervall.

Uppdateringsintervallet definierar hur ofta dina hemligheter och certifikat läses in igen från Key Vault, oavsett eventuella ändringar i deras värden i Key Vault eller App Configuration. Om du vill läsa in hemligheter och certifikat igen när deras värde ändras i App Configuration kan du övervaka dem med hjälp av ConfigureRefresh metoden. Mer information finns i använda dynamisk konfiguration i en ASP.NET Core-app.

Välj uppdateringsintervallet enligt din acceptabla fördröjning efter att dina hemligheter och certifikat har uppdaterats i Key Vault. Det är också viktigt att överväga gränserna för Key Vault-tjänsten för att undvika begränsning.

Rensa resurser

Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.

  1. Logga in på Azure Portal och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

Efter en liten stund tas resursgruppen och alla dess resurser bort.

Nästa steg

I den här självstudien har du lärt dig hur du konfigurerar programmet för att automatiskt läsa in hemligheter och certifikat på nytt från Key Vault. Om du vill lära dig hur du använder hanterad identitet för att effektivisera åtkomsten till App Configuration och Key Vault fortsätter du till nästa självstudie.