설명
Kubernetes Dashboard는 편리한 관리 UI이지만 인증, 권한과 노출 경로를 함께 관리해야 합니다. 활성화되었다고 반드시 인터넷에 공개되는 것은 아니며, 필요하지 않은 UI는 제거해 관리 경로를 줄이는 편이 좋습니다.
잠재적 영향
- 인증이나 권한 설정이 느슨하면 클러스터 정보와 관리 기능이 의도하지 않은 사용자에게 노출될 수 있습니다.
- 불필요한 관리 인터페이스는 유지·점검해야 하는 범위를 늘립니다.
해결 방법
- 실제로 사용 중인 Dashboard와 의존성을 확인하고 불필요하면 제거하세요. 필요한 관리 작업은 RBAC가 적용된 승인된 경로로 수행하세요.
- Dashboard를 유지해야 한다면 접근 경로를 제한하고 인증과 최소 권한을 적용하세요. 별도로 설치한 UI는 해당 배포 방식의 설정으로 관리하세요.
예시
과거 AKS Dashboard 애드온의 활성화 설정을 비교하는 발췌입니다. 현재 AzureRM은 이 addon_profile.kube_dashboard 블록을 지원하지 않으므로 새 구성에 추가하지 마세요.
변경 전
hcl
resource "azurerm_kubernetes_cluster" "example" {
name = "example-aks1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
dns_prefix = "exampleaks1"
addon_profile {
kube_dashboard {
enabled = true
}
}
}
변경 후
hcl
resource "azurerm_kubernetes_cluster" "example" {
name = "example-aks1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
dns_prefix = "exampleaks1"
addon_profile {
kube_dashboard {
enabled = false
}
}
}
설명:
- 변경 전: 과거 Dashboard 애드온을 활성화합니다. 실제 접근 가능 범위와 인증은 별도 설정에 달려 있습니다.
- 변경 후: 과거 애드온을 비활성화합니다. 별도로 설치한 관리 UI까지 제거하는 설정은 아닙니다.