Visual Studio 연결된 서비스를 사용하여 웹 애플리케이션에 Key Vault 추가
이 자습서에서는 ASP.NET Core 또는 모든 유형의 ASP.NET 프로젝트를 사용하든 관계없이 Azure Key Vault를 사용하여 Visual Studio에서 웹 프로젝트에 대한 비밀을 관리하는 데 필요한 모든 항목을 쉽게 추가하는 방법을 알아봅니다. Visual Studio에서 연결된 서비스 기능을 사용하면 Visual Studio에서 Azure의 Key Vault에 연결하는 데 필요한 모든 NuGet 패키지 및 구성 설정을 자동으로 추가할 수 있습니다.
필수 구성 요소
- Azure 계정. Azure 계정이 없는 경우 Visual Studio 구독자가 Azure 혜택을 활성화하거나 평가판 등록할있습니다.
- Visual Studio 2019 버전 16.3 이상을 다운로드할 수있습니다.
프로젝트에 Key Vault 지원 추가
시작하기 전에 Visual Studio에 로그인했는지 확인합니다. Azure 구독에 사용하는 것과 동일한 계정으로 로그인합니다. 그런 다음 ASP.NET 4.7.1 이상 또는 ASP.NET Core 웹 프로젝트를 열고 다음 단계를 수행합니다. 표시된 단계는 Visual Studio 2022 버전 17.4용입니다. 다른 버전의 Visual Studio에서는 흐름이 약간 다를 수 있습니다.
솔루션 탐색기Key Vault 지원을 추가할 프로젝트를 마우스 오른쪽 단추로 클릭하고 >연결된 서비스추가를 선택하거나 연결된 서비스 노드를 마우스 오른쪽 단추로 클릭하고 추가를 선택합니다.
연결된 서비스 노드가 표시되지 않으면 Project>연결된 서비스>에서추가를 선택합니다.
서비스 종속성에서 + 아이콘을 선택합니다. 연결된 서비스 페이지가 프로젝트에 추가할 수 있는 서비스와 함께 표시됩니다.
사용 가능한 서비스 메뉴에서 Azure Key Vault 선택하고 다음클릭합니다.
Azure Key Vault를 선택하는 옵션이 있는 연결된 서비스 화면을 보여 주는
사용하려는 구독을 선택한 다음, 사용할 키 자격 증명 모음이 이미 있는 경우 해당 구독을 선택하고 다음클릭합니다.
구독 선택을 보여 주는
기존 Key Vault가 없거나 기존 Key Vault와 다른 권한으로 설정할 수 있는 Key Vault가 필요한 경우, 새 Key Vault 만들기를 클릭하십시오. 리소스 그룹, 위치 및 SKU를 제공하라는 메시지가 표시됩니다.
Key Vault 구성 화면에서 Key Vault URI를 참조하는 환경 변수의 이름을 변경할 수 있습니다. 연결 문자열은 여기에 저장되지 않습니다. Key Vault에 저장됩니다.
azure Key Vault에 연결 화면의
메모
보안을 강화하기 위해 Visual Studio 17.12 이상에서 이 단계에서는 연결 설정 이름을 만듭니다. 이전 버전에서는 연결 문자열을 만듭니다. 로컬에 저장된 연결 문자열은 실수로 노출되는 경우 보안 위험을 초래할 수 있습니다.
변경 내용 요약이 표시될 때까지 "다음"을 클릭하고, 그런 다음 "마침"을클릭하십시오.
시작하기 전에 Visual Studio에 로그인했는지 확인합니다. Azure 구독에 사용하는 것과 동일한 계정으로 로그인합니다. 그런 다음 ASP.NET 4.7.1 이상 또는 ASP.NET Core 웹 프로젝트를 열고 다음 단계를 수행합니다.
솔루션 탐색기Key Vault 지원을 추가할 프로젝트를 마우스 오른쪽 단추로 클릭하고 >연결된 서비스추가를 선택하거나 연결된 서비스 노드를 마우스 오른쪽 단추로 클릭하고 추가를 선택합니다.
연결된 서비스 노드가 표시되지 않으면 Project>연결된 서비스>추가를 선택합니다.
서비스 종속성에서 + 아이콘을 선택합니다. 연결된 서비스 페이지가 프로젝트에 추가할 수 있는 서비스와 함께 표시됩니다.
사용 가능한 서비스 메뉴에서 Azure Key Vault 선택하고 다음클릭합니다.
연결된 서비스 화면과 Azure Key Vault를 선택하는 옵션을 보여 주는
사용하려는 구독을 선택한 다음, 사용할 키 자격 증명 모음이 이미 있는 경우 해당 구독을 선택하고 다음클릭합니다.
구독 선택을 보여 주는
기존 Key Vault가 없는 경우, 새 Key Vault을 클릭하여 만드세요. 리소스 그룹, 위치 및 SKU를 제공하라는 메시지가 표시됩니다.
Key Vault 구성 화면에서 Key Vault URI를 참조하는 환경 변수의 이름을 변경할 수 있습니다. 연결 문자열은 여기에 저장되지 않으며, 키 볼트에 저장됩니다.
azure Key Vault에 연결 화면의
다음을 클릭하여 변경 내용 요약을 검토한 다음, 마침을 클릭하세요.
이제 Key Vault에 대한 연결이 설정되고 코드에서 시크릿에 액세스할 수 있습니다. 새 키 볼트를 방금 만들었다면, 코드에서 참조할 수 있는 비밀을 만들어 테스트하십시오. Azure Portal, PowerShell또는 Azure CLI사용하여 비밀을 만들 수 있습니다.
.NET용 Azure Key Vault 비밀 클라이언트 라이브러리에서 비밀을 다루는 코드 예제를 에서 참조하세요. 코드 예제는에 있습니다.
키 볼트에 대한 액세스 구성
Visual Studio 2022 버전 17.11 이전 버전에서 이 자습서를 진행한 경우 Key Vault 권한은 사용자 고유의 Azure 구독으로 실행되도록 설정되지만 프로덕션 시나리오에는 바람직하지 않을 수 있습니다. 관리 ID를 만들어 앱에 대한 Key Vault 액세스를 관리할 수 있습니다. Key Vault 인증하고 Key Vault 액세스 정책 할당하는 방법을 참조하세요.
키 자격 증명 모음이 Visual Studio에 로그인한 계정과 다른 Microsoft 계정에서 실행되는 경우(예: 키 자격 증명 모음이 회사 계정에서 실행 중이지만 Visual Studio가 개인 계정을 사용하고 있음) Program.cs 파일에서 Visual Studio가 키 자격 증명 모음에 액세스할 수 없다는 오류가 발생합니다. 이 문제를 해결하려면 Azure Portal이동하여 키 자격 증명 모음을 열고 액세스 제어(IAM) 선택하여 권한을 설정합니다. Azure RBAC(역할 기반 액세스 제어)사용하여 Key Vault 키, 인증서 및 비밀에 대한 액세스 제공을 참조하세요.
메모
이전 키 볼트는 레거시 접근 정책 모델을 사용할 수 있습니다. 이전 키 자격 증명 모음을 Azure RBAC를 사용하도록 마이그레이션하는 것이 좋습니다. Azure 역할 기반 액세스 제어(RBAC) vs. 액세스 정책을 참조하세요.
다음 단계
Key Vault 개발자 가이드참조하여 Key Vault 개발에 대해 자세히 알아보세요.
Azure Key Vault에 ASP.NET Core 앱에 대한 구성을 저장하는 것이 목표인 경우 ASP.NET Core Azure Key Vault 구성 공급자를참조하세요.