2017-12-12 14 views
0

Visual Studio Team Services에서 Azure App Service Deploy (ASP.NET 코어 2.0 웹 API)를 수행하고 appsettings.json의 일부 값을 바꿀 때 읽어야합니다. https://docs.microsoft.com/en-us/vsts/build-release/tasks/transforms-variable-substitution#jsonvarsubs이지만 파일의 중첩 된 레벨에서 값을 마침표 (.)로 연결하여 값을 대체하는 것에 대해 설명합니다.Azure Key Vault에서 비밀 번호로 VSTS JSON 변수 대체

Azure Key Vault에서 마침표 (.)를 사용할 수 없다는 문제점이 있습니다.

Azure Key Vault의 비밀을 사용하여 appsettings.json 파일에서 중첩 된 레벨로 변수를 대체하는 방법을 아는 사람이 있습니까?

+1

나는 keyvault에서 appsettings를 설정하기 위해 ARM 템플릿을 사용했습니다. 웹 응용 프로그램을 제공하고 keyvault에서 값을 읽고 appsettings 설정에 값을 사용하는 ARM 템플릿을 만듭니다. .parameters.json 파일을 통해 keyvault에서 파일을 읽거나 중첩 된 템플릿을 사용할 수 있습니다. 이 방법으로 마침표 (.)를 계속 사용할 수 있습니다. appsettings에서 keyvault에서 다른 키 이름을 사용합니다. –

+0

@ClemensReijnen 감사합니다, 당신은 올바른 방향으로 나를 조종했습니다, 제 대답을보십시오. – Erwin

답변

0

나는 Azure Key Vault에서 'ConnectionStrings - Database'를 비밀 키로 사용했다.

그런 다음 Azure Key Vault에 연결된 VSTS (https://docs.microsoft.com/en-us/vsts/build-release/concepts/library/variable-groups)에 '변수 그룹'을 추가하십시오.

그리고 '$ (ConnectionStrings - Database)'값을 가진 ConnectionStrings.Database라는 '프로세스 변수'를 추가하십시오.

그런 식으로 '프로세스 변수'의 값을 Azure Key Vault의 값으로 바꾸고 appsettings.json에서 'Process Variable'의 이름을 바꿉니다.

+0

'.'을 대체하기 위해'--'를 사용해야 올바른 것입니다. 또한 주요 볼트 비밀 만들기 및 구성 값로드 (기본 샘플) 문서에서 찾을 수 있습니다. https://docs.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?tabs=aspnetcore2x # creation-key-vault-secrets-and-loading-configuration-values-basic-sample :'계층 적 값 (구성 섹션)은 분리 기호로 - (두 개의 대시)를 사용합니다. –

+0

@ MarinaLiu-MSFT, Azure Vault를 키와 함께 사용하면 내 appsettings.json의 값이 대체되지 않습니다. appsettings.json의 구조는 { "ConnectionStrings": { "Database": "databaseconnectionstring"} – Erwin

+0

Azure App Service Deploy 태스크의 빌드 로그는 무엇입니까? –

0

[의견에서 답변으로 이동] 저는 keyvault에서 appsettings를 설정하기 위해 ARM 템플릿을 사용했습니다. 웹 응용 프로그램을 제공하고 keyvault에서 값을 읽고 appsettings 설정에 값을 사용하는 ARM 템플릿을 만듭니다. .parameters.json 파일을 통해 keyvault에서 파일을 읽거나 중첩 된 템플릿을 사용할 수 있습니다. 이 방법으로 마침표 (.)를 계속 사용할 수 있습니다. appsettings에서 keyvault에서 다른 키 이름을 사용합니다.