説明
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 まで削除する設定ではありません。