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