Azure Container Apps에서 Azure Functions 비밀 관리

Azure Container Apps에서 Azure Functions를 실행할 때 두 가지 범주의 비밀을 사용합니다.

카테고리 설명 사용한
앱 수준 비밀 구성 값은 데이터베이스 연결 문자열, API 키 및 트리거/바인딩 자격 증명과 같이 런타임 시 함수 코드가 읽는 값입니다. 코드 및 함수 런타임 바인딩.
함수 액세스 키 마스터, 호스트, 함수 및 시스템 키를 포함하여 HTTP 트리거 함수 엔드포인트를 보호하는 인증 토큰(액세스 키)입니다. HTTP 함수(서비스, 웹후크, 개발자)의 외부 호출자입니다.

이러한 두 범주는 방향이 다릅니다.

앱 수준 비밀 함수 액세스 키
방향 아웃바운드 - 함수가 다른 서비스에 인증합니다 인바운드 - 호출자가 함수에 인증합니다
비밀을 보유하는 사람 귀하의 함수 앱 호출자(웹후크 공급자, 서비스, 개발자)
보호되는 항목 함수가 연결하는 내용 HTTP 엔드포인트를 호출할 수 있는 사용자
검증 주체 대상 서비스 함수 런타임

앱 수준 비밀

앱 수준 비밀은 함수 코드 및 바인딩이 외부 서비스에 연결하는 데 필요한 자격 증명입니다. 다음 두 가지 방법으로 저장할 수 있습니다.

Option 적합한 대상 회전 감사/검토 가이드
Container Apps 시크릿 개발/테스트, 간단한 단일 앱 워크로드 설명서 활동 로그만 앱 수준 비밀 저장
Key Vault 참조 프로덕션, 다중 앱, 규정 준수 자동(버전 없는 URI) 전체 키 자격 증명 모음 진단 앱 수준 비밀 저장

팁 (조언)

간단한 설명을 위해 Container Apps 비밀로 시작합니다. 중앙 집중식 관리, 자동 순환 또는 규정 준수 수준의 감사가 필요한 경우 Key Vault 참조로 전환합니다.

함수 액세스 키

액세스 키는 HTTP 엔드포인트에 대한 간단한 공유 비밀 인증을 제공합니다. 호출자가 타사 웹후크, 서비스 간 호출 또는 개발 중에 Microsoft Entra ID 토큰을 표시할 수 없는 경우 access 키를 사용합니다.

환경 변수를 AzureWebJobsSecretStorageType 설정하여 스토리지 백 엔드를 선택합니다.

백엔드 설정값 적합한 대상 가이드
Container Apps 비밀 저장소 containerapp 대부분의 워크로드 - 외부 종속성 없음(권장) 호스트 키 구성
Azure Key Vault keyvault 중앙 집중식 거버넌스, 규정 준수 감사 호스트 키 구성
Azure Blob Storage blob 레거시 앱 또는 기존 AzureWebJobsStorage 종속성 호스트 키 구성
로컬 파일 시스템 files Container Apps에서 권장되지 않음 - 경고 참조 적용되지 않음 (N/A)

메모

Azure Container Apps의 Functions에서는 AzureWebJobsSecretStorageType이 명시적으로 설정되지 않은 경우 플랫폼은 기본값으로 containerapp(Container Apps 비밀 저장소)를 사용합니다. 즉, 액세스 키는 기본적으로 Container Apps 플랫폼의 네이티브 비밀 저장소에서 관리됩니다. 워크로드에 다른 백 엔드가 필요한지 설정하여 AzureWebJobsSecretStorageTypekeyvaultblob 이 기본값을 재정의할 수 있습니다.

Warning

AzureWebJobsSecretStorageType을/를 files로 설정하지 마세요. Azure Container Apps 파일 시스템은 휘발성입니다. 백 엔드와 함께 files 저장된 호스트 키는 다시 시작, 0으로 확장 또는 수정 배포할 때마다 손실됩니다.

다음 단계

관리해야 하는 비밀 유형과 일치하는 가이드를 선택합니다.