Dela via


Hantera hemligheter i Azure Container Apps

Azure Container Apps gör att programmet kan lagra känsliga konfigurationsvärden på ett säkert sätt. När hemligheter har definierats på programnivå är skyddade värden tillgängliga för revisioner i dina containerappar. Dessutom kan du referera till skyddade värden i skalningsregler. Information om hur du använder hemligheter med Dapr finns i Dapr-integrering.

  • Hemligheter är begränsade till en applikation, utanför specifika versioner av en applikation.
  • Nya revisioner genereras inte genom att lägga till, ta bort eller ändra hemligheter.
  • Varje programrevision kan referera till en eller flera hemligheter.
  • Flera revisioner kan referera till samma hemligheter.

En uppdaterad eller borttagen hemlighet påverkar inte automatiskt befintliga revisioner i din app. När en hemlighet uppdateras eller tas bort kan du hantera ändringar på något av två sätt:

  1. Distribuera en ny revision.
  2. Starta om en befintlig revision.

Innan du tar bort en hemlighet måste du distribuera en ny revision som inte längre refererar till den gamla hemligheten. Inaktivera sedan alla revisioner som refererar till hemligheten.

Definiera hemligheter

Hemligheter definieras som en uppsättning namn/värde-par. Värdet för varje hemlighet anges direkt eller som en referens till en hemlighet som lagras i Azure Key Vault.

Anmärkning

Undvik att ange värdet för en hemlighet direkt i en produktionsmiljö. Använd i stället en referens till en hemlighet som lagras i Azure Key Vault, enligt beskrivningen i avsnittet Store secret i avsnittet Container Apps.

Lagra hemligt värde i Container Apps

Följande används när du definierar hemligheter via portalen eller via olika kommandoradsalternativ.

  1. Gå till containerappen i Azure-portalen.

  2. Under avsnittet Säkerhet väljer du Hemligheter.

  3. Välj Lägg till.

  4. I fönstret Lägg till hemlig kontext anger du följande information:

    • Namn: Namnet på hemligheten.
    • Typ: Välj Container Apps Secret.
    • Värde: Värdet för hemligheten.
  5. Välj Lägg till.

Referenshemlighet från Key Vault

När du definierar en hemlighet skapar du en referens till en hemlighet som lagras i Azure Key Vault. Container Apps hämtar automatiskt det hemliga värdet från Key Vault och gör det tillgängligt som en hemlighet i containerappen.

Om du vill referera till en hemlighet från Key Vault måste du först aktivera hanterad identitet i containerappen och ge identiteten åtkomst till Key Vault hemligheter.

Information om hur du aktiverar hanterad identitet i containerappen finns i Hanterade identiteter.

Om du vill ge åtkomst till Key Vault hemligheter beviljar du Azure RBAC-rollen Key Vault Secrets User till den hanterade identiteten.

  1. Gå till containerappen i Azure-portalen.

  2. Under avsnittet Säkerhet väljer du Identitet.

  3. På fliken Systemtilldelat anger du Status till .

Anmärkning

Du kan också använda en användartilldelad hanterad identitet som kan återanvändas över flera resurser och bevaras oberoende av appens livscykel. Om du vill använda den väljer du fliken Användartilldelad och väljer en befintlig identitet.

  1. Välj Spara för att aktivera systemtilldelad hanterad identitet.

  2. Ett popup-fönster visas för att bekräfta att du vill aktivera systemtilldelad hanterad identitet och registrera din containerapp med Microsoft Entra ID. Välj Ja.

  3. Under avsnittet Säkerhet väljer du Hemligheter.

  4. Välj Lägg till.

  5. I fönstret Lägg till hemlig kontext anger du följande information:

    • Namn: Namnet på hemligheten.
    • Type: Välj Key Vault-referens.
    • Key Vault hemlig URL: URI:n för din hemlighet i Key Vault. Den här URI:n har följande formulär: https://<YOUR_KEY_VAULT_NAME>.vault.azure.net/secrets/<YOUR_SECRET_NAME>/<32_DIGIT_HEX_ID>
    • Identitet: Välj Systemtilldelad.
  6. Välj Lägg till.

Anmärkning

Om du använder UDR med Azure Firewall måste du lägga till tjänsttaggen AzureKeyVault och login.microsoft.com FQDN i listan över tillåtna för brandväggen. Se konfigurera UDR med Azure Firewall för att bestämma vilka ytterligare tjänsttaggar du behöver.

Key Vault hemlig URI och hemlig rotation

Den Key Vault hemliga URI:n måste ha något av följande format:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: Referera till en specifik version av en hemlighet.
  • https://myvault.vault.azure.net/secrets/mysecret: Referera till den senaste versionen av en hemlighet.

Om en version inte anges i URI:n använder appen den senaste versionen som finns i nyckelvalvet. När nyare versioner blir tillgängliga hämtar appen automatiskt den senaste versionen inom 30 minuter. Alla aktiva revisioner som refererar till hemligheten i en miljövariabel startas automatiskt om för att hämta det nya värdet.

Om du vill ha fullständig kontroll över vilken version av en hemlighet som används anger du versionen i URI:n.

Referera till hemligheter i miljövariabler

När du har deklarerat hemligheter på programnivå enligt beskrivningen i avsnittet definiera hemligheter kan du referera till dem i miljövariabler när du skapar en ny revision i containerappen. När en miljövariabel refererar till en hemlighet fylls dess värde med det värde som definierats i hemligheten.

Exempel

I följande exempel visas ett program som deklarerar en reťazec pripojenia på programnivå. Den här anslutningen refereras i en containermiljövariabel och i en skalningsregel.

När du har definierat en hemlighet i containerappen kan du referera till den i en miljövariabel när du skapar en ny revision.

  1. Gå till containerappen i Azure-portalen.

  2. Under avsnittet Program väljer du Revisioner och repliker.

  3. På sidan Revisioner och repliker väljer du Skapa ny revision.

  4. På sidan Skapa och distribuera ny revision går du till fliken Container under avsnittet Containeravbildning och väljer en container.

  5. Välj Redigera.

  6. I fönstret Redigera en containerkontext väljer du fliken Miljövariabler .

  7. Välj Lägg till.

  8. Ange följande information:

    • Namn: Namnet på miljövariabeln.
    • Källa: Välj Referera till en hemlighet.
    • Värde: Välj den hemlighet som du definierade tidigare.
  9. Välj Spara.

  10. På sidan Skapa och distribuera ny revision väljer du Skapa för att skapa den nya revisionen.

Montera hemligheter i en volym

När du har deklarerat hemligheter på programnivå enligt beskrivningen i avsnittet definiera hemligheter kan du referera till dem i volymmonteringar när du skapar en ny revision i containerappen. När du monterar hemligheter i en volym monteras varje hemlighet som en fil i volymen. Filnamnet är namnet på hemligheten och filinnehållet är värdet för hemligheten. Du kan läsa in alla hemligheter i en volymmontering eller läsa in specifika hemligheter.

Exempel

När du har definierat en hemlighet i containerappen kan du referera till den i en volymmontering när du skapar en ny revision.

  1. Gå till containerappen i Azure-portalen.

  2. Under avsnittet Program väljer du Revisioner och repliker.

  3. På sidan Revisioner och repliker väljer du Skapa ny revision.

  4. På sidan Skapa och distribuera ny revision går du till fliken Container under avsnittet Containeravbildning och väljer en container.

  5. Välj Redigera.

  6. I fönstret Redigera en containerkontext väljer du fliken Volymmonteringar .

  7. Välj Skapa ny volym.

  8. I fönstret Lägg till volymkontext anger du följande information:

    • Volymtyp: Välj Secret.
    • Namn: mysecrets
    • Montera alla hemligheter: aktiverat

    Anmärkning

    Om du vill läsa in specifika hemligheter inaktiverar du Montera alla hemligheter och väljer de hemligheter som du vill läsa in.

  9. Välj Lägg till.

  10. I fönstret Redigera en containerkontext går du till Volymnamn och väljer mysecrets.

  11. Under Monteringssökväg ange /mnt/secrets.

  12. Välj Spara.

  13. På sidan Skapa och distribuera ny revision väljer du Skapa för att skapa den nya revisionen med volymmonteringen.

Felsöka Key Vault-referenser

När du refererar till hemligheter från Azure Key Vault kan det uppstå problem vid hemlig hämtning eller synkronisering. Här är vanliga fel och lösningar:

Error Orsak Lösning
Hanterad identitet är inte aktiverad Containerappen har ingen tilldelad hanterad identitet. Aktivera systemtilldelad eller användartilldelad hanterad identitet i containerappen. Se Hanterade identiteter.
Det går inte att hitta identiteten Den angivna hanterade identiteten finns inte eller är inte tilldelad till containerappen. Kontrollera att identiteten har skapats och tilldelats containerappen i avsnittet Identitet .
Hemligheten har inaktiverats i Key Vault Hemligheten är inaktiverad i den Key Vault resursen. Gå till din Key Vault i Azure-portalen och aktivera hemligheten.
Autentiseringen misslyckades Den hanterade identiteten saknar de behörigheter som krävs för att läsa hemligheten. Ge rollen Key Vault Secrets User till den hanterade identiteten på din Key Vault. Se Key Vault Secrets User.
RBAC-behörighet nekad Den hanterade identiteten har inte tillräcklig behörighet för att komma åt Key Vault. Verifiera RBAC-rolltilldelningen på Key Vault och se till att den innehåller läsbehörigheter för hemligheter.

Nästa steg