Lagra hemligheter på appnivå för Azure Functions på Azure Container Apps

Hemligheter på appnivå är konfigurationsvärden som din funktionskod och bindningar använder under körning. Till skillnad från Functions-åtkomstnycklar, som skyddar HTTP-slutpunkter, är hemligheter på appnivå de autentiseringsuppgifter som programmet behöver för att ansluta till andra tjänster.

Vanliga exempel är:

  • Infrastrukturanslutningar - AzureWebJobsStorage anslutningssträngar, utlösar- och bindningsanslutningar för Event Hubs, Service Bus, Cosmos DB och SQL.
  • Autentiseringsuppgifter för företag – API-nycklar från tredje part, databaslösenord, SaaS-plattformstoken.
  • Anpassad konfiguration – alla känsliga värden som koden läser från miljövariabler.

Välj ett lagringsalternativ

Azure Container Apps ger dig två sätt att lagra hemligheter på appnivå:

Option Passar bäst för Centraliserad hantering Automatisk rotation Granskningsloggning
Container Apps-hemligheter Dev/test, enkla enkeltapp arbetsflöden Nej – begränsat till en app No Endast aktivitetsloggar
Key Vault-referenser Produktion, flera appar, efterlevnad Ja – i alla appar Ja (versionslös URI) Fullständig diagnostikverktyg för Key Vault

Tips/Råd

Börja med Container Apps-hemligheter för enkelhetens skull. Flytta till referenser i Key Vault när du behöver centraliserad hantering, automatisk rotation eller efterlevnadsgranskning.

Förutsättningar

Använd hemligheter i Container Apps

Container Apps lagrar hemligheter i appens configuration.secrets matris och krypterar värden i vila. Du kan referera till hemligheter i miljövariabler, skalningsregler, volymmonteringar och Dapr-komponenter.

Lagra en hemlighet

  1. Gå till din Functions-containerapp i Azure-portalen.

  2. Under Inställningar väljer du Hemligheter.

  3. Välj Lägg till och ange följande värden:

    Fastighet Value
    Namn Ett hemligt namn som database-password. Använd endast små bokstäver, siffror och bindestreck.
    Type Hemlighet för Container-appar
    Value Ditt hemliga värde.
  4. Välj Lägg till.

Referera till hemligheten i en miljövariabel

När du har lagrat en hemlighet refererar du till den i en miljövariabel så att funktionskoden kan läsa den.

  1. I din Functions-containerapp går du till Programoch väljer Revisioner och repliker.

  2. Välj Skapa ny revision.

  3. På fliken Container väljer du din container och väljer sedan Redigera.

  4. Välj fliken Miljövariabler och välj sedan Lägg till.

  5. Ange följande värden:

    Fastighet Value
    Namn DATABASE_PASSWORD
    Source Referera till en hemlighet
    Value database-password
  6. Välj Spara och välj sedan Skapa för att distribuera den nya revisionen.

Verifiera hemligheten

Bekräfta att funktionen kan läsa det hemliga värdet genom att anropa funktionen och kontrollera att den körs utan fel som rör saknade konfigurationer.

curl "https://<FUNCTIONS_APP_URL>/api/<FUNCTION_NAME>"

Important

Container Apps injicerar det hemliga värdet i miljövariabeln under körning. Koden läser miljövariabeln och kommer inte åt det hemliga arkivet direkt.

Limitations

Container Apps-hemligheter har följande begränsningar:

  • Ingen centralisering – varje containerapp lagrar sina egna hemligheter separat.
  • Ingen automatisk rotation – du måste uppdatera hemliga värden manuellt.
  • Ingen förfallotid – hemligheter upphör inte att gälla automatiskt.
  • Begränsad granskning – endast grundläggande aktivitetsloggar. ingen detaljerad granskning av hemlig åtkomst.
  • Ingen versionshantering – ingen inbyggd hemlig versionshistorik.
  • Uppdateringsbeteende – om du ändrar en hemlighet utlöses ingen ny revision. Du måste skapa en ny revision eller starta om befintliga revisioner för att hämta ändringar.

Använd Key Vault-referenser

Key Vault-referenser låter din containerapp hämta hemligheter direkt från Azure Key Vault med hjälp av en hanterad identitet. Med den här metoden får du centraliserad hantering, automatisk rotation och granskning i efterlevnadsklass.

Steg 1: Konfigurera hanterad identitet

Containerappen behöver en hanterad identitet för att autentisera mot Key Vault utan användning av autentiseringsuppgifter.

  1. Gå till din Functions-containerapp i Azure-portalen.

  2. Under Inställningar väljer du Identitet.

  3. På fliken Systemtilldelat anger du Status till .

  4. Välj Spara och välj sedan Ja för att bekräfta.

Steg 2: Bevilja Key Vault åtkomst

Tilldela rollen Key Vault Secrets User till den hanterade identiteten så att den kan läsa hemligheter.

  1. Gå till din Key Vault i Azure-portalen.

  2. Under Inställningar väljer du Åtkomstkontroll (IAM).

  3. Välj Lägg till>Lägg till rolltilldelning.

  4. På fliken Role väljer du Key Vault Secrets User.

  5. Välj Nästa.

  6. På fliken Medlemmar väljer du Hantera identitet, och sedan väljer du Välj medlemmar.

  7. I fönstret Välj hanterade identiteter väljer du din prenumeration, väljer ContainerApp för den hanterade identitetstypen, väljer din Functions-containerapp och väljer sedan Välj.

  8. Välj Granska + tilldela.

Steg 3: Lagra en hemlighet i Key Vault

  1. Välj Secrets under Objects i din Key Vault.

  2. Välj Generera/Importera.

  3. Ange följande värden:

    Fastighet Value
    Alternativ för uppladdning Manuell
    Namn Ett hemligt namn, till exempel DatabasePassword.
    Value Ditt hemliga värde.
  4. Välj Skapa.

  5. Välj din nyligen skapade hemlighet och välj sedan den aktuella versionen.

  6. Kopiera URI:n för den hemliga identifieraren. Använd den versionslösa URI:n (utan det avslutande versionssegmentet) för att aktivera automatisk rotation.

Steg 4: Referera till Key Vault-hemligheten i Container Apps

Skapa en Container Apps-hemlighet som refererar till den Key Vault hemligheten och binda den sedan till en miljövariabel.

  1. Gå till din Functions-containerapp. Under Inställningar väljer du Hemligheter.

  2. Välj Lägg till.

  3. I Lägg till hemlighet anger du följande värden:

    Fastighet Value
    Namn database-password
    Type Key Vault referensen
    Key Vault hemlig URL Den hemliga identifierar-URI som du kopierade.
    Identitet Systemtilldelad (eller din användartilldelade identitet).
  4. Välj Lägg till.

  5. Under Program väljer du Revisioner och repliker. Skapa en ny revision med miljövariabeln DATABASE_PASSWORD som refererar till hemligheten database-password .

Steg 5: Verifiera referensen för Key Vault

Anropa din funktion och bekräfta att den körs utan fel som rör saknade konfigurationer.

curl "https://<FUNCTIONS_APP_URL>/api/<FUNCTION_NAME>"

Automatisk hemlig rotation

När du refererar till en Key Vault hemlighet med en versionslös URI hämtar Container Apps automatiskt den senaste versionen:

  • Versionslös URI: https://myvault.vault.azure.net/secrets/mysecret – använder alltid den senaste versionen.
  • Versionshanterad URI: https://myvault.vault.azure.net/secrets/mysecret/ec96f020... – låst till en specifik version.

Med versionslösa URI:er söker Container Apps efter nya versioner inom 30 minuter och startar automatiskt om aktiva revisioner för att hämta det nya värdet.