이 문서에서는 Azure Key Vault의 두 가지 복구 기능인 일시 삭제와 제거 방지에 관해 설명합니다. 이 문서에서는 이러한 기능의 개요를 제공하고 Azure Portal, Azure CLI, Azure PowerShell을 통해 해당 기능을 관리하는 방법을 설명합니다.
중요
키 자격 증명 모음에 일시 삭제 보호 기능이 사용 설정되어 있지 않은 경우 키를 삭제하면 영구적으로 삭제됩니다. 고객은 Azure Policy를 통해 보관함에 대한 일시 삭제 적용을 강력히 권장합니다.
복구 옵션 개요
Azure Key Vault는 키 자격 증명 모음 데이터의 가용성과 복구 가능성을 보장하는 여러 옵션을 제공합니다.
-
자동 중복 및 장애 조치: Key Vault는 지역 간에 데이터를 자동으로 복제하고 중단 중에 장애 조치(failover)를 처리합니다. Azure Key Vault 가용성 및 중복성 참조
-
일시 삭제 및 정리 보호 (이 문서에서 다룸): 자격 증명 모음 또는 자격 증명 모음 개체가 실수 또는 악의적으로 삭제되지 않도록 방지합니다.
-
수동 백업 및 복원: 개별 비밀, 키 및 인증서의 경우 - Azure Key Vault 백업 참조
이 문서에서는 실수로 또는 악의적인 삭제를 방지할 수 있는 일시 삭제 및 제거 보호 기능에 중점을 둡니다.
필수 조건
Azure 구독 - 체험 구독 만들기
Azure PowerShell.
Azure CLI
Key Vault - Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 만들 수 있습니다.
일시 삭제된 자격 증명 모음에 대한 작업을 수행하려면 사용자에게 구독 수준의 다음 사용 권한이 필요합니다.
사용 권한 |
설명 |
Microsoft.KeyVault/locations/deletedVaults/read |
일시 삭제된 한 Key Vault의 속성을 봅니다. |
Microsoft.KeyVault/locations/deletedVaults/purge/action |
일시 삭제된 Key Vault를 제거합니다. |
Microsoft.KeyVault/locations/operationResults/read |
자격 증명 모음의 제거 상태를 확인하려면 |
키 자격 증명 모음 기여자 |
일시 삭제된 자격 증명 모음을 복구하려면 |
일시 삭제와 제거 방지 소개
일시 삭제와 제거 방지는 두 가지 키 자격 증명 모음 복구 기능입니다.
소프트 삭제는 키 보관소와 키 보관소 내에 저장된 키, 비밀 및 인증서가 실수로 삭제되지 않도록 방지하기 위해 설계되었습니다. 일시 삭제는 휴지통과 유사합니다. 키 자격 증명 모음 또는 키 자격 증명 모음 개체를 삭제하면 사용자가 구성할 수 있는 보존 기간 또는 기본값인 90일 동안 복구할 수 있습니다. 일시 삭제 상태의 키 자격 증명 모음을 제거(영구 삭제)하여 같은 이름의 키 자격 증명 모음과 키 자격 증명 모음 개체를 다시 만들 수도 있습니다. 키 볼트와 개체를 모두 복구 및 삭제하려면 상승된 액세스 정책 권한이 필요합니다. 일시 삭제를 사용하도록 설정한 후에는 사용하지 않도록 설정할 수 없습니다.
키 자격 증명 모음 이름은 전역적으로 고유하므로 일시 삭제된 상태의 키 자격 증명 모음과 동일한 이름으로 키 자격 증명 모음을 만들 수 없습니다. 마찬가지로 키, 비밀, 인증서의 이름은 키 자격 증명 모음 내에서 고유합니다. 소프트 삭제 상태에 있는 항목과 동일한 이름으로 비밀, 키 또는 인증서를 만들 수 없습니다.
제거 방지는 악의적인 내부자가 키 자격 증명 모음, 키, 비밀, 인증서를 삭제하지 못하도록 하기 위해 설계되었습니다. 시간 기반 잠금이 있는 휴지통으로 간주합니다. 구성 가능한 보존 기간 동안 언제든지 항목을 복구할 수 있습니다. 보존 기간이 끝날 때까지 키 보관소를 영구적으로 삭제하거나 제거할 수 없습니다. 보존 기간이 경과하면 키 볼트 또는 키 볼트 개체가 자동으로 삭제됩니다.
참고
제거 방지는 관리자의 어떤 역할이나 권한도 제거 방지를 재정의하거나 비활성화하거나 우회할 수 없도록 설계되었습니다. 제거 보호를 사용하는 경우 Microsoft를 비롯한 모든 사용자가 사용하지 않도록 설정하거나 재정의할 수 없습니다. 즉, 삭제된 키 자격 증명 모음을 복구하거나 보존 기간이 경과될 때까지 기다린 이후에야 키 자격 증명 모음 이름을 다시 사용할 수 있습니다.
이러한 기능은 프로덕션 환경에 매우 권장됩니다.
일시 삭제에 대한 자세한 내용은 Azure Key Vault 일시 삭제 개요를 참조하세요.
키 자격 증명 모음에서 일시 삭제가 사용하도록 설정되어 있는지 확인하고 일시 삭제를 사용하도록 설정
- Azure Portal에 로그인합니다.
- 키 자격 증명 모음을 선택합니다.
- "속성" 블레이드를 선택합니다.
- 일시 삭제 옆의 라디오 단추가 “복구 사용”으로 설정되어 있는지 확인합니다.
- 키 자격 증명 모음에서 일시 삭제를 사용하도록 설정하지 않은 경우 라디오 단추를 선택하여 일시 삭제를 사용하도록 설정하고 “저장”을 선택합니다.
속성에서 일시 삭제가 강조 표시되고, 이를 사용하도록 설정하기 위한 값도 강조 표시되어 있음
서비스 주체에 삭제된 비밀을 제거하고 복구하는 액세스 권한 부여
- Azure Portal에 로그인합니다.
- 키 자격 증명 모음을 선택합니다.
- "액세스 정책" 블레이드를 선택합니다.
- 테이블에서 액세스 권한을 부여하려는 보안 주체의 행을 찾거나 새 보안 주체를 추가합니다.
- 키, 인증서 및 비밀에 대한 드롭다운을 선택합니다.
- 드롭다운의 아래쪽으로 스크롤하여 "복구" 및 "제거"를 선택합니다.
- 또한 보안 주체는 대부분의 작업을 수행하려면 "get" 및 "list" 기능이 필요합니다.
왼쪽 탐색 창에서 액세스 정책이 강조 표시됩니다. 액세스 정책에서 비밀 위치 드롭다운 목록이 표시되며, 네 가지 항목이 선택되어 있습니다: Get, List, Recover, 그리고 Purge.
일시 삭제된 키 자격 증명 모음 나열, 복구, 제거
- Azure Portal에 로그인합니다.
- 페이지 맨 위에 있는 검색 창을 선택합니다.
- "Key Vault" 서비스를 검색합니다. 키 저장소를 개별적으로 선택하지 마세요.
- 화면 맨 위에서 "삭제된 보관함 관리" 옵션을 선택합니다.
- 화면 오른쪽에 컨텍스트 창이 열립니다.
- 구독을 선택합니다.
- 키 자격 증명 모음이 일시 삭제된 경우 오른쪽의 컨텍스트 창에 표시됩니다.
- 볼트가 너무 많은 경우, 컨텍스트 창 하단에서 "더 보기"를 선택하거나 CLI 및 PowerShell을 사용하여 결과를 얻을 수 있습니다.
- 복구하거나 삭제하려는 보관소를 찾으면 옆의 확인란을 선택합니다.
- 키 보관소를 복구하려는 경우 컨텍스트 창 맨 아래에 있는 복구 옵션을 선택합니다.
- 키 자격 증명 저장소를 영구적으로 삭제하려면 삭제 옵션을 선택합니다.
Key Vault에서 삭제된 자격 증명 모음 관리 옵션이 강조 표시되어 있습니다.
삭제된 Key Vault 관리에서 나열된 Key Vault만 강조 표시 및 선택되어 있고 복구 단추가 강조 표시되어 있습니다.
일시 삭제된 비밀, 키, 인증서 나열, 복구, 제거
- Azure Portal에 로그인합니다.
- 키 자격 증명 모음을 선택합니다.
- 관리하려는 비밀 유형(키, 비밀, 인증서)에 해당하는 블레이드를 선택합니다.
- 화면 위쪽에서 “삭제된 키, 비밀, 인증서 관리”를 선택합니다.
- 화면 오른쪽에 컨텍스트 창이 나타납니다.
- 비밀, 키, 인증서가 목록에 표시되지 않는 경우 일시 삭제된 상태가 아닙니다.
- 관리하려는 비밀, 키, 인증서를 선택합니다.
- 컨텍스트 창의 맨 아래에서 복구 또는 제거 옵션을 선택합니다.
키에서 '삭제된 키 관리' 옵션이 강조 표시되어 있습니다.
키 자격 증명 모음(CLI)
키 자격 증명 모음에서 일시 삭제가 사용하도록 설정되어 있는지 확인
az keyvault show --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}
키 자격 증명 모음에서 일시 삭제를 사용하도록 설정
모든 새 키 자격 증명 모음에서 일시 삭제가 기본적으로 사용하도록 설정됩니다. 현재 일시 삭제가 사용하도록 설정되지 않는 키 자격 증명 모음을 사용하는 경우 다음 명령을 사용하여 일시 삭제를 사용하도록 설정합니다.
az keyvault update --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --enable-soft-delete true
키 자격 증명 모음 삭제(일시 삭제를 사용하도록 설정한 경우 복구 가능)
az keyvault delete --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}
일시 삭제된 키 자격 증명 모음 모두 나열
az keyvault list-deleted --subscription {SUBSCRIPTION ID} --resource-type vault
일시 삭제된 키 자격 증명 모음 복구
az keyvault recover --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
일시 삭제된 키 자격 증명 모음 제거(경고! 이 작업을 수행하면 키 자격 증명 모음이 영구적으로 삭제됩니다)
az keyvault purge --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
키 자격 증명 모음에서 제거 방지를 사용하도록 설정
az keyvault update --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --enable-purge-protection true
인증서(CLI)
인증서를 제거하고 복구할 수 있는 액세스 권한 부여
az keyvault set-policy --upn user@contoso.com --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --certificate-permissions recover purge
인증서 삭제
az keyvault certificate delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
삭제된 인증서 나열
az keyvault certificate list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
삭제된 인증서 복구
az keyvault certificate recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
일시 삭제된 인증서 제거(경고! 이 작업을 수행하면 인증서가 영구적으로 삭제됩니다)
az keyvault certificate purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
키(CLI)
키를 제거하고 복구할 수 있는 액세스 권한 부여
az keyvault set-policy --upn user@contoso.com --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --key-permissions recover purge
키 삭제
az keyvault key delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
삭제된 키 나열
az keyvault key list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
삭제된 키 복구
az keyvault key recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
일시 삭제된 키 제거(경고! 이 작업을 수행하면 키가 영구적으로 삭제됩니다)
az keyvault key purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
비밀(CLI)
비밀을 제거하고 복구할 수 있는 액세스 권한 부여
az keyvault set-policy --upn user@contoso.com --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --secret-permissions recover purge
비밀 삭제
az keyvault secret delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
삭제된 비밀 나열
az keyvault secret list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
삭제된 비밀 복구
az keyvault secret recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
일시 삭제된 비밀 제거(경고! 이 작업을 수행하면 비밀이 영구적으로 삭제됩니다.
az keyvault secret purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
키 보관소(PowerShell)
키 자격 증명 모음에서 일시 삭제가 사용하도록 설정되어 있는지 확인
Get-AzKeyVault -VaultName "ContosoVault"
키 볼트 삭제
Remove-AzKeyVault -VaultName 'ContosoVault'
일시 삭제된 키 자격 증명 모음 모두 나열
Get-AzKeyVault -InRemovedState
일시 삭제된 키 자격 증명 모음 복구
Undo-AzKeyVaultRemoval -VaultName ContosoVault -ResourceGroupName ContosoRG -Location westus
삭제된 키 볼트 제거(경고! 이 작업을 수행하면 키 볼트가 영구적으로 삭제됩니다)
Remove-AzKeyVault -VaultName ContosoVault -InRemovedState -Location westus
키 자격 증명 모음에서 제거 방지를 사용하도록 설정
Update-AzKeyVault -VaultName ContosoVault -ResourceGroupName ContosoRG -EnablePurgeProtection
인증서(PowerShell)
인증서를 복구하고 제거할 수 있는 권한 부여
Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName user@contoso.com -PermissionsToCertificates recover,purge
인증서 삭제
Remove-AzKeyVaultCertificate -VaultName ContosoVault -Name 'MyCert'
키 자격 증명 모음의 삭제된 인증서 모두 표시
Get-AzKeyVaultCertificate -VaultName ContosoVault -InRemovedState
삭제된 상태의 인증서 복구
Undo-AzKeyVaultCertificateRemoval -VaultName ContosoVault -Name 'MyCert'
일시 삭제된 인증서 제거(경고! 이 작업을 수행하면 인증서가 영구적으로 삭제됩니다)
Remove-AzKeyVaultcertificate -VaultName ContosoVault -Name 'MyCert' -InRemovedState
키(PowerShell)
키를 복구하고 제거할 수 있는 권한 부여
Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName user@contoso.com -PermissionsToKeys recover,purge
키 삭제
Remove-AzKeyVaultKey -VaultName ContosoVault -Name 'MyKey'
키 자격 증명 모음에서 삭제된 모든 키 나열
Get-AzKeyVaultKey -VaultName ContosoVault -InRemovedState
일시 삭제된 키 복구
Undo-AzKeyVaultKeyRemoval -VaultName ContosoVault -Name ContosoFirstKey
일시 삭제된 키 제거(경고! 이 작업을 수행하면 키가 영구적으로 삭제됩니다)
Remove-AzKeyVaultKey -VaultName ContosoVault -Name ContosoFirstKey -InRemovedState
비밀(PowerShell)
비밀을 복구하고 제거할 수 있는 권한 부여
Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName user@contoso.com -PermissionsToSecrets recover,purge
SQLPassword라는 비밀 삭제
Remove-AzKeyVaultSecret -VaultName ContosoVault -Name SQLPassword
키 보관소에서 삭제된 비밀을 모두 목록화하십시오
Get-AzKeyVaultSecret -VaultName ContosoVault -InRemovedState
삭제된 상태의 비밀 복구
Undo-AzKeyVaultSecretRemoval -VaultName ContosoVault -Name SQLPassword
삭제된 상태의 비밀 제거(경고! 이 작업을 수행하면 키가 영구적으로 삭제됩니다)
Remove-AzKeyVaultSecret -VaultName ContosoVault -Name SQLPassword -InRemovedState
다음 단계