2017-04-26 1 views
3

우리는 다양한 Azure Web Apps를 구축하고 다른 환경에 배치하기 위해 VSTS를 사용하고 있습니다. 릴리스 프로세스 중에 VSTS에 저장된 변수를 사용하여 환경별로 연결 문자열과 같은 항목을 사용하여 Web.config 파일에 대한 변환을 수행합니다.Azure 포털에 노출되지 않고 VSTS로 Azure 기능 앱 설정하기

우리는 Azure 함수로 비슷한 일을하고 싶지만 문제가 있습니다. appsettings.json 파일에 대한 변환 수행이 작동하지 않음을 발견했습니다. 추가 된 새 키/값 쌍이 Azure에서 작동하지 않고 기존 키/값 쌍의 변경 사항이 Azure에로드되지 않습니다.

수많은 문서를 살펴본 결과, Azure 기능을위한 앱 설정은 Azure Portal을 사용하여 저장해야하며, 출시 과정에서 PowerShell 스크립트를 사용하여 설정해야한다는 내용의 문서 만 있습니다. 그러나 이러한 솔루션은 Azure Portal에 대한 액세스 권한이있는 사용자에게 연결 문자열 및 기타 비밀을 노출합니다.

Azure 포털에 노출하지 않고 AzureWebJobsStorage 및 AzureWebJobsDashboard 값과 같은 Azure 기능에 앱 설정을 제공하려면 어떻게해야합니까?

답변

5

그러나 이러한 솔루션은 우리가 원하는 것이 아닌 Azure Portal에 대한 액세스 권한이있는 모든 사용자에게 연결 문자열 및 기타 비밀을 노출합니다.

올바른 가정은 아닙니다. 해당 기능 앱의 제공자 또는 관리자 인 사용자 만 앱 설정을 볼 수 있습니다. 또한 동일한 사용자가 배포 된 모든 파일을 볼 수 있으므로 배포 된 파일에 비밀이 있으면 균등하게 볼 수 있습니다.

이상 설정 파일에 비밀을 가진 앱을 사용의 이점은 다음과 같습니다

  • 앱 설정의 비밀과 당신은 실수없이 배치 파일을 다운로드하여 비밀을 누설 할 가능성이 줄어 듭니다 나머지
  • 에서 암호화 그들이 비밀을 가지고 있음을 깨닫는다.
+0

대단히 감사합니다. 매우 통찰력이 있습니다! 저는 팀원들에게 파일의 비밀 대신 앱 설정을 사용해야한다고 생각합니다. 참고로 Azure 함수 앱을위한 파일 내에 비밀 정보를 배포하는 방법이 있습니까? 아니면 앱 설정을 통과해야합니까? 그렇다면 어떻게? 가능한 모든 솔루션을 고려해야합니다. 감사! –

+0

@DavidOmid 다른 사람들과 확인한 결과, function.json의 비밀을 하드 코딩 할 수 없습니다. Azure App Settings (또는 일반적으로 환경 변수)에서만 지원됩니다. 'appsettings.json'에 관해서는, 이것은 클라이언트 측 개발에 사용되는 비밀만을 보유한다는 것에주의하십시오. 이 파일 자체는 Azure에서 사용되지 않습니다. –

+0

대단히 고마워요. 저에게 이걸 확인해 주셔서 고마워요.이 정보를 내 팀에 다시 전달하겠습니다. 일반적인 우려는 이것이 우리의 앱 설정이 우리의 다른 Azure 앱을위한 배치에서 다루어지는 방식과 일치하지 않는다는 것입니다. . 우리는 .NET에 매우 익숙하지만 Azure 기능은 새로운 것이므로 아직 배우고 있습니다. 양해 해 주셔서 감사합니다. –

관련 문제