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

影響

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

監査

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

修復

可能であれば、クラスター内のシークレットオブジェクトへのアクセスを制限するために、取得、一覧表示、および監視の権限を削除してください。