Zarządzanie sekretami dla Azure Functions w Azure Container Apps

Po uruchomieniu funkcji Azure na platformie Azure Container Apps, pracujesz z dwiema kategoriami tajemnic:

Category Opis Używane przez
Sekrety na poziomie aplikacji Wartości konfiguracji odczytywane przez kod funkcji podczas wykonywania, takie jak ciągi połączenia z bazą danych, klucze API i poświadczenia wyzwalacza/powiązania. Twój kod i powiązania środowiska uruchomieniowego usługi Functions.
Klucze dostępu do funkcji Tokeny uwierzytelniania (klucze dostępu), które zabezpieczają punkty końcowe funkcji wyzwalane przez protokół HTTP, w tym główne, hosta, funkcji i kluczy systemowych. Zewnętrzne osoby wywołujące funkcje HTTP (usługi, elementy webhook, deweloperzy).

Te dwie kategorie różnią się w zależności od kierunku:

Sekrety na poziomie aplikacji Klucze dostępu do funkcji
Kierunek Ruch wychodzący — funkcja uwierzytelnia się do innych usług Przychodzące — dzwoniący uwierzytelniają się przy użyciu funkcji
Kto posiada tajemnicę Twoja aplikacja funkcji Podmiot wywołujący (dostawca webhook, usługa, deweloper)
Co chroni Z czym łączy się Twoja funkcja Kto może wywołać punkt końcowy HTTP
Zweryfikowane przez Usługa docelowa Środowisko uruchomieniowe usługi Functions

Sekrety na poziomie aplikacji

Wpisy tajne na poziomie aplikacji to poświadczenia kodu funkcji i powiązania, które muszą łączyć się z usługami zewnętrznymi. Można je przechowywać na dwa sposoby:

Option Najlepsze dla Rotacja Kontrola Przewodnik
Sekrety Container Apps Dev/testowanie, proste obciążenia dla jednej aplikacji Podręcznik Tylko dzienniki aktywności Przechowywanie tajemnic na poziomie aplikacji
odniesienia do Key Vault Produkcja, wiele aplikacji, zgodność Automatyczny (niewersjonowany identyfikator URI) Pełna diagnostyka usługi Key Vault Przechowywanie tajemnic na poziomie aplikacji

Wskazówka

Zacznij od tajnych danych Container Apps dla uproszczenia. Przejdź do Key Vault odwołań, gdy potrzebujesz scentralizowanego zarządzania, automatycznej rotacji lub inspekcji klasy zgodności.

Klucze dostępu do funkcji

Klucze dostępu służą do lekkiego uwierzytelniania wspólnego sekretu dla interfejsów API HTTP. Użyj kluczy access gdy osoby wywołujące nie mogą prezentować tokenów Microsoft Entra ID, takich jak elementy webhook innych firm, wywołania typu service-to-service lub podczas opracowywania.

Ustaw zmienną AzureWebJobsSecretStorageType środowiskową, aby wybrać backend pamięci masowej:

Zaplecze Wartość ustawienia Najlepsze dla Przewodnik
Repozytorium sekretów Container Apps containerapps Większość obciążeń — brak zależności zewnętrznych (zalecane) Konfigurowanie kluczy hosta
Azure Key Vault keyvault Scentralizowany nadzór, inspekcja zgodności Konfigurowanie kluczy hosta
Azure Blob Storage blob Starsze aplikacje lub istniejąca AzureWebJobsStorage zależność Konfigurowanie kluczy hosta
Lokalny system plików files Niezalecane dla aplikacji Container Apps — zobacz ostrzeżenie N/A

Pamiętaj o następujących kwestiach backendu:

  • Runtime nie wybiera automatycznie tajnego przechowywania Container Apps. Jeśli nie ustawisz AzureWebJobsSecretStorageType lub nie ustawisz wartości nierozpoznanej, host Functions korzysta z Blob Storage, gdy AzureWebJobsStorage jest dostępny.
  • Zostaw AzureWebJobsStorage skonfigurowany do kontroli stanu pamięci i funkcji zależnych od pamięci.
  • Nie ustawiaj AzureWebJobsSecretStorageType na files. System plików Container Apps jest ulotny, więc klucze przechowywane w tym backendzie tracą, gdy aplikacja skaluje się do zera, uruchamia się ponownie lub wdraża nową wersję.

Następne kroki

Wybierz przewodnik, który odpowiada typowi sekretu, którym chcesz zarządzać: