ビュー:
プロファイル適用性: レベル1
KubernetesAPIはシークレットを保存します。これには、KubernetesAPIのサービスアカウントトークンやクラスター内のワークロードで使用される認証情報が含まれる場合があります。これらのシークレットへのアクセスは、特権昇格のリスクを減らすために、可能な限り少数のユーザに制限する必要があります。
Kubernetesクラスター内に保存されたシークレットへの不適切なアクセスは、攻撃者がKubernetesクラスターや認証情報がシークレットとして保存されている外部リソースへの追加アクセスを得ることを可能にします。
注意
注意
デフォルトでは、次のプリンシパルのリストが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アクセス権を持つユーザを確認してください。

修復

可能であれば、クラスター内のsecretオブジェクトへのgetlistwatchアクセスを削除してください。