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

影響

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

監査

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

修復

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