설명
ACR 관리자 계정은 레지스트리 전체에 대한 광범위한 권한을 갖습니다. 여러 사람이 같은 비밀번호를 사용하면 작업 주체를 구분하기 어렵고, 유출 시 이미지 공급망에 영향을 줄 수 있습니다. 필요한 통합 시나리오가 아니라면 Microsoft Entra ID와 역할 기반 권한을 우선 사용하세요.
잠재적 영향
- 관리자 자격 증명이 유출되면 이미지 읽기와 변경에 악용될 수 있습니다.
- 계정을 공유하면 사용자별 추적과 개별 권한 회수가 어려워집니다.
해결 방법
- 대체 인증과 필요한 역할을 먼저 구성한 뒤
admin_enabled = false로 관리자 계정을 비활성화하세요. 사용자나 워크로드별로 지원되는 Microsoft Entra ID 또는 관리 ID 인증을 사용하세요. - 관리자 계정이 꼭 필요한 통합은 사용 범위를 제한하고 비밀번호를 보호·회전하세요. 이미 노출된 자격 증명은 별도로 재발급하고 의존하는 작업의 연결을 시험하세요.
예시
리소스 그룹 참조를 일치시키고 현재 AzureRM의 georeplications 블록을 사용했습니다. 레지스트리 이름은 실제 사용 가능한 이름으로 바꾸세요.
변경 전
hcl
resource "azurerm_resource_group" "example" {
name = "resourceGroup1"
location = "West US"
}
resource "azurerm_container_registry" "example" {
name = "containerRegistry1"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
sku = "Premium"
admin_enabled = true
georeplications {
location = "East US"
}
georeplications {
location = "West Europe"
}
}
변경 후
hcl
resource "azurerm_resource_group" "example" {
name = "resourceGroup1"
location = "West US"
}
resource "azurerm_container_registry" "example" {
name = "containerRegistry1"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
sku = "Premium"
admin_enabled = false
georeplications {
location = "East US"
}
georeplications {
location = "West Europe"
}
}
설명:
- 변경 전: 레지스트리 관리자 계정을 활성화합니다.
- 변경 후: 관리자 계정을 비활성화합니다. 새 인증 주체와 역할을 자동으로 만드는 설정은 아닙니다.