ビュー:
プロファイル適用性: レベル1
Kubernetes APIは、Kubernetes APIのサービスアカウントトークンやクラスター内のワークロードで使用される認証情報などのシークレットを保存します。これらのシークレットへのアクセスは、特権の昇格リスクを減らすために、可能な限り少数のユーザに制限する必要があります。
Kubernetesクラスター内に保存されているシークレットへの不適切なアクセスは、攻撃者がKubernetesクラスターや認証情報がシークレットとして保存されている外部リソースへの追加アクセスを得ることを可能にします。
注意
注意
デフォルトでは、次のプリンシパルのリストがsecretオブジェクトに対するget権限を持っています:
CLUSTERROLEBINDING                                     SUBJECT
TYPE                     SA-NAMESPACE
cluster-admin                                                   system:masters
Group
system:controller:clusterrole-aggregation-controller            clusterrole-
aggregation-controller ServiceAccount kube-system
system:controller:expand-controller                             expand-controller
ServiceAccount kube-system
system:controller:generic-garbage-collector                     generic-garbage-
collector ServiceAccount kube-system
system:controller:namespace-controller                          namespace-controller
ServiceAccount kube-system
system:controller:persistent-volume-binder                      persistent-volume-
binder ServiceAccount kube-system
system:kube-controller-manager                                  system:kube-controller-
manager User

影響

システムコンポーネントの動作に必要なシークレットへのアクセスを削除しないように注意してください。

監査

Kubernetes APIのsecretsオブジェクトにgetlist、またはwatchアクセス権を持つユーザを確認してください。

修復

可能な場合は、クラスター内のsecretオブジェクトへのgetlistwatchアクセスを削除してください。