ビュー:
プロファイル適用性: レベル1
defaultサービスアカウントは使用しないでください。アプリケーションに付与された権限をより簡単に監査およびレビューできるようにするためです。
Kubernetesは、特定のサービスアカウントがポッドに割り当てられていない場合にクラスターのワークロードによって使用されるdefaultサービスアカウントを提供します。
ポッドからKubernetes APIへのアクセスが必要な場合、そのポッド用に特定のサービスアカウントを作成し、そのサービスアカウントに権限を付与する必要があります。
デフォルトのサービスアカウントは、サービスアカウントトークンを提供せず、明示的な権限の割り当てがないように構成する必要があります。
注意
注意
デフォルトでは、defaultサービスアカウントは、そのサービスアカウントトークンがそのネームスペース内のポッドにマウントされることを許可します。

影響

Kubernetes APIへのアクセスを必要とするすべてのワークロードには、明示的なサービスアカウントを作成する必要があります。

監査

クラスター内の各ネームスペースについて、デフォルトのサービスアカウントに割り当てられた権限を確認し、デフォルト以外のロールやクラスター ロールがバインドされていないことを確認してください。
さらに、各デフォルトサービスアカウントに対してautomountServiceAccountToken: false設定が適用されていることを確認してください。

修復

KubernetesのワークロードがKubernetes APIサーバへの特定のアクセスを必要とする場合は、明示的なサービスアカウントを作成してください。
各デフォルトサービスアカウントの設定を変更して、この値を含めてください:
automountServiceAccountToken: false
デフォルトアカウントの自動修復:
kubectl patch serviceaccount default -p
$'automountServiceAccountToken: false'