설명
Kubernetes Dashboard는 클러스터 정보를 보여 주는 관리 UI입니다. 불필요하게 켜 두면 관리해야 할 인터페이스가 늘어납니다. 활성화만으로 인터넷 공개를 뜻하지는 않지만, 인증이나 접근 통제가 부실하면 정보와 관리 기능이 의도하지 않은 사용자에게 노출될 수 있습니다.
잠재적 영향
- 불필요한 관리 인터페이스가 접근 통제 실수의 여지를 늘릴 수 있습니다.
- 부여한 권한이 과도하면 UI를 통한 잘못된 변경의 영향도 커질 수 있습니다.
해결 방법
- 실제 사용 중인 Dashboard와 운영 의존성을 확인하고 불필요하면 제거하세요. 필요한 관리 작업은 RBAC가 적용된 승인된 경로로 수행하세요.
- 관리 UI가 필요하다면 접근 경로, 인증과 최소 권한을 적용하세요. 별도로 설치한 Dashboard는 해당 배포 방식의 설정으로 관리하세요.
예시
과거 AKS Dashboard 애드온 설정만 비교하는 발췌입니다. 현재 AKS는 이 애드온을 지원하지 않으므로 새 클러스터 구성에 추가하지 마세요.
변경 전
bicep
resource aksCluster 'Microsoft.ContainerService/managedClusters@2020-02-01' = {
name: 'aksCluster'
location: resourceGroup().location
properties: {
addonProfiles: {
kubeDashboard: {
enabled: true
}
}
dnsPrefix: 'team-aks'
}
}
과거 애드온을 활성화합니다. 실제 접근 범위는 네트워크와 인증 설정에 달려 있습니다.
변경 후
bicep
resource aksCluster 'Microsoft.ContainerService/managedClusters@2020-02-01' = {
name: 'aksCluster'
location: resourceGroup().location
properties: {
addonProfiles: {
kubeDashboard: {
enabled: false
}
}
dnsPrefix: 'team-aks'
}
}
과거 애드온을 비활성화합니다. 별도로 설치한 관리 UI까지 제거하는 설정은 아닙니다.