이 빠른 시작에서는 PowerShell을 사용하여 Azure Key Vault 관리형 HSM(하드웨어 보안 모듈)을 만들고 활성화합니다. 관리형 HSM은 FIPS 140-3 수준 3 유효성이 검사된 HSM을 사용하여 클라우드 애플리케이션에 대한 암호화 키를 보호할 수 있는 완전 관리형 고가용성 단일 테넌트 표준 규격 클라우드 서비스입니다. 관리형 HSM에 대한 자세한 내용은 개요를 검토 하세요.
필수 조건
Azure 구독이 없는 경우 시작하기 전에 free 계정 만듭니다.
- 로컬로 Azure PowerShell 사용하도록 선택한 경우:
- 최신 버전의 Az PowerShell 모듈을 설치합니다.
- Connect-AzAccount cmdlet을 사용하여 Azure 계정에 연결합니다.
- Azure Cloud Shell 사용하도록 선택한 경우:
- 자세한 내용은 Azure Cloud Shell를 참조하세요.
리소스 그룹 만들기
리소스 그룹은 Azure 리소스가 배포되고 관리되는 논리적 컨테이너입니다. Azure PowerShell New-AzResourceGroup cmdlet을 사용하여 eastus 위치에 myResourceGroup이라는 리소스 그룹을 만듭니다.
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
사용자 보안 주체 ID 받기
관리형 HSM을 만들려면 Microsoft Entra 주체 ID가 필요합니다. ID를 가져오려면 Azure PowerShell Get-AzADUser cmdlet을 사용하고 이메일 주소를 UserPrincipalName 매개 변수에 전달합니다.
Get-AzADUser -UserPrincipalName "<user-principal-name>"
주요 ID는 "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 형식으로 반환됩니다.
관리형 HSM 만들기
관리형 HSM 만들기는 2단계 프로세스입니다.
- 관리형 HSM 리소스를 프로비저닝합니다.
- 보안 도메인이라는 아티팩트를 다운로드하여 관리형 HSM을 활성화합니다.
관리형 HSM 설정
Azure PowerShell New-AzKeyVaultManagedHsm cmdlet을 사용하여 새 관리형 HSM을 만듭니다. 다음 정보를 제공합니다.
관리형 HSM 이름: 숫자(0-9), 문자(a-z, A-Z) 및 하이픈(-)만 포함할 수 있는 3~24자의 문자열입니다.
중요
각 관리형 HSM에는 고유한 이름이 있어야 합니다. 다음 예제에서
<hsm-name>을(를) 고유한 관리형 HSM 이름으로 바꿉니다.리소스 그룹 이름: myResourceGroup
위치: EastUS (또는 선택한 위치).
당신의 보안 주체 ID: 마지막 섹션에서 얻은 Microsoft Entra 보안 주체 ID를 "Administrator" 매개 변수로 전달하십시오.
New-AzKeyVaultManagedHsm -Name "<hsm-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS" -Administrator "<principal-id>" -SoftDeleteRetentionInDays "<retention-days>"
참고
create 명령은 몇 분 정도 걸릴 수 있습니다. 성공적으로 반환되면 HSM을 활성화할 준비가 된 것입니다.
경고
관리형 HSM 인스턴스는 항상 사용됩니다. 플래그를 사용하여 --enable-purge-protection 제거 보호를 사용하도록 설정하면 전체 보존 기간에 대한 비용을 지불합니다.
이 cmdlet의 출력은 새로 만든 관리형 HSM의 속성을 보여줍니다. 다음 두 가지 속성에 유의합니다.
- 이름: 관리형 HSM에 대해 제공한 이름입니다.
-
HsmUri: HSM에 대한 URI(예:
https://<hsm-name>.managedhsm.azure.net/)입니다. REST API를 통해 사용자 자격 증명 모음을 사용하는 애플리케이션은 URI를 사용해야 합니다.
이 시점에서 Azure 계정은 이 새 HSM에서 작업을 수행할 권한이 있는 유일한 계정입니다.
관리형 HSM 활성화
HSM을 활성화할 때까지 모든 데이터 평면 명령을 사용할 수 없습니다. 키를 만들거나 역할을 할당할 수 없습니다. create 명령 중에 할당한 지정된 관리자만 HSM을 활성화할 수 있습니다. HSM을 활성화하려면 보안 도메인을 다운로드해야 합니다.
HSM을 활성화하려면 다음이 필요합니다.
- 최소 3개의 RSA 키 쌍(최대 10개)
- 보안 도메인의 암호를 해독하는 데 필요한 최소 키 수( 쿼럼이라고 함)
최소 3개(최대 10개) RSA 공개 키를 HSM에 보냅니다. HSM은 이러한 키를 사용하여 보안 도메인을 암호화하고 다시 보냅니다. 보안 도메인 다운로드가 성공적으로 완료되면 HSM을 사용할 준비가 됩니다. 또한 보안 도메인의 암호를 해독하는 데 필요한 최소 개인 키 수인 쿼럼을 지정해야 합니다.
다음 예제에서는 3개의 자체 서명된 인증서를 생성하는 데 사용하는 openssl 방법을 보여 줍니다.
openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer
인증서 만료 날짜는 보안 도메인 작업에 영향을 주지 않습니다. "만료된" 인증서도 보안 도메인을 복원하는 데 계속 사용할 수 있습니다.
중요
이러한 RSA 프라이빗 키는 관리형 HSM에 대한 신뢰의 루트입니다. 프로덕션 환경의 경우 공극 시스템 또는 온-프레미스 HSM을 사용하여 이러한 키를 생성하고 안전하게 저장합니다. 자세한 지침 은 보안 도메인 모범 사례를 참조하세요.
팁 (조언)
openSSL for Windows OpenSSL 웹 사이트에서 사용할 수 있습니다.
Azure PowerShell Export-AzKeyVaultSecurityDomain cmdlet을 사용하여 보안 도메인을 다운로드하고 관리형 HSM을 활성화합니다. 다음 예제에서는 3개의 RSA 키 쌍을 사용하고(이 명령에는 공개 키만 필요함) 쿼럼을 2로 설정합니다.
Export-AzKeyVaultSecurityDomain -Name "<hsm-name>" -Certificates "cert_0.cer", "cert_1.cer", "cert_2.cer" -OutputPath "<hsm-name>-SD.json" -Quorum 2
보안 도메인 파일 및 RSA 키 쌍을 안전하게 저장합니다. 두 사용자가 키를 공유할 수 있도록 재해 복구 또는 동일한 보안 도메인을 공유하는 다른 관리형 HSM을 만드는 데 필요합니다.
보안 도메인을 성공적으로 다운로드한 후 HSM이 활성 상태이며 사용할 준비가 된 것입니다.
리소스 정리
이 컬렉션의 다른 빠른 시작과 자습서는 이 빠른 시작을 기반으로 하여 작성됩니다. 다른 빠른 시작 및 자습서를 계속 진행하려는 경우 이러한 리소스를 유지하는 것이 좋습니다.
더 이상 필요하지 않은 경우 Azure PowerShell Remove-AzResourceGroup cmdlet을 사용하여 리소스 그룹 및 모든 관련 리소스를 제거할 수 있습니다.
Remove-AzResourceGroup -Name "myResourceGroup"
경고
리소스 그룹을 삭제하면 관리형 HSM이 일시 삭제된 상태로 전환됩니다. 관리형 HSM은 제거될 때까지 계속 청구됩니다. 관리형 HSM 일시 삭제. 및 제거 보호 참조
다음 단계
이 빠른 시작에서는 관리형 HSM을 만들고 활성화했습니다. 관리형 HSM에 대한 자세한 내용 및 이를 애플리케이션과 통합하는 방법을 알아보려면 다음 문서를 계속 진행하세요.
- 관리형 HSM 배포 보안을 검토합니다.
- 관리형 HSM 개요를 읽어보십시오.
- Azure PowerShell Key Vault cmdlet 대한 참조를 참조하세요.