Geheimen op app-niveau opslaan voor Azure Functions op Azure Container Apps

Geheimen op app-niveau zijn configuratiewaarden die uw functiecode en bindingen tijdens runtime verbruiken. In tegenstelling tot toegangssleutels van Functions, die HTTP-eindpunten beveiligen, zijn geheimen op app-niveau de referenties die uw toepassing nodig heeft om verbinding te maken met andere services.

Dit zijn enkele veel voorkomende voorbeelden:

  • Infrastructure-verbindingen - AzureWebJobsStorage verbindingsreeksen, trigger- en bindingsverbindingen voor Event Hubs, Service Bus, Cosmos DB en SQL.
  • Zakelijke referenties : API-sleutels van derden, databasewachtwoorden, SaaS-platformtokens.
  • Aangepaste configuratie : elke gevoelige waarde die uw code leest uit omgevingsvariabelen.

Een opslagoptie kiezen

Azure Container Apps biedt u twee manieren om geheimen op app-niveau op te slaan:

Option Ideaal voor Gecentraliseerd beheer Automatische rotatie Auditlogboek bijhouden
Container Apps-geheimen Dev/test, eenvoudige workloads met één app Nee: beperkt tot één app Nee Alleen activiteitenlogboeken
Key Vault-verwijzingen Productie, multi-applicatie, naleving Ja, in alle apps Ja (versieloze URI) Volledige Key Vault diagnostische gegevens

Tip

Begin met Container Apps-geheimen om het eenvoudig te houden. Ga naar Key Vault referenties wanneer je gecentraliseerd beheer, automatische rotatie, of auditing op nalevingsniveau nodig hebt.

Vereiste voorwaarden

Container Apps-geheimen gebruiken

Container Apps slaat geheimen op in de matrix van configuration.secrets de app en versleutelt inactieve waarden. U kunt verwijzen naar geheimen in omgevingsvariabelen, schaalregels, volumekoppelingen en Dapr-onderdelen.

Een geheim opslaan

  1. Ga naar uw Functions-container-app in de Azure-portal.

  2. Selecteer Geheimen onder Instellingen.

  3. Selecteer Toevoegen en voer de volgende waarden in:

    Vastgoed Waarde
    Naam Een geheime naam zoals database-password. Gebruik alleen kleine letters, cijfers en afbreekstreepjes.
    Type Container Apps Secret
    Waarde Uw geheime waarde.
  4. Selecteer Toevoegen.

Verwijzen naar het geheim in een omgevingsvariabele

Nadat u een geheim hebt opgeslagen, kunt u ernaar verwijzen in een omgevingsvariabele, zodat uw functiecode het kan lezen.

  1. Selecteer in uw Functions-container-app, onder Toepassing, Revisies en replica's.

  2. Selecteer Nieuwe revisie maken.

  3. Selecteer uw container op het tabblad Container en selecteer vervolgens Bewerken.

  4. Selecteer het tabblad Omgevingsvariabelen en selecteer vervolgens Toevoegen.

  5. Voer de volgende waarden in:

    Vastgoed Waarde
    Naam DATABASE_PASSWORD
    bron Verwijzen naar een geheim
    Waarde database-password
  6. Selecteer Opslaan en selecteer Vervolgens Maken om de nieuwe revisie te implementeren.

De geheime code verifiëren

Controleer of uw functie de geheime waarde kan lezen door de functie aan te roepen en te controleren of deze wordt uitgevoerd zonder fouten met betrekking tot ontbrekende configuratie.

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

Important

Container Apps injecteert de geheime waarde in de omgevingsvariabele tijdens runtime. Uw code leest de omgevingsvariabele en heeft geen rechtstreeks toegang tot het geheime archief.

Limitations

Container Apps-geheimen hebben de volgende beperkingen:

  • Geen centralisatie : elke container-app slaat afzonderlijke geheimen op.
  • Geen automatische rotatie . U moet geheime waarden handmatig bijwerken.
  • Geen verlooptijd : geheimen verlopen niet automatisch.
  • Beperkte controle - alleen basisactiviteitenlogboeken; geen gedetailleerde controle van geheime toegang.
  • Geen versiebeheer - geen ingebouwde versiegeschiedenis van geheime versies.
  • Updategedrag : als u een geheim wijzigt, wordt er geen nieuwe revisie geactiveerd. U moet een nieuwe revisie maken of bestaande revisies opnieuw starten om wijzigingen op te halen.

Key Vault-referenties gebruiken

Key Vault verwijzingen kunnen uw container-app geheimen rechtstreeks uit Azure Key Vault halen met behulp van een beheerde identiteit. Deze benadering biedt u gecentraliseerd beheer, automatische rotatie en controle op nalevingsniveau.

Stap 1: Beheerde identiteit instellen

Uw container-app heeft een beheerde identiteit nodig om te verifiëren bij Key Vault zonder inloggegevens.

  1. Ga naar uw Functions-container-app in de Azure-portal.

  2. Onder Instellingen, kies Identiteit.

  3. Stel op het tabblad Door systeem toegewezen de Status in op Aan.

  4. Selecteer Opslaan en selecteer vervolgens Ja om te bevestigen.

Stap 2: Key Vault toegang verlenen

Wijs de rol Key Vault Secrets User toe aan de beheerde identiteit, zodat deze geheimen kan lezen.

  1. Ga naar uw Key Vault in de Azure portal.

  2. Selecteer de optie Access Control (IAM) onder Instellingen.

  3. Selecteer Toevoegen>Roltoewijzing toevoegen.

  4. Selecteer Key Vault Secrets User op het tabblad Rol.

  5. Kies Volgende.

  6. Selecteer op het tabblad Leden, Beheerde identiteit en selecteer vervolgens Leden selecteren.

  7. Selecteer uw abonnement in het deelvenster Beheerde identiteiten selecteren, kies Container App voor het type beheerde identiteit, selecteer uw Functions-container-app en selecteer vervolgens Selecteren.

  8. Selecteer Beoordelen en toewijzen.

Stap 3: Een geheim opslaan in Key Vault

  1. Selecteer in uw Key Vault onder ObjectsSecrets.

  2. Selecteer Genereren/Importeren.

  3. Voer de volgende waarden in:

    Vastgoed Waarde
    Uploadopties Handleiding
    Naam Bijvoorbeeld een geheime naam DatabasePassword.
    Waarde Uw geheime waarde.
  4. Klik op Creëren.

  5. Selecteer het zojuist gemaakte geheim en selecteer vervolgens de huidige versie.

  6. Kopieer de Geheime Identificator URI. Gebruik de versieloze URI (zonder het segment van de volgversie) om automatische rotatie in te schakelen.

Stap 4: Verwijzen naar het Key Vault geheim in Container Apps

Maak een Container Apps-geheim dat verwijst naar het Key Vault geheim en bind het vervolgens aan een omgevingsvariabele.

  1. Ga naar uw Functions-container-app. Selecteer Geheimen onder Instellingen.

  2. Selecteer Toevoegen.

  3. Voer in Geheim toevoegen de volgende waarden in:

    Vastgoed Waarde
    Naam database-password
    Type Key Vault-referentie
    Key Vault geheime URL De URI voor de geheime id die u hebt gekopieerd.
    Identiteit Door het systeem toegewezen identiteit (of uw door de gebruiker toegewezen identiteit).
  4. Selecteer Toevoegen.

  5. Selecteer onder ToepassingRevisies en replica's. Maak een nieuwe revisie met de omgevingsvariabele DATABASE_PASSWORD die verwijst naar het database-password geheim.

Stap 5: De Key Vault-verwijzing controleren

Roep uw functie aan en bevestig dat deze wordt uitgevoerd zonder fouten met betrekking tot ontbrekende configuratie.

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

Automatische geheimrotatie

Wanneer u verwijst naar een Key Vault geheim met een versieloze URI, haalt Container Apps automatisch de nieuwste versie op:

  • Versieloze URI: https://myvault.vault.azure.net/secrets/mysecret - gebruikt altijd de nieuwste versie.
  • Versie-URI: https://myvault.vault.azure.net/secrets/mysecret/ec96f020... - vastgemaakt aan een specifieke versie.

Met versieloze URI's controleert Container Apps binnen 30 minuten op nieuwe versies en start automatisch actieve revisies opnieuw om de nieuwe waarde op te halen.