プロファイル適用性: レベル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オブジェクトに対してget、list、またはwatchアクセス権を持つユーザを確認してください。修復
可能であれば、クラスター内の
secretオブジェクトへのget、list、watchアクセスを削除してください。
