관리형 HSM에 대한 개요는 관리형 HSM이란?을 참조하세요.
필수 조건
Azure 구독이 필요합니다. 계정이 없으면 시작하기 전에 무료 계정을 만드세요.
또한 다음이 필요합니다.
비고
다음 명령은 모두 CLI에 대한 두 가지 사용 방법을 보여 줍니다. 한 메서드는 --hsm-name 및 --name (키 이름) 매개 변수를 사용합니다. 다른 메서드는 매개 변수를 --id 사용하며, 적절한 경우 키 이름을 포함하여 전체 URL을 지정할 수 있습니다. 후자의 방법은 호출자(사용자 또는 애플리케이션)에게 컨트롤 플레인에 대한 읽기 액세스 권한이 없고 데이터 평면에 대한 제한된 액세스 권한만 있는 경우에 유용합니다.
키 자료와의 일부 상호 작용에는 특정 관리형 HSM 로컬 RBAC 권한이 필요합니다. 기본 제공 관리형 HSM 로컬 RBAC 역할 및 권한의 전체 목록은 관리형 HSM 로컬 RBAC 기본 제공 역할을 참조하세요. 사용자에게 이러한 권한을 할당하려면 관리되는 HSM에 대한 보안 액세스를 참조하세요.
HSM 키 만들기
비고
생성되거나 관리되는 HSM으로 가져온 키를 내보낼 수 없습니다. 내보내기 없음 규칙의 유일한 예외는 특정 키 릴리스 정책을 사용하여 키를 만드는 경우입니다. 이 정책을 사용하면 명시적으로 정의한 신뢰할 수 있는 기밀 컴퓨팅 환경(보안 Enclave)으로만 키를 내보낼 수 있습니다. 이 제한된 내보내기 기능은 특정 보안 컴퓨팅 시나리오를 위해 설계되었으며 범용 키 내보내기와 동일하지 않습니다. 주요 이식성 및 내구성에 대한 권장 모범 사례는 연결된 문서를 참조하세요.
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택합니다.
생성/가져오기/복원 백업 드롭다운에서 생성/가져오기를 선택합니다.
키 유형(RSA-HSM, EC-HSM 또는 oct-HSM)을 선택하고 키 크기 또는 곡선, 이름 및 허용된 작업을 설정한 다음 만들기를 선택합니다.
관리형 HSM에 대한 Azure 포털의 Keys blade 스크린샷.
az keyvault key create 명령을 사용하여 키를 만듭니다.
RSA 키 만들기
이 예제에서는 wrapKey 및 unwrapKey 작업()에만 사용되는 3072비트 --ops 키를 만드는 방법을 보여 줍니다.
az keyvault key create --hsm-name <hsm-name> --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
## OR
# Note the key name (myrsakey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
이 get 작업은 공개 키 및 키 특성만 반환합니다. 프라이빗 키(비대칭 키인 경우) 또는 키 자료(대칭 키인 경우)를 반환하지 않습니다.
EC 키 만들기
다음 예제에서는 P-256 곡선을 사용하여 EC 키를 만드는 방법을 보여줍니다. 키는 서명 및 확인 작업(--ops)만을 위한 것이며 사용량 및 앱 이름이라는 두 개의 태그가 있습니다. 태그를 사용하여 추적 및 관리를 위해 키에 추가 메타데이터를 추가합니다.
az keyvault key create --hsm-name <hsm-name> --name myec256key --ops sign verify --tags 'usage=signing' 'appname=myapp' --kty EC-HSM --curve P-256
## OR
# Note the key name (myec256key) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myec256key --ops sign verify --tags 'usage=signing' 'appname=myapp' --kty EC-HSM --curve P-256
256비트 대칭 키 만들기
이 예제에서는 암호화 및 암호 해독 작업(--ops)에만 적용되는 256비트 대칭 키를 만드는 방법을 보여 줍니다.
az keyvault key create --hsm-name <hsm-name> --name myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
Add-AzKeyVaultKey cmdlet을 사용하여 키를 생성합니다.
RSA 키 만들기
이 예제에서는 wrapKey 및 unwrapKey 작업에만 사용되는 3072비트 RSA 키를 만드는 방법을 보여 줍니다.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyType RSA-HSM -Size 3072 -KeyOps wrapKey,unwrapKey
EC 키 만들기
이 예제에서는 서명 및 확인 작업을 위해 P-256 곡선을 사용하여 EC 키를 만드는 방법을 보여 줍니다.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myec256key -KeyType EC-HSM -CurveName P-256 -KeyOps sign,verify -Tag @{usage='signing'; appname='myapp'}
256비트 대칭 키 만들기
이 예제에서는 암호화 및 암호 해독 작업을 위한 256비트 대칭 키를 만드는 방법을 보여 줍니다.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myaeskey -KeyType oct-HSM -Size 256 -KeyOps encrypt,decrypt -Tag @{usage='encryption'; appname='myapp'}
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택합니다.
보려는 키를 선택합니다. 포털에는 키의 특성, 버전 및 태그가 표시됩니다.
명령을 사용하여 키의 az keyvault key show 특성, 버전 및 태그를 볼 수 있습니다.
az keyvault key show --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
cmdlet을 사용하여 키의 Get-AzKeyVaultKey 특성, 버전 및 태그를 볼 수 있습니다.
Get-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
키 목록
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택합니다. 포털은 관리형 HSM의 모든 키를 나열합니다.
이 az keyvault key list 명령을 사용하여 관리되는 HSM 내의 모든 키를 나열합니다.
az keyvault key list --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list --id https://<hsm-name>.managedhsm.azure.net/
cmdlet을 Get-AzKeyVaultKey 사용하여 관리형 HSM의 모든 키를 나열합니다.
Get-AzKeyVaultKey -HsmName <hsm-name>
키 삭제
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택합니다.
삭제할 키를 선택합니다.
삭제를 선택한 다음 확인합니다.
이 az keyvault key delete 명령을 사용하여 관리되는 HSM에서 키를 삭제합니다. 일시 삭제는 항상 켜집니다. 따라서 삭제된 키는 삭제된 상태로 유지되며 보존 기간(일)이 경과할 때까지 복구할 수 있습니다. 그런 다음 복구할 수 없는 키는 제거(영구적으로 삭제)됩니다.
az keyvault key delete --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
cmdlet을 Remove-AzKeyVaultKey 사용하여 키를 삭제합니다. 일시 삭제는 항상 켜져 있으므로 삭제된 키는 보존 기간이 만료될 때까지 복구할 수 있습니다.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
삭제된 키 나열
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택합니다.
삭제된 키 관리를 선택하여 일시 삭제된 상태에서 키를 봅니다.
명령을 az keyvault key list-deleted 사용하여 관리되는 HSM에서 삭제된 상태의 모든 키를 나열합니다.
az keyvault key list-deleted --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list-deleted --id https://<hsm-name>.managedhsm.azure.net/
Get-AzKeyVaultKey cmdlet과 -InRemovedState 매개 변수를 사용하여 삭제된 키를 나열합니다.
Get-AzKeyVaultKey -HsmName <hsm-name> -InRemovedState
삭제된 키 복구(삭제 취소)
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택한 다음 , 삭제된 키 관리를 선택합니다.
복구하려는 삭제된 키를 선택합니다.
복구를 선택합니다.
이 az keyvault key list-deleted 명령을 사용하여 관리되는 HSM에서 삭제된 상태의 모든 키를 나열합니다. 키를 복구(삭제 취소)하려면 매개 변수를 --id 사용합니다. 삭제된 키로부터 recoveryId 명령을 통해 얻은 az keyvault key list-deleted 값을 반드시 기록해야 합니다.
az keyvault key recover --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
cmdlet을 Undo-AzKeyVaultKeyRemoval 사용하여 삭제된 키를 복구합니다.
Undo-AzKeyVaultKeyRemoval -HsmName <hsm-name> -Name myrsakey
키 제거(영구 삭제)
비고
관리되는 HSM에서 제거 보호를 사용하도록 설정한 경우 제거 작업이 허용되지 않습니다. 보존 기간이 지나면 키가 자동으로 제거됩니다.
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택한 다음 , 삭제된 키 관리를 선택합니다.
제거하려는 삭제된 키를 선택합니다.
제거를 선택한 다음 확인합니다.
명령을 az keyvault key purge 사용하여 키를 제거(영구적으로 삭제)합니다.
az keyvault key purge --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Remove-AzKeyVaultKey cmdlet과 -InRemovedState 매개 변수를 사용하여 삭제된 키를 제거합니다.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -InRemovedState
단일 키 백업 만들기
키 백업은 현재 Azure 포털에서 사용할 수 없습니다. Azure CLI 또는 Azure PowerShell 사용합니다.
az keyvault key backup을 사용하여 키 백업을 만듭니다. 백업 파일은 암호화된 방식으로 원본 HSM의 보안 도메인에 연결된 암호화된 Blob입니다. 동일한 보안 도메인을 공유하는 HSM에서만 복원할 수 있습니다.
보안 도메인에 대해 자세히 알아보세요.
az keyvault key backup --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Backup-AzKeyVaultKey cmdlet을 사용하여 키 백업을 만듭니다. 백업 파일은 암호화된 방식으로 원본 HSM의 보안 도메인에 연결된 암호화된 Blob입니다.
Backup-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -OutputFile myrsakey.backup
백업에서 단일 키 복원
Azure 포털 관리형 HSM 리소스로 이동합니다.
왼쪽 메뉴의 설정에서 키를 선택합니다.
백업 생성/가져오기/복원을 선택하고 백업에서 복원 키를 선택합니다.
백업 파일을 찾아 선택한 다음 복원을 선택합니다.
az keyvault key restore를 사용하여 단일 키를 복원합니다. 백업을 만든 원본 HSM은 키를 복원하는 대상 HSM과 동일한 보안 도메인을 공유해야 합니다.
비고
이름이 같은 키가 활성 또는 삭제된 상태에 있으면 복원 작업이 실패합니다.
az keyvault key restore --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
cmdlet을 Restore-AzKeyVaultKey 사용하여 단일 키를 복원합니다. 백업을 만든 원본 HSM은 대상 HSM과 동일한 보안 도메인을 공유해야 합니다.
비고
이름이 같은 키가 활성 또는 삭제된 상태에 있으면 복원 작업이 실패합니다.
Restore-AzKeyVaultKey -HsmName <hsm-name> -InputFile myrsakey.backup
파일에서 키 가져오기
키 가져오기는 현재 Azure 포털에서 사용할 수 없습니다. Azure CLI 또는 Azure PowerShell 사용합니다.
az keyvault key import 명령을 사용하여 파일에서 키(RSA 및 EC만)를 가져옵니다. 인증서 파일에는 프라이빗 키가 있어야 하며 PEM 인코딩(RFC 1421, 1422, 1423, 1424에 정의됨)을 사용해야 합니다.
az keyvault key import --hsm-name <hsm-name> --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (<key-name>) in the URI
az keyvault key import --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name> --pem-file mycert.key --password 'mypassword'
Add-AzKeyVaultKey cmdlet과 -KeyFilePath 매개 변수를 사용하여 PEM 파일에서 키를 가져옵니다.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyFilePath ./mycert.key -KeyFilePassword (ConvertTo-SecureString -String 'mypassword' -AsPlainText -Force) -KeyType RSA-HSM
온-프레미스 HSM에서 관리형 HSM으로 키를 가져오려면 HSM 보호 키를 BYOK(관리형 HSM)로 가져오기를 참조하세요.
다음 단계