プロファイル適用性: レベル1
default
サービスアカウントは使用しないでください。アプリケーションに付与された権限をより簡単に監査およびレビューできるようにするためです。Kubernetesは、特定のサービスアカウントがポッドに割り当てられていない場合にクラスターのワークロードによって使用される
default
サービスアカウントを提供します。ポッドからKubernetes APIへのアクセスが必要な場合、そのポッド用に特定のサービスアカウントを作成し、そのサービスアカウントに権限を付与する必要があります。
デフォルトのサービスアカウントは、サービスアカウントトークンを提供せず、明示的な権限の割り当てがないように構成する必要があります。
![]() |
注意デフォルトでは、
default サービスアカウントは、そのサービスアカウントトークンがそのネームスペース内のポッドにマウントされることを許可します。 |
影響
Kubernetes APIへのアクセスを必要とするすべてのワークロードには、明示的なサービスアカウントを作成する必要があります。
監査
クラスター内の各ネームスペースについて、デフォルトのサービスアカウントに割り当てられた権限を確認し、デフォルト以外のロールやクラスター ロールがバインドされていないことを確認してください。
さらに、各デフォルトサービスアカウントに対して
automountServiceAccountToken: false
設定が適用されていることを確認してください。修復
KubernetesのワークロードがKubernetes APIサーバへの特定のアクセスを必要とする場合は、明示的なサービスアカウントを作成してください。
各デフォルトサービスアカウントの設定を変更して、この値を含めてください:
automountServiceAccountToken: false
デフォルトアカウントの自動修復:
kubectl patch serviceaccount default -p $'automountServiceAccountToken: false'