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으로 확장 또는 수정 배포할 때마다 손실됩니다.
다음 단계
관리해야 하는 비밀 유형과 일치하는 가이드를 선택합니다.