설명
컨테이너 레지스트리가 실수나 오남용으로 삭제되면 이미지 배포와 서비스 복구가 중단될 수 있습니다. 관리 잠금은 접근 권한과 별개로 리소스 삭제를 막는 보호 장치입니다.
CanNotDelete 잠금은 레지스트리의 관리 작업 중 삭제를 차단하지만 이미지나 태그에 대한 데이터 작업을 보호하지는 않습니다. 리소스 그룹이나 구독에서 상속되는 잠금도 함께 확인하세요.
잠재적 영향
- 필요한 이미지를 가져오지 못해 신규 배포나 복구가 지연될 수 있습니다.
- 레지스트리와 이미지를 재구성하는 데 시간과 비용이 들 수 있습니다.
해결 방법
중요한 레지스트리에 azurerm_management_lock의 CanNotDelete를 적용하거나 상위 범위의 유효한 잠금을 확인하세요. 잠금을 제거할 수 있는 권한을 제한하고 변경 절차를 마련하세요. 이미지 삭제 권한과 이미지 복구 대책은 별도로 관리하세요.
예시
동일한 레지스트리에 삭제 방지 잠금을 추가하는 예입니다.
변경 전
hcl
resource "azurerm_container_registry" "acr" {
name = "containerRegistry1"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
sku = "Standard"
admin_enabled = false
}
이 발췌에는 개별 잠금이 없습니다. 상위 범위에서 상속되는 보호가 있는지 확인하세요.
변경 후
hcl
resource "azurerm_container_registry" "acr" {
name = "containerRegistry1"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
sku = "Standard"
admin_enabled = false
}
resource "azurerm_management_lock" "acr_lock" {
name = "acr-lock"
scope = azurerm_container_registry.acr.id
lock_level = "CanNotDelete"
notes = "Protect registry from accidental deletion"
}
레지스트리 삭제를 차단하는 잠금을 추가합니다. 잠금 제거 권한이 있는 주체는 이를 해제할 수 있으므로 권한 관리도 필요합니다.