본문 바로가기
서버/Azure

[Azure] IIS에 Key Vault 연동 및 TLS 적용

by jamong1014 2026. 2. 24.
반응형
 

자습서: Azure에서 TLS 인증서로 Windows 웹 서버 보호 - Azure Virtual Machines

Azure PowerShell을 사용하여 Azure Key Vault에 저장된 TLS 인증서로 IIS 웹 서버를 실행하는 Windows 가상 머신을 보호하는 방법을 알아봅니다.

learn.microsoft.com

 

 

Windows용 Azure Key Vault VM 확장 - Azure Virtual Machines

가상 머신 확장을 사용하여 가상 머신에서 Azure Key Vault 비밀을 자동으로 새로 고치는 에이전트를 배포하는 방법을 알아봅니다.

learn.microsoft.com

 

사전 준비

  • 개인 도메인 소지
  • A 레코드로 Windows Server IP로 매핑

1. 키 볼트 생성


2. Windows Server VM 구축

* VM 생성 과정에서 '관리 ID'를 활성화해준다.

  • 생성 후에도 활성화 가능

 

기본으로 IIS가 설치되는 것은 아니기에 아래 명령어를 통해 설치해 줘야 한다.

Install-WindowsFeature Web-Server -IncludeManagementTools
  • Powershell(관리자권한)으로 실행

 

iisreset
  • 설치 완료 후 진행

 

  • Sites - Default Web Site - Edit Bindings

 

  • 먼저 HTTP로 연동하고자 하는 Host name을 입력 (인증서 발급할 때 자동으로 호스트 인식하기 위함)
  • HTTPS는 이후에 진행

3. VM에서 Win-ACME로 공인 인증서 발급

 

win-acme

win-acme This is a ACMEv2 client for Windows that aims to be very simple to start with, but powerful enough to grow into almost every scenario. A very simple interface to create and install certificates on a local IIS server A more advanced interface for m

www.win-acme.com

  • 압축 해제 후 wacs.exe 관리자 권한으로 실행
  • 실행 후 M (PFX 저장 위치 직접 선택 가능)
  • 1 (Read bindings from IIS) 선택
  • A = Pick all bindings 선택
  • 계속 진행 Y 선택
  • 4 (Single certificate) 선택
  • 2 (Serve verification files from memory)
  • 2 (RSA key)
  • 3 ( PFX archive )
  • 2 (Type/paste in console)

iis.foolblack.com 인증서 발급 완료

 


5. Azure Key Vault에 발급된 인증서 업로드

  • 인증서 가져오기를 통해 생성된 PFX 파일과 설정한 비밀번호를 입력해 주면 된다.

8. Azure Key Vault에 VM 관리 ID에 대해 권한 부여

  • Key Vault 비밀 사용자 부여
  • Key Vault 읽기 권한자 부여

7. Azure VM의 확장 프로그램 + 애플리케이션 (KeyVaultForWindows 설치)

  • Windows의 KeyVaultForWindows 확장 프로그램을 설치하여 인증서가 새로운 버전으로 갱신될 때마다 적용되게끔 한다.

 

  • KeyVaultForWindows 설치

 

  • 아까 생성한 키 볼트 이름
  • 버전은 그냥 임의로 1.0
  • Settings은 아래 코드를 참조
{
  "secretsManagementSettings": {
    "pollingIntervalInS": "3600",
    "certificateStoreName": "MY",
    "certificateStoreLocation": "LocalMachine",
    "observedCertificates": [
      "https://jhjung-key2.vault.azure.net/secrets/jhjung-pfx"
    ]
  }
}
  • 3600초마다 갱신 여부 검사
  • jhjung-key2.vault.azure.net/secrets/jhjung-pfx의 jhjung-key2는 키 볼트 이름, jhjung-pfx는 인증서 이름

 

이렇게 확장 프로그램이 설치가 된다.

 


8. IIS에서 HTTPS Host name 등록

  • SSL certificate로 등록된 키 볼트 SSL 인증서를 선택하면 된다. 

결과

  • 접속 성공
반응형